Sunday 12 November 2017

Databas design lager handel system


Gå igenom - Skapa en MS Access Stock Control Database Om du vill försöka skapa din egen lagerkontrolldatabas läser du vidare. I den här artikeln kan du vägleda dig genom några stegvisa instruktioner för att skapa din egen lagerhanteringsdatabas eller lagerstyrningssystem i MS Access. Vi har också tagit med några tips och tips baserat på vår många års erfarenhet av att skapa Access-databaser för verkliga företag. För att ladda ner databasen, gör det bra i den här handledningen gratis, klicka på länken ovan. Du kan också följa denna handledning med hjälp av vår YouTube-video som förklarar varje steg och ger demonstrationer som hjälper dig att göra det själv klicka på länken ovan för att öppna videon i ett nytt flikvindu. Innan du börjar Börja med att notera att för att följa detta genomgång eller köra den fria färdiga databasen som länkats ovan måste du ha en fullständig version av Microsoft Access installerad på din dator. Planera Det kanske låter uppenbart, men en av de viktigaste punkterna när du skapar din aktiekontrolldatabas bestämmer exakt vad du behöver göra och vad det är för. Att få designen rätt är mycket lättare när du förstår syftet med databasen. En väldesignad databas blir enklare att underhålla, och senare anpassas om dina krav ändras. Till exempel måste den enkla databasen vi skapar kunna: Logga beställningar från kunder Spåra lagernivåer Varna när delar måste beställas Tänk på detaljer om hur din verksamhet fungerar. Beställs varje kund en typ av objekt i taget eller beställer dina kunder en rad delar eller föremål från alla samtidigt? Har du bara en leverantör för varje del du lager? Beställer du en rad olika artiklar från varje leverantör eller tillhandahåller varje leverantör bara en typ av föremål. Ditt design kommer också att vara annorlunda om du lager varor för tillverkning snarare än att sälja på. Håll svaren på dessa frågor i åtanke när vi går in i nästa steg. Definiera tabellerna krävs Information i en databas hålls i tabeller. Vid denna punkt borde du ha en uppfattning om den information som databasen behöver hålla för att uppnå dina mål. Du måste kategorisera denna information i en uppsättning tabeller. För att börja med behöver du inte ens göra det i Access, gör bara en lista för hand eller i ett annat program. Tabellerna i vår exempeldatabas är: Delar. Kunder. Order. PartTypes. PurchasingOrders och leverantörer. För att hålla sakerna enkla, antar vi att varje kund beställer bara en del i taget, och att vi beställer bara en del från en leverantör åt gången. Det kan givetvis inte vara så att dina kunder kan beställa ett helt urval av varor tillsammans, och du kommer förmodligen att köpa en rad objekt på en gång. I det här fallet behöver you8217ll ett bord som innehåller alla delar kopplade till varje beställning, förmodligen kallad Order Items. We8217ve gjorde ett liknande antagande om kunder, förutsatt att de är alla enskilda personer eller små företag för stora företagskunder med flera adresser eller telefonnummer att lagra, skulle du kanske behöva en mer avancerad uppsättning tabeller för att hålla all information konsekvent. Men allt detta är ett mer avancerat ämne verkligen, så we8217ll visar bara dig det enkla sättet att nu använda tabeller med mer grundläggande mål. Ställ in fält inom tabellerna Inom en tabell hålls informationen i 8220fields8221. I grund och botten är ett fält den specifika informationen om det som tabellen är ansvarig för. Typiska fält i delnings tabellen kan till exempel vara PartNumber, PartDescription, Supplier och StockLevel. Om du bildar ett bord som ett tabulärt rutnät, skulle fälten vara kolumnrubrikerna, med varje rad som representerar en post i tabellen eller spela in. Alla tabeller ska ha ett unikt identifieringsfält som heter den primära nyckeln som inte kan vara densamma för två poster eller någonsin vara tomma. Så i vårt delbord är PartNumber unik för varje del och varje del har en så vi kan bara använda det. Men för andra tabeller där detta inte kan vara fallet kan vi uppfinna ID-nummer eller koder för intern användning i systemet för att säkerställa att det unikt kan identifiera någon post i någon tabell. I Access finns det något som heter ett autonummerfält som du kan använda som primärtangent om det inte finns något annat uppenbart val eller val, vilket bara tilldelar ett nytt sekventiellt nummer till varje post i tabellen. För varje fält i tabellen måste du välja en datatyp för att visa vilken typ av data den ska hålla, t. ex. Nummer, Text, DateTime eller Valuta. Inom varje typ kan du ytterligare specificera dataens exakta natur, till exempel antalet tecken för en text. Du kanske redan använder delnummer inom ditt företag, och formatet du använder kommer sannolikt att hjälpa dig att bestämma datatypen för fältets delnummer. Dina delnummer kan vara något som ACBD2222, i så fall kan du välja att använda en textstring med 8 tecken. Nu kommer vi att föreställa oss att vår verksamhet handlar om ett stort antal olika delar som vi klassificerar i olika typer. Vi har ett bord som heter PartTypes, som listar de olika typerna av Delar. Vi vill göra vårt Delatabell har ett fält som kan länka till deltyperna så att varje del kan tilldelas en typ. Fältet i delningstabellen behöver samma som det primära nyckelfältet (den sak som identifierar posten till systemet) i tabellen PartTypes, som vi8217ve gjorde en 1 teckenkod. Delningstabellen skulle också relateras på samma sätt som tabellen Leverantörer, så att du kan ta reda på vem som levererar en viss del. Tänk på hur du ska använda fälten och se till att du definierar dem på det mest logiska sättet för dina ändamål. Det kan till exempel vara meningsfullt att lagra people8217s namn som förnamn och efternamn separat istället för som ett fält så att du enkelt kan sortera och lista namn i alfabetisk ordning (av efternamn). Ett tips som vi tycker är användbart är att hålla postadresser som ett fält istället för att dela dem i enskilda delar av adressen, t. ex. Adressrad 1, Adressrad 2, Ort, län och postnummer. Detta gör det mycket lättare att införliva adresser i formulär och rapporter, och det underlättar datainmatning eftersom Access lyckligtvis lagrar de flera raderna i ett fält. Medan du tänker på vilka områden du behöver, bör du se till att alla har unika namn, om inte två fält innehåller samma information. Endast i det här fallet bör du ge dem samma namn, som med PartTypeCode tidigare. Något att komma ihåg med dina namn är att om du vill gå vidare till att använda SQL-frågor eller VBA-kod (Visual Basic for Applications) med din databas, kommer du att hitta livet enklare om du inte har några mellanslag i tabellnamnen eller fältnamnen. Så därför har vi skrivit PartTypes som ett ord, snarare än att ha utrymmet. Ett annat tips att komma ihåg är att det är dåligt att ge ett fält ett namn som redan används bakom kulisserna genom Access för något annat. Dessa så kallade 8216Reserved Words8217 innehåller saker som 8216name8217, 8216date8217, 8216level8217 och 8216money8217, bland många andra. Du kan slå upp en fullständig lista över Access8217s reserverade ord online för att se till att ingen av dina fält använder en. Detta kan bidra till att förhindra förvirring i databasmotorn mellan fördefinierade ord och ditt fältnamn, vilket om det finns några obekanta alternativ ibland kan orsaka allvarliga fel. Skapa dina tabeller i Access Skapa en deltabell och definiera dess fält: I MS Access 201320102007 klickar du på Skapa fliken på bandet och sedan på tabelldesign. Detta öppnar ett nytt bord i designvyn. Varje rad i designvyn representerar ett fält i tabellen. (I Access 2003 klickar du på tabeller i listan med objekt och klickar sedan på knappen Ny som öppnar en dialogruta som heter New Table. Välj slutligen Design View och klicka på OK.) Klicka i första kolumnen, översta raden. Ange namnet på det första fältet (PartNo) Använd Tab-knappen för att gå till nästa kolumn där vi definierar datatypen. Klicka på rullgardinsmenyn och välj Text. Använd Tab-knappen för att gå till nästa kolumn och ange en beskrivning för det nya fältet. Eftersom det här är den primära nyckeln för tabellen, klickar du på den primära nyckeln på verktygsfältet. På fliken Allmänt längst ner i fönstret klickar du på fältstorlek och anger 10 för att definiera en textsträng med 10 tecken. På fliken Allmänt klickar du på raden Caption och skriver in etiketten du vill ha för detta fält på skärmen (t ex delnummer). Klicka i den andra raden för att definiera nästa fält i tabellen. Och så vidare. När du har lagt till fält i tabellen stänger du den genom att klicka på X i det högra högra hörnet. Tillgång kommer att be dig att namnge tabellen. Ange 8220Parts8221. Delningstabellen i vår exemplar lagerstyrningsdatabas innehåller följande fält: Tips. Det är ofta användbart att inkludera ett Notes-fält för annan information som du kanske vill lägga till senare. Skärmbilderna ovan visar deltabellen från vår lagerstyrdatabas i designvy. Med hjälp av Design View kan du definiera alla fält i din tabell, ange deras datatyper, beskriva dem och definiera deras format. Tips 8211 Fyll i beskrivningen av fältet. När du använder formulärguiden för att skapa formulär för dig senare kommer den här beskrivningen att visas i statusfältet för att hjälpa användare. Tips 8211 Om ditt fält har ett förkortat namn eller inte har några mellanslag i det, använd namnet Område för att skriva sitt namn på vanlig engelska. Denna bildtext kommer sedan att visas på formulär som produceras av formulärguiden. Till exempel om ditt fält kallas POQty anger du Kvantitet i bildtexten. Kunderna tabellen är följande: 8-tecken textsträng Unik 8-teckenreferens för den här kunden baserat på första 4 bokstäver med efternamn (t ex SMIT0001). Detta gör det enkelt att hitta enskilda kunder. Detta fält är den primära nyckeln. Kundernas tabell ovan är utformad för ett företag vars kunder övervägande är individer som antagits tidigare. När dina kunder är främst större företag, och du kanske har flera kontakter i varje företag, eller varje företag kan ha flera webbplatser, behöver du en mer komplex lösning. När du har hängt på det, gå igenom resten av dina planerade tabeller som ställer in dem också. You8217ll se dina nya tabeller som visas i objektets webbläsare till vänster när du gör dem (tryck på F11 för att få upp den här webbläsaren om du inte kan se den). Förhållandeförhållanden upprättas i databasen, för att visa hur ett bord relaterar till ett annat. Ett till många förhållande är den vanligaste typen av relation. I det här förhållandet kan en post i ett bord ha mer än en matchande post i ett andra bord, men varje post i den andra tabellen kan bara ha en matchande post i den första tabellen. Till exempel kan varje del bara ha en deltyp, men för varje deltyp finns det troligen många delar av den typen. Om varje del bara har en leverantör som i vårt exempel är det här en annan enkel och jämn relation. Om varje del kan levereras av flera olika leverantörer, behöver du en annan design. I vår exempeldatabas krävs följande förhållanden mellan tabeller. Leverantörer - Delar, för att specificera leverantören av varje del. Delar - Köporder, som visar den beställda delen i en beställningsorder. Delar - Beställningar, som visar den beställda delen av en kund. Kunder - Beställningar, som visar kunden för varje beställning. PartTypes - Parts, klassificera varje del i en viss deltyp. Som exempel visar vi8217ll hur du konfigurerar förhållandet mellan tabellerna Delar och Deltyper. Innan du börjar göra relationer är det en bra idé att skriva några exempelinformation i dina tabeller som innehåller poster som är så länge du tror att du alltid ska använda. Detta hjälper lite med vissa inställningar you8217ll behöver justera senare. Ställ in fältet PartTypeCode i tabellen Deltyper som en textsträng med en tecken som definierar deltypen. Gör det här fältet till den primära nyckeln Öppna tabellen Delar i designvy. Lägg till ett fält PartTypeCode i deltabellen. Se till att det också är en textsträng med enstaka tecken. Klicka nu i kolumnen Datatyp i fältet Deltyp för att visa en nedåtpil. Klicka här för att visa en rullgardinsmeny och välj Sökguiden. Välj 8220 Jag vill att uppslagskolumnen ska leta upp värdena i en tabell eller fråga8221. Klicka på Nästa. Från listan med tabeller som visas, välj tabellen PartTypes. Klicka på Nästa. Klicka på de fält du vill ha med i kolumnen Kolla upp. I det här fallet väljer vi båda fälten. Klicka på Nästa. En sorteringsordning kan väljas om det behövs. Välj Beskrivning. Klicka på Nästa. I nästa steg kan du definiera bredden på kolumnerna i din kolumn för uppslag och för att ange om du vill att nyckelkolumnen (kolumnen som innehåller den primära fältnyckeln) ska visas. Som standard visas inte nyckelkolumnen, och i vårt fall vill vi bara se beskrivningen, så lämna kryssrutan i rutan. Ange nu bredden på din uppslagskolumn genom att dra kanten till önskad position. Om du redan har angett några data i tabellen PartTypes visas detta för att hjälpa dig att justera kolumnen till bredden av det troliga innehållet. Klicka på Nästa. Markera nu etiketten för din uppslagskolumn. Den föreslagna etiketten är vanligtvis korrekt. Klicka på Slutför för att slutföra guiden Uppslag. Du kommer att bli ombedd om du vill spara bordet så att relationer kan skapas. Klicka på Ja. För att slutföra förhållandet, välj Verktyg, Förhållanden eller klicka på Relationer på verktygsfältet för att visa fönstret för relationer. Du kommer att se delnings tabellen och tabellen Deltyp med en linje som länkar fältet PartType i Delar med PartTypeCode-fältet i DelTypes. Höger mus över denna linje och välj Redigera förhållande (eller dubbelklicka på raden). Markera rutan Enforce Referential Integrity. Du bör alltid kryssa detta eftersom förhållandet har lite värde. Om du till exempel har definierat tre olika deltyper i tabellen Deltyper: E 8211 Electronics, S 8211 Software, H 8211 Hårdvara och kryssrutan Enforce Referential Integrity-rutan ser till att du inte kommer att kunna definiera en ny del som någon del skriv annat än dessa. Om du försöker ta bort en deltyp från tabellen PartTypes, då delar i tabellen Delar har denna deltyp, kommer databasen att varna dig. Markera rutan Cascade Update Related Fields. Det betyder att du kan ändra primärnyckeln i den primära tabellen (t ex tabellen DelTyp) och uppdateras automatiskt i det relaterade tabellen (Delar). Den tredje rutan är Cascade Delete Related Fields. Om du markerar det här betyder att om du raderar en post t. ex. Programvara, från den primära tabellen (t. ex. PartTypes), kommer alla poster i det relaterade tabellen (Delar) med den deltypen att raderas också. Normalt vill du inte att detta ska hända 8211 om du hade delar av typen Programvara i tabellen Delar så skulle du inte vilja ta bort den deltypen, så lämna rutan otickad. Det kommer troligen att finnas exempel i din databas där du vill kryssa rutan Cascade Delete Related Records. Det gäller normalt när ett bord utgör ytterligare information för en annan 8211, till exempel om du hade beställningar och OrderItems tabeller (listar flera objekt på en order), så vill du radera alla OrderItems om du raderar hela Order. Så nu har du sett hur du skapar ett förhållande, du borde nu gå igenom tabellerna och upprätta de relationer du hade planerat i din design. När you8217ve gjort dem alla kan vi gå vidare till den sista delen av vår databas. Skapa en orderfråga Generellt används frågor för att extrahera data och information från din databas. I vårt exempel vill vi veta om vi har mindre än minsta lagernivå för delar, så att vi vet när du behöver beställa mer. Du kan dock extrahera all sorts annan information med frågor. Du kanske vill veta alla delar som levereras av en viss leverantör, eller hur ofta en viss kund beställde förra året. Ofta kommer du att extrahera informationen med en fråga och sedan använda en åtkomstrapport för att presentera data på ett tydligt sätt, men här gör vi bara förfrågan. Så nu let8217s går igenom hur man ställer in en fråga för att visa vilka delar som ligger under deras minsta lagernivå och berätta för leverantörerna från vilka de ska ombeställas. För att ställa in en fråga för att visa vilka delar som ligger under deras lägsta lagernivå och de leverantörer från vilka de ska beställas: Klicka på Query Design (Access 201320102007) på fliken Skapa. Eller klicka på Ny i Query, välj sedan Design View och klicka på OK (Access 2003). Välj Delar i rutan Visa tabell. Klicka på Lägg till. Välj leverantörer. Klicka på Lägg till. Klicka på Stäng. Query Design-rutnätet visas nu med de valda tabellerna ovan. Fält som ska ingå i frågan läggs till genom att dra dem från tabellen till rutnätet, eller dubbelklicka på dem. Fälten vi behöver är PartNo och StockLevel från tabellen Delar och Leverantörnamn och Adress från tabellen Leverantörer, välj så dessa. Vi vill bara visa delar vars lagernivå är mindre än minsta lagernivå för den här delen. Detta görs genom att ange ett kriterium för detta fält. Ange lt MinStockLevel i kriterieraden i fältet Lagernivå (kolumn). Klicka på X i det övre högra hörnet av fönstret för att stänga frågan. Adgang kommer att fråga dig om du vill spara ändringar i frågan och frågar efter ett namn på frågan (t. ex. LowStockLevels). Dubbelklicka på den fråga du just skapat för att visa delarna med låga lagernivåer. Frågan ska vara synlig i objektbläsaren till vänster. Dubbelklicka på frågan om du vill visa delarna med låga lagernivåer när du har några arbetsdata i systemet. En sak till frågan: Linjerna mellan tabellerna i frågedatasatsen heter Joins. Sammanhang skapas automatiskt mellan tabeller när det finns fält som redan har ett förhållande mellan dem eller mellan en primär nyckel och ett annat fält med samma namn. Vanligtvis vill du ha en anslutning här, men det kommer att finnas fall där du don8217t vill gå med i dessa fält av olika skäl, så kom ihåg att du kanske behöver kolla alla samlingar när de är skapade. Gå med i Egenskaper i frågor är mycket viktiga när din fråga använder mer än en tabell. Om frågan inte verkar ge dig de resultat du förväntar dig, kolla dessa genom att högerklicka på linjen som går med i de två tabellerna i Designvy. Här kan du välja om du bara vill se delar som har en leverantör eller alla delar med lågt lager oavsett om de har en leverantör (genom att plocka 8220Include alla poster från 8216Parts8217 och bara de poster från 8216Suppliers8217 där de sammanfogade fälten är lika. 8221). Du kanske vill använda det här alternativet i det här exemplet. Det tredje alternativet är omvänden av detta, så visa alla leverantörer även om de inte levererar några låga beståndsdelar, vilket i det här fallet skulle göra någon mening, så ignorera bara den. Så nu har vi slutfört databasen enligt vår design. Vi kan ange alla data vi behöver och det kommer att berätta för oss när vi ska ombeställa produkter. Naturligtvis är de potentiella användningarna av en databas många, så nu ska vi kortfattat diskutera några sätt du kanske vill expandera på den här databasen för att göra den mer användbar och användarvänlig. Blanketter i MS Access I MS Access använder du formulär för att visa, skriva in och redigera data och för att styra databasen. När du har skapat alla tabeller och relationer i din databas, är formguiden mycket användbar när du ställer in formulär baserat på dina tabeller, för datainmatning, visning och redigering. Du kan sedan göra ändringar i formuläret som produceras av formulärguiden, lägga till och redigera funktioner efter behov. Blanketter i MS Access kan också användas för att visa knappar och länkar för att ge tillgång till alla andra former och rapporter. Vi skapar alltid en form av denna typ och kallar den på frontskärmen. Att skapa en klar toppnivå form som detta gör det enkelt för människor att använda systemet utan databaskunskaper. Rapporter i MS Access MS Access-rapporter gör att du kan visa information till användaren på ett bekvämt sätt som kan visas på skärmen och sedan skrivas ut om det behövs. Normalt kommer informationen för rapporten från en fråga. Rapportguiden hjälper till att skapa enkla rapporter. Mer detaljerade rapporter ligger utanför ramen för denna artikel. Säkerhet Du kanske vill se till att ingen som är betrodd isn8217t kan manipulera med dina data. Det enklaste sättet att skydda databasen är att ställa in ett lösenord. För att ställa in eller ändra lösenordet måste databasen öppnas för exklusiv användning. För att göra detta, öppna MS Access, använd File, Open för att välja databasen. Klicka på rutan Öppna till höger om knappen Öppna och välj Öppna Exklusiv. Välj Verktyg, Säkerhet, Ange databaslösenord (Access 2003). Eller välj fliken Databasverktyg i bandet och klicka på Set Database Password (Access 2007). Eller gå till Arkiv-menyn, välj undermenyn Info och klicka på Set Database Password (Access 20102013) Ange lösenordet du behöver, och skriv in igen för att verifiera. Lösenordet är nu inställt. När du skapar en stor aktiekontrolldatabas eller en som innehåller känslig information kan du behöva mer komplex säkerhet. Du kan till exempel begränsa åtkomsten till vissa uppgifter i databasen, eller kanske du vill låta vissa användare visa informationen i databasen, men inte ändra den. MS Access kan du definiera typer av användare och tillämpa säkerhetsnivåer, så att du kan ange vilka åtgärder som är tillgängliga för varje typ av användare. Detta ligger utanför ramen för den här artikeln, men det kallas användarsäkerhet om du vill undersöka det mer. Med Automation Access kan du skriva anpassad kod i sitt Visual Basic for Applications-språk, som kallas VBA. Du kan ställa in en del kod som ska köras när du utför vissa åtgärder eller bara på kommandot. Detta gör att du kan automatisera många processer. Du kanske till exempel vill att ditt system justerar dina inspelade lagernivåer automatiskt när en leverans tas emot, eller kanske du vill att fältet Kundreferens automatiskt ska byggas från kundens efternamn. Använda VBA för att automatisera funktioner kan göra en databas kraftfullare och lättare att använda, men det kräver programmeringskunskap, så it8217s är ett mer avancerat steg för att ta in din database8217s utveckling. Så det är allt för denna handledning artikel. Om du bestämmer dig för att bygga din egen lagerbeståndsdatabas inte är för dig, så är vi på Software-Matters gärna att erbjuda råd om alternativ via vårt gratis första samråd. Kontakta oss på 01747 822616 eller fyll i en förfrågningsblankett här och vi kommer tillbaka till dig. Tack för att läsa Jag har nyligen fått uppdraget att modellera en databas som passar för att lagra aktiekurser för över 140 företag. Uppgifterna samlas varje 15 min i 8,5 h varje dag från alla dessa företag. Problemet jag står inför just nu är hur man konfigurerar databasen för att uppnå snabb sökning med tanke på denna data. En lösning skulle vara att lagra allt i ett bord med följande kolumner: Eller jag kunde skapa ett bord för varje företag och bara lagra priset och datumet för när uppgifterna samlades in (och andra parametrar som inte är kända atm). Vad är din tanke om sådana lösningar Jag hoppas att problemet förklarades i tillräcklig detalj, annars snälla låt mig veta. Vilken annan lösning som helst skulle vara mycket uppskattad. Jag tar det med dig, oroat över prestanda med tanke på det stora antalet poster som du sannolikt kommer att generera - 140 företag 4 datapunkter timme 8,5 timmar 250 handelsdagar år innebär att du tittar på cirka 1,2 miljoner datapunkter per år. Moderna relationsdatabasystem kan enkelt hantera det antal poster - med vissa viktiga överväganden - i ett enda bord - jag ser inte ett problem med att lagra 100 års datapunkter. Så ja, din första design är förmodligen bäst: Företagsnamn Pris Datum etc. Skapa index på Företagets namn och datum som låter dig svara på frågor som: vad var det högsta aktiekursen för företaget x vad var aktiekursen för företaget x på datum y på datum y, vad var det högsta aktiekursen För att förhindra prestanda problem, Id bygga en testdatabas och fyll i den med provdata (verktyg som dbMonster gör det enkelt) och bygga sedan frågorna på dig (tror du ) kommer att springa mot det verkliga systemet, använd stämningsverktygen för ditt databassystem för att optimera dessa frågor och eller index. svarat mar 23 13 på 15:08 Sätt dem i ett enda bord. Moderna DB-motorer kan enkelt hantera de angivna volymerna. rowid StockCode priceTimeInUTC PriceCode AskPrice BidPrice Volym rowid: Identity UniqueIdentifier. StockCode istället för Company. Företag har flera typer av strumpor. PriceTimeInUTC är att standardisera vilken datetime som helst i en viss tidszon. Även datetime2 (mer exakt). PriceCode används för att identifiera vad av priset det är: OptionsFuturesCommonStock, PreferredStock, etc. AskPrice är köpeskillingen BidPrice är försäljningspriset. Volym (för buysell) kan vara användbart för dig. Separat, ha ett StockCode-bord och ett PriceCode-bord. svarat mar 23 13 på 15:19 Den första, viktigaste frågan är vilka typer och användningsmönster av frågorna som kommer att utföras mot denna tabell. Är det här ett OLTP-program (Online Transactional Processing), där den stora majoriteten av frågorna är emot en enskild post, eller högst en liten uppsättning poster eller till en applikation för online analytisk bearbetning, där de flesta frågor måste läsas och bearbetas , betydligt stora uppsättningar data för att generera aggregeringar och göra analyser. Dessa två mycket olika typer av system bör modelleras på olika sätt. Om det är den första typen av app, (OLTP) är ditt första alternativ en bättre, men användningsmönstren och typerna av frågor är fortfarande viktiga för att bestämma vilka typer av index som ska placeras på bordet. Om det är en OLAP-applikation låter (och ett system som lagrar miljarder av aktiekurser mer som en OLAP-app) då den datastruktur du konfigurerar kan vara bättre organiserad för att lagra föraggregerade datavärden eller ens gå hela vägen en multidimensionell databas som en OLAP-kub. baserat på ett stjärnschema. svarat mar 23 13 kl 15:01 Utöver vad som redan sagts, tycker jag om följande: Använd inte företagsnamn eller något liknande Ticker Symbol som din primära nyckel. Som du sannolikt kan ta reda på har aktiekurserna två viktiga egenskaper som ofta ignoreras: vissa företag kan noteras på flera börser och har därför olika priser på varje börs. vissa företag citeras flera gånger på samma börs, men i olika valutor. Som ett resultat bör en korrekt generisk lösning använda (ISIN, valuta, börsen) triplet som identifierare för ett citat. svarade jan 6 14 kl 13:56 Det är en Brute Force-tillvägagångssätt. Den andra du lägger till sökbara faktorer kan det ändra allt. Ett mer flexibelt och elegant alternativ är ett stjärnschema som kan skala till vilken mängd data som helst. Jag är en privat part som arbetar med det här själv. svarade 12 jun 13 kl 20:26 Ditt svar 2017 Stack Exchange, IncU. S. Stocks Database Den amerikanska beståndsdatabasen är det nyaste tillägget till en serie GFD-produkter. USDatabasen kompletterar GFDatabasen genom att du kan kombinera de finansiella indikatorerna från USA och 200 andra länder med de historiska prisuppgifterna på över 40 000 enskilda nuvarande och avnoterade aktier från varje utbyte i USA. USDatabasen är den mest omfattande samlingen av enskilda värdepapper som någonsin sammanställts inklusive avyttrade aktier från nationella och regionala börser som NASDAQ, New York, Chicago, Philadelphia eller Boston Stock Exchange. USDatabasen innehåller: USA: s databaser ger den mest omfattande historiska täckningen och en imponerande uppsättning aktuell marknadstäckning, inklusive grundläggande. Våra dagliga aktiemarknadshistorier börjar så tidigt som 1962 för stora amerikanska värdepapper. Vi erbjuder de ursprungliga handelsvärdena för varje dag och gör det möjligt för dig att justera för splittringar och distributioner. Förutom aktiekursen och volymen för varje dag lämnar vi också information om datum och antal utdelningar, splittringar och utdelningar som gjorts av varje företag. GFD kombinerar historisk information inte bara med komponenterna i stora index som Dow Jones Industrial Average och SampP 500, utan även historisk information om sektorsindex. Denna information länkar direkt till uppgifterna om enskilda aktier. Till exempel kan du analysera hur oljelagerna genomfördes på 1970-talet eller studera mjukvarulagerets beteende under 1990-talet. Ingen annan dataleverantör tillåter detta tvärsnitt av analys i en källa. Ursprunglig branschledare som tillhandahåller fullständiga uppgifter Global Financial Data är den ursprungliga branschledaren inom finansiell dataforskning, som utökar befintliga marknadsdataindexserier som redan används i allmän praxis inom marknadsaktiviteter och skaparen av det ofta använda, proprietära indexet, såsom World Ex US Aktieindex. GFD har nyligen släppt sinUS Stocks Database och dess UK Stocks Database innehåll innehåll som en gång bara används internt för att upprätthålla GFDs produktlinje och att korsa referens GFDs World Core Data och GFDatabasen. Idag är detta innehåll tillgängligt för finansnäringen genom olika anpassningsbara produkter och tjänster. Utöver våra företags åtgärder erbjuder EVENTSintimeDATA finanssektorn med full täckning av aktiemarknaderna som dominerat världsfinansiering sedan 1691. Vår täckning omger öppna och slutna medel Fonder, aktier, amerikanska depåbevis, investeringsfond och mycket Mer. Våra företagshandlingar och utdelningsdata samlas dagligen in av en erfaren forskargrupp med ett noggrant ledningsgrupp. Under samlingen av det historiska innehållet utnyttjade GFD sin process för att verifiera och kryssreferera informationen innan den inkluderades i våra databasprodukter. Det analyseras och redigeras sedan för noggrannhet. Vår EVENTSintimeDATA samlas in direkt från börser, företagsansökningar, pressmeddelanden, förvaringar, överföringsagenter, tidskrifter och från företaget. Vi tillhandahåller den senaste informationen på USA: s börsmarknad och London Stock Market-företag, inklusive: Namnbyten, Sammanslagningar, Förvärv, Inlösen, Aktiesplit, Löptider, Tenderbjudanden, Omorganisationer, Aktiespridningar, Spin-Offs-aktier Utestående information. GFD beskriver också annan intressant information som inte är allmänt känd för dataserien. Vårt direkta klient svar på informationsförfrågningar är oöverträffad, liksom vårt svar på att ta itu med oro för datacuraktär eller beräkningsmetoder. Om vår marknadsdata prissättning Kvalificerad som branschstandard för högkvalitativ teknisk värdepappersdata av forskningskvalitet, tillhandahåller GFDATABASES proffs med information som behövs för att fatta välgrundade investerings - och handelsbeslut. Vi hanterar aktivt en proprietär värdepappersdatabas för att tillhandahålla pålitlig, pålitlig och användbar marknadsinformation. Our careful and detailed process of collecting, cleansing and verifying data is comprehensive at every level. We do all of this at very competitive prices. We offer various levels of Database packages for individual advisors to large commercial firms or academic researchers, professors, and students. Every market day our data research teams scrutinize the data from multiple suppliers using specialized computer programs and use the old fashion way of viewing the data directly in the system. GFD is thorough, anomalies are flagged, manually researched and the latest market events are incorporated to ensure accurate information is delivered. We deliver accuracy and respond immediately to data challenges. Our historical securities database covers all listed North American equities, London Stock Market equities. We deliver both historical and daily update data in fully documented, ASCII file formats delivered via secure FTP. We offer this data to clients in one of two available feeds. Our Fully AdjustedFully Connected data feed provides a turnkey solution for charts and graphs to your local database. Alternatively, our UnadjustedUnconnected data feed is geared towards all institutions requiring a historical perspective with no survivorship bias. This feed delivers market data the way it was originally reported by the exchanges. Quality, accuracy and responsive customer service are why many prominent securities firms, financial publishers and investment institutions choose HSD as their data source. GFD-Finaeon also offers the exclusive AeonXL addin which will download data into Excel formats quickly and easily. This method is ideal for firms who have a desire to pull various types of data from month to month. We continually strive to enhance our products and services in order to provide the best access to the latest financial changes possible through our user friendly systems. Call now to see how our the integration of the EVENTSintimeDATA, The World Core Data , The US Stocks and the UK Stocks Databases can perfect your investment practices and trading decisions. GFDs comprehensive research has allowed it to provide superior coverage of current and historical US Stock Markets. By combining the Cowles Indices and SampP GICS data, GFD has created continuous, chain-linked data series extending back to 1871. Similar research methodologies have unveiled an intraday data index for the Dow Jones Industrial Average going back to 1933. These unrelenting research methods are what GFD has built its reputation on and what our Clients have come to expect. SURVIVOR BIAS FREE Global Financial Data provides end-of-day closing prices for individual United States Equities as well as historical data on over 11,000 US stocks and covers 30,000 discontinued stocks UNIQUE SOFTWARE FEATURES Call Today for an online presentation of the unique feature of searching constituent members of the SampP 500 and the Dow Jones 30. 1-877-328-2999 Could This Decade Be the Next 1930s - A Review of World Stock Markets in the 1920s looks at whether the current bear market could lead to a global stock market collapse similar to the 1930s. Mebane T. Faber and Eric W. Richardson, The Ivy Portfolio, John Wiley amp Sons, 2009

No comments:

Post a Comment