I följande avsnitt visas hur databastabellrelationerna har utformats. Objektnamnen tillhandahålls så att du enkelt kan undersöka dem i Northwind 2.0 Starter Edition-databasen.
Om du vill öppna relationsdiagrammet som visar de sex tabellerna och relationerna mellan dem väljer du Databasverktyg > Relationer.
I det här diagrammet visas alla sex tabellerna. I diagrammet identifierar linjer mellan tabeller relationer mellan dem. 1- och oändlighetssymbolen (∞) i slutet av linjerna representerar en sida av en relation (till exempel en kund) och mångasidan av en relation. En kund skickar till exempel många beställningar. Mer information finns i Guide till tabellrelationer.
Följande principer gäller för tabeller i Northwind 2.0 Starter Edition samt för tabeller i allmänhet.
Primärnycklar Unikt identifiera varje post i en tabell. Alla tabeller har en primärnyckel. I relationsdiagrammet identifierar nyckelsymbolerna primärnycklarna. Namngivningskonventioner för primärnycklar namnges för tabellen de finns i, till exempel "TableNameID".
Lägga till ett Räknare-fält som primärnyckel.
Effektivitet För bättre prestanda och effektivare lagring bör primärnycklar vara numeriska. Dessutom är det enklare att låta Access automatiskt generera det nya unika värdet för varje ny posts primärnyckel. Datatypen Räknare har båda egenskaperna. Räknare är annars icke-meningsfulla tal och har inget annat syfte. Mer information finns iSekundärnycklar En tabell kan också ha en eller flera sekundärnycklar, beroende på om den är relaterad till andra tabeller i databasen. En sekundärnyckel innehåller värden som motsvarar värden i primärnyckeln i den relaterade tabellen.
Unika index Andra fält i tabeller kan också ha egna unika index, till exempel OrderStatus.StatusCode. Det är ologiskt att ha två orderstatusar i tabellen OrderStatus med samma kod, även om Statuskod i sig inte är primärnyckeln. Ett unikt index anger att Access ska förhindra dubblettvärden i det fältet.
Icke-unika index Tabeller kan också ha index för att snabba upp sökningar och sortera på dessa fält, till exempel Orders.OrderDate. Många beställningar kan göras samma dag och du vill ofta söka efter och sortera efter orderdatum. Det finns ett icke-unikt index för fältet som gör sökningen och sorteringen snabbare.
Tabell- och fältnamn Du kan namnge saker som du vill, men konsekvens är viktigt. Vi rekommenderar att tabell- och fältnamn är ett eller flera ord utan blanksteg mellan dem och inga specialtecken som snedstreck (/), nummertecken (#) eller procent (%). Använd till exempel Orderdatum, men inte Orderdatum. använder OrderNumber eller OrderNo, men inte Order#.
Kamelskalle Skriv ord med versal för att markera enskilda delar av namnet, till exempel OrderDate, men inte Orderdate eller OrderDate.
Obligatoriskt värde Denna princip tar upp vikten av affärsregler för en ansökan. Vissa situationer kräver värden eller till och med specifika värden i vissa fält. Till exempel, vad är en order bra utan att känna till kunden som placerade den? Det innebär att CustomerID är ett obligatoriskt fält för tabellen Order.
Beräknade fält Access har stöd för beräknade fält i tabeller, till exempel fältet Employees.FullName. Du kanske föredrar att skapa beräknade fält i en fråga i stället för i en tabell.
Fält för bifogade filer Access har stöd för fält för bifogade filer, till exempel Anställda.Bild, som innehåller en bild av den anställda. Bifogade filer kan lagra bilder, dokument, e-postmeddelanden och annan binär information. Bifogade filer tar upp mycket utrymme i databasen. det är mer effektivt att lagra bifogade filer på en filserver i stället.
Flervärdesfält Som namnet antyder lagrar flervärdesfält ett eller flera värden i ett enda fält, till exempel Anställda.Rubrik. Vi föreslår att du använder dem sparsamt, särskilt om du vill öka storleken på databasen. De flesta andra databassystem har dem inte, så det skulle kräva mycket omarbetat arbete.
Mer information om datatyper finns i Introduktion till datatyper och fältegenskaper.
I det här avsnittet beskrivs de viktigaste funktionerna i varje tabell. Om du vill granska designen för en tabell markerar du den i navigeringsfönstret, högerklickar på den, väljer Designvy eller databasverktyg > Relationer och högerklickar sedan på ett tabellobjekt. Mer information finns i Introduktion till tabeller.
Viktigt!: Undvik att använda reserverade ord som kan orsaka namnkonflikter. Mer information finns i Lär dig mer om reserverade ord och symboler i Access.
Tabellen Anställda
I den här tabellen lagras information om Northwinds anställda.
Fält |
Beskrivning |
Förnamn, Efternamn |
Båda namnen är obligatoriska och i Northwind måste de tillsammans vara en unik kombination. När du öppnar dialogrutan Index i tabelldesignen kan du se att Förnamn + Efternamn har ett unikt index. Eftersom Förnamn och Efternamn är unikt indexerade kan northwind-tabellen inte lagra två anställda med samma namn. I andra situationer kan du använda en annan affärsregel. |
FullNameFNLN, FullNameLNFN |
Titta på uttrycksegenskapen för beräknade fält för att se hur Access kombinerar värden i beräknade fält. Om du vill ta med en initial för mitten lägger du till den i det befintliga uttrycket med lämpligt avstånd mellan komponenter. |
Telefonfält |
Affärsregeln för telefoner är att anställdas preferens är mer relevant än typ av tjänst. Därför används primära och sekundära telefonnummer i stället för cell, kontor, hem och så vidare. |
Hälsningsfras |
Hälsningsfras är ett fält av typen Kort text. För att illustrera flervärdesfältsfunktionen i Access är det en kombinationsruta med en redigerbar lista med fördefinierade värden. Korta, statiska listor som denna är ofta kandidater för flervärdesfält eftersom de inte ändras mycket, om någonsin. |
JobTitle |
JobTitle är ett annat obligatoriskt fält. |
Tabellen Kunder
I den här tabellen lagras information om Northwinds kunder.
Fält |
Beskrivning |
CustomerName |
Northwinds kunder är företag och ett kundnamn krävs. Till skillnad från anställdas namn är det dock inte unikt indexerat, vilket gör att två eller fler kunder kan ha samma namn. |
PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle |
Den primära kontaktens för- och efternamn och befattning krävs inte eftersom kunderna kanske inte har en person som primär kontakt. Kontakter kanske inte ger sin befattning för en order. |
BusinessPhone |
Northwind kräver bara ett telefonnummer för varje kund, men det gör att du inte kan registrera flera telefonnummer för kunder eller för kontakter från kunder. I verkliga situationer gäller mer komplexa affärsregler normalt för kontaktinformation. |
Adress, ort Delstat, ZIP |
Northwind behöver en adress för att leverera beställningar till kunder. Det finns bara en allmän adress för en kund. I verkliga situationer har kunder ofta separata fakturerings-, leverans- eller andra adresser. En annan affärsregel för organisationen skulle kräva ytterligare fält. |
Anmärkningar |
Fältet Anteckningar är en datatyp av typen Lång text som lagrar upp till 1 GB text. På så sätt kan du ange detaljerade kommentarer om kunder för användning i efterföljande ordningssituationer. |
Tabellen Order
I den här tabellen lagras information om Northwinds beställningar.
Fält |
Beskrivning |
OrderDate, ShippedDate, PaidDate |
Order kräver tre datum. De är alla datatyper för datum/tid, men med två format. OrderDate har både ett datum och en tid eftersom du kanske är intresserad av att analysera ordervolymen för olika delar av dagen. För de två andra datumen är endast datumet obligatoriskt. Ett tabellverifieringsuttryck för ExpedieratDatum och BetaltDatum säkerställer att dessa datum inte föregår Orderdatum. |
OrderStatusID |
Orderstatusen anger var ordern finns i Northwind-arbetsflödet. Beställningarna går igenom fyra faser: Nytt – > Faktureras – > Skickat – > Stängt.Sekundärnyckeln för aktuell OrderStatus använder OrderStatusID från uppslagstabellen i OrderStatus. Genom att använda en statusuppslagstabell ser du till att endast de fyra fördefinierade statusarna kan tilldelas till en order. |
Tabell med orderinformation
I den här tabellen lagras information om Northwinds orderinformation.
Fält |
Beskrivning |
Ordernr |
Varje radobjekt i tabellen Orderdetaljer måste tillhöra en Order i tabellen Order. OrderID är en sekundärnyckel som identifierar ordern. Som tidigare nämnts illustrerar en order som innehåller en eller flera radobjekt en 1:N-relation. |
Produktionen |
Varje post i tabellen Orderdetaljer innehåller ProductID för den beställda produkten. Produkt-ID är en sekundärnyckel i tabellen Orderdetaljer som identifierar produkten i den ordningen. Det här är också en 1:N-relation. |
OrderID+ ProductID |
Som du såg i tabellen Anställda kan flera fält ha ett unikt index. Det unika indexet över OrderID+ProductID i tabellen Orderdetaljer säkerställer att varje order bara innehåller en produkt en gång. När du öppnar egenskapssidan Index från menyfliksområdet kan du se det här unika indexet. |
Produkttabell
I den här tabellen lagras information om Northwinds produkter.
Fält |
Beskrivning |
ProductCode |
Förutom primärnyckeln ProductID har Northwind-produkterna en produktkod som är användarvänlig för människor, unikt indexerad. Anställda refererar normalt till produktkoder, inte primärnyckelvärden. Produktkoden är ett sammansatt värde som består av en kategoribeteckning och ett tal, till exempel B-1 för "Dryck", produkt 1. |
Produktnamn Produktbeskrivning |
Förutom produktnamn med kort text gäller en lång textbeskrivning för produkter. Det här värdet kan användas i en katalogbeskrivning eller för att svara på kundfrågor. |
Enhetspris |
Alla produkter säljs med ett enhetspris för varje artikel vilket förenklar databasen som en demonstration av funktioner. I de flesta verkliga situationer är prissättning ofta betydligt mer komplex. |
Se även