Nøgler, Id'er og Surrogatnøgler
Stryg for at vise menuen
En nøglekolonne har én funktion: den forbinder en række i én tabel med den korrekte række i en anden.
Når datamodellen ser CustomerID C003 i en Sales-række, følger den linket til Customers-tabellen og finder den ene række, hvor CustomerID også er C003. Herfra læser den navn, region og segment. Dette opslag sker automatisk — men kun hvis nøglekolonnen er pålidelig.
To betingelser skal begge være opfyldt:
- Unik på dimensionssiden: hver CustomerID i Customers skal kun forekomme én gang;
- Matchende værdier: ID'et i Sales skal eksistere i Customers med samme værdi og samme datatype.
Hvis en af betingelserne ikke er opfyldt, vil relationen give fejl eller producere tavse, forkerte resultater.
Projektmappen, der bruges i videoen, er forskellig fra projektmappen, der bruges i opgaven. Hvis du vil følge trin-for-trin sammen med instruktøren under lektionen, skal du downloade videoprojektmappen, som findes under videoen, før du starter.
Primære nøgler og fremmede nøgler
Kontroller altid dimensionssiden for entydighed. Hvis den primære nøgle ikke er entydig, vil Power Pivot nægte at oprette relationen.
Surrogatnøgler
En surrogatnøgle er en ny ID-kolonne, du opretter, når kildedataene ikke har en pålidelig naturlig nøgle. Du opfinder værdierne — de kommer ikke fra kildesystemet.
Hvornår man skal oprette en:
- Ingen ID-kolonne findes i kildedataene;
- Den eneste måde at identificere en række entydigt på er ved at kombinere to eller flere kolonner;
- Den naturlige nøgle er en etiket (et navn eller en beskrivelse) i stedet for en stabil identifikator.
Sådan oprettes en i Excel:
- Tilføj en ny kolonne til venstre for tabellen. Giv den et tydeligt navn:
ProductID,CustomerID; - I den første datarække indtastes:
="P"&TEXT(ROW()-1,"000")— genererer automatisk P001, P002, P003; - Kopier formlen ned i hele kolonnen;
- Indsæt speciel → Værdier for at fastfryse ID'erne som fast tekst. Surrogatnøgler må ikke forblive som formler — tilføjelse eller fjernelse af rækker vil genberegne og ødelægge dem.
Opgave
Hovedmålet i dette kapitel er at blive fortrolig med at genkende, forstå og oprette Primære, Fremmede og Surrogatnøgler.
Din opgave er først at identificere de vigtigste problemer med nøglerne i begge ark i projektmappen og overveje løsninger.
For arket 'Customers_Raw', besvar følgende spørgsmål:
- Er dette en faktatabel eller en dimensionstabel? Hvorfor?
- Hvilken(e) kolonne(r), hvis nogen, kunne potentielt fungere som enten primær- eller fremmednøgle? Hvorfor?
- Hvis der ingen er, hvilken surrogatnøgle ville du foreslå til denne tabel?
For arket 'SalesLines_Raw', besvar følgende spørgsmål:
- Er dette en faktatabel eller en dimensionstabel? Hvorfor?
- Hvis det ikke er nogen af delene, hvilke skridt ville du tage for at rette op på det?
1. Hvilket af følgende er en god egenskab for en primærnøgle?
2. Hvornår bør du oprette en surrogatnøgle?
3. I et forhold, hvad skal matche mellem fremmednøglen og primærnøglen?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat