Northwind 2.0 Starter Edition: databasdesign

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019

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.

Databasdesign av tabeller och relationer

Om du vill öppna relationsdiagrammet med de sex tabellerna och relationerna mellan dem väljer duRelationer för databasverktyg>.

Diagram över databasrelationer

I diagrammet visas alla sex tabellerna. Linjerna mellan tabellerna i diagrammet identifierar relationerna mellan tabellerna. 1 och oändlighetssymbolen (∞) i slutet av linjerna representerar en-sidan av en relation (till exempel en kund) och n-sidan av en relation. Anta till exempel att en kund skickar många order. Mer information finns i Guide till tabellrelationer.

Mer om tabellprinciper

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 dessa primärnycklar. Namngivningskonventioner för primärnycklar namnges efter tabellen de finns i, till exempel "TableNameID". 

Effektivitet För bättre prestanda och effektivare lagring bör primärnycklarna vara numeriska. Det är dessutom mer praktiskt att det nya, unika värdet för primärnyckeln för varje ny post genereras automatiskt i Access. Datatypen Räknare har båda egenskaperna. Räknare är i övrigt icke-meningsfulla tal och har inget annat syfte. Mer information finns i Lägga till ett Räknare-fält som en primärnyckel.

Sekundärnycklar En tabell kan också ha en eller flera sekundära nycklar, beroende på om den är relaterad till andra tabeller i databasen. En sekundär nyckel innehåller värden som motsvarar värden i den relaterade tabellens primära nyckel. 

Unika index Andra fält i tabeller kan också ha egna unika index, till exempel OrderStatus.StatusCode. Det är inte logiskt att ha två orderstatus i tabellen Orderstatus med samma kod, även om Statuskod i sig inte är primärnyckeln. Ett unikt index anger att dubblettvärden inte ska användas i fältet.

Icke-unika index Tabeller kan också ha index för snabbare sökningar och sortering på dessa fält, till exempel Order.OrderDate. Många beställningar kan göras samma dag, och du vill ofta söka och sortera på Orderdatum. Fältet innehåller ett icke-unikt index som gör att sökning och sortering går snabbare.

Tabell- och fältnamn Du kan namnge saker hur du vill, men konsekvens är viktigt. Vi rekommenderar att tabell- och fältnamn ska vara ett eller flera ord utan blanksteg mellan dem och utan specialtecken som snedstreck (/), nummertecken (#) eller procent (%). Använd till exempel OrderDate, men inte OrderDate; använd Ordernummer eller Ordernr men inte Order#. 

CamelCase Använd versaler för att markera enskilda delar av namnet, till exempel Orderdatum, men inte Orderdatum eller Orderdatum.

Obligatoriskt värde Den här principen tar upp vikten av affärsregler för en tillämpning. I vissa situationer krävs värden eller till och med specifika värden i vissa fält. Vad är till exempel nytta med en beställning utan att känna till kunden som gjorde den? Det innebär att Kundnr är ett obligatoriskt fält i tabellen Order. 

Beräknade fält Access stöder 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 stöder 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.Befattning. Vi rekommenderar att du använder dem sparsamt, särskilt om du vill utvidga databasen. De flesta andra databassystem har dem inte, så det skulle kräva en hel del omarbetning. 

Mer information om datatyper finns i Introduktion till datatyper och fältegenskaper.

Individuella tabeller i Northwind

I det här avsnittet beskrivs de viktigaste funktionerna i varje tabell. Om du vill granska en tabells design markerar du den i navigeringsfönstret, högerklickar på den, väljer Designvy eller väljer Databasverktygsrelationer> 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äs mer om reserverade ord och symboler i Access.

Tabellen Employees

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 indexeras unikt kan tabellen Northwind 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 inkludera en mellaninitial lägger du till den i det befintliga uttrycket med lämpligt avstånd mellan komponenterna.
Telefon (fält) Affärsregeln för telefoner är att anställdas preferenser är mer relevanta än typ av tjänst. Därför används primära och sekundära telefonnummer i stället för mobil, kontor, hem och så vidare.
Hälsningsfras Hälsningsfras är ett fält med kort text. För att illustrera flervärdesfältfunktionen i Access är det en kombinationsruta med en redigerbar lista med fördefinierade värden. Korta, statiska listor som den här är ofta kandidater för flervärdesfält eftersom de inte ändrar mycket, om någonsin.
JobTitle (jobbtitel) 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 namn på anställda är det dock inte unikt indexerat, vilket gör att två eller flera kunder kan ha samma namn.
PrimaryContactFirstName, PrimaryContactLastName,
PrimaryContactJobTitle
Den primära kontaktpersonens för- och efternamn samt befattning krävs inte eftersom kunderna kanske inte har en person som primär kontaktperson. Kontakter kanske inte uppger sin befattning för en beställning.
BusinessPhone Northwind kräver bara ett telefonnummer per kund, men då går det inte att registrera flera telefonnummer för kunder eller för kontakter från kunder. I verkliga situationer gäller vanligtvis mer komplexa affärsregler för kontaktinformation.
Adress, Ort
Delstat, postnummer
Northwind behöver en adress för att leverera order till kunder. Det finns bara en allmän adress för en kund. I verkliga situationer har kunderna ofta separata fakturerings-, leverans- eller andra adresser. En annan affärsregel för organisationen kräver ytterligare fält.
Anteckningar Fältet Anteckningar är av datatypen Lång text som lagrar upp till 1 GB text. På så sätt kan du ange detaljerade kommentarer om kunder som du kan använda i efterföljande beställningssituationer.

Tabellen Order

I den här tabellen lagras information om Northwinds beställningar. 

Fält Beskrivning
Orderdatum, Expedierat den, BetaladDatum Beställningar kräver tre datum. De är alla av datatypen Datum/tid, men med två format. Orderdatum har både ett datum och ett klockslag eftersom du kan vara intresserad av att analysera ordervolymen för olika delar av dagen. För de två andra datumen krävs endast datumet. Ett tabellverifieringsuttryck för Skeppningsdatum och Betalt säkerställer att dessa datum inte infaller före Orderdatum.
OrderStatusID Orderstatusen anger var ordern finns i Northwind-arbetsflödet. Order går igenom fyra faser: Ny –>Fakturerad –>Levererad –>Stängd. Sekundärnyckeln för aktuell Orderstatus använder OrderStatusID från uppslagstabellen för Orderstatus. Genom att använda en uppslagstabell för status säkerställer du att endast de fyra fördefinierade statusvärdena kan tilldelas till en order.

Tabellen Orderdetaljer

I den här tabellen lagras information om Northwinds orderinformation. 

Fält Beskrivning
Order-ID Varje radobjekt i tabellen Orderdetaljer måste tillhöra en Order i tabellen Order. Ordernr är en sekundärnyckel som identifierar ordern. Som vi nämnde tidigare illustrerar en order som innehåller ett eller flera radobjekt en ett-till-många-relation.
Produkt-ID Varje post i tabellen Orderdetaljer innehåller Produkt-ID för den beställda produkten. Produktnr är en sekundärnyckel i tabellen Orderdetaljer som identifierar den produkten i ordern. Det här är också en 1:N-relation.
OrderID+ Produkt-ID Som du såg i tabellen Anställda kan flera fält ha unika index. Det unika indexet över OrderID + Produktnr i tabellen Orderdetaljer säkerställer att varje order innehåller en produkt endast en gång. När du öppnar egenskapssidan Index från menyfliksområdet kan du se detta unika index.

Tabellen Produkter

I den här tabellen lagras information om Northwinds produkter. 

Fält Beskrivning
Produktkod Utöver primärnyckeln, ProductID, har Northwind-produkter en användarvänlig, unikt indexerad produktkod. Anställda hänvisar 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,
Beskrivning
Förutom produktnamn med kort text gäller även en lång textbeskrivning för produkter. Det här värdet kan användas i en katalogbeskrivning eller för att besvara 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ättningen ofta betydligt mer komplex.

Se även

Northwind 2.0 Starter Edition