I denne leksjonen skal du definere primær- og fremmednøkler på måltabeller for buk i en senere kombinasjon. For å kunne gjøre denne leksjonen må du ha definert dimensjonstabellene og en faktatabell i Definere resten av stjerneskjemaet (valgfritt).
I hver måltabell skal du velge en kolonne som kan brukes til entydig identifikasjon av rader i tabellen. Dette er tabellens primærnøkkel. Kolonnen du velger som primærnøkkel, må ha følgende egenskaper:
For eksempel er kolonnen CITY_ID i tabellen LOOKUP_MARKET (opprettet i Leksjon 8, Definere datatransformasjon og -flytting) en god kandidat til primærnøkkel. Fordi hver by må ha en identifikator, kan ikke to byer ha samme, og det er liten sannsynlighet for at IDene blir endret.
Du anbefales å definere en primærnøkkel for en tabell, for entydig identifikasjon av hver rad gir raskere tilgang til radene.
Du bruker fremmednøkler til å definere forhold mellom tabeller. I et stjerneskjema definerer en fremmednøkkel forholdet mellom faktatabellen og dens tilhørende dimensjonstabeller. Primærnøkkelen til dimensjonstabellen har en tilsvarende fremmednøkkel i faktatabellen. Fremmednøkkelen krever at alle verdier i en gitt kolonne i faktatabellen også finnes i dimensjonstabellen. For eksempel kan kolonnen CITY_ID i FACT_TABLE ha en fremmednøkkel definert på kolonnen CITY_ID i dimensjonstabellen LOOKUP_MARKET. Det betyr at det ikke kan finnes en rad i FACT_TABLE uten at CITY_ID finnes i tabellen LOOKUP_MARKET.
I denne leksjonen skal du definere primærnøkler på de fire måltabellene du opprettet i Leksjon 8, Definere datatransformasjon og -flytting: LOOKUP_MARKET, LOOKUP_TIME, LOOKUP_PRODUCT og LOOKUP_SCENARIO. Du skal definere tilsvarende fremmednøkler i måltabellen FACT_TABLE.
I denne øvelsen skal du definere en primærnøkkel for måltabellene LOOKUP_MARKET, LOOKUP_TIME, LOOKUP_PRODUCT og LOOKUP_SCENARIO.
Slik definerer du primærnøklene:
Notisboken Endre tabell blir åpnet.
Følg samme fremgangsmåte for å definere primærnøkler for de andre måltabellene. Definer
Du må definere fremmednøkler for forholdene mellom FACT_TABLE og andre måltabeller.
I denne øvelsen skal du definere en fremmednøkkel i FACT_TABLE (direkte underordnet tabell) på grunnlag av primærnøkkelen til tabellen LOOKUP_MARKET (overordnet tabell)
Slik definerer du fremmednøklene:
Notisboken Endre tabell blir åpnet.
Godta standardverdiene for feltene Ved sletting og Ved oppdatering. Du finner flere opplysninger om disse feltene i hjelpefunksjonen.
Følg samme fremgangsmåte for å definere fremmednøkler for FACT_TABLE i de andre måltabellene. Definer
I denne leksjonen har du definert primærnøkler for måltabellene LOOKUP_MARKET, LOOKUP_TIME, LOOKUP_PRODUCT og LOOKUP_SCENARIO. Du definerte fremmednøkler for FACT_TABLE som samsvarer med primærnøklene. I Leksjon 16, Opprette et stjerneskjema i datavarehussenteret skal du bruke disse nøklene til å kombinere tabeller i stjerneskjemaet.