Opplæring i Business Intelligence

Leksjon 11. Definere nøkler på måltabeller

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.


Definere en primærnøkkel

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:

  1. Gå til vinduet DB2 Kontrollsenter.
  2. Finn tabellen LOOKUP_MARKET på listen over tabeller for databasen TUTWHS. Høyreklikk på tabellen og klikk på Endre.

    Notisboken Endre tabell blir åpnet.

  3. Klikk på flippen Primærnøkkel. Siden Primærnøkkel blir vist.
  4. I Tilgjengelige kolonner velger du CITY_ID som primærnøkkel.
  5. Klikk på > for å flytte CITY_ID til listen Primærnøkkelkolonner.
  6. La feltet Navn på begrensning være tomt, slik at DB2 Universal Database genererer et navn for deg. En primærnøkkel kan anses som en begrensning, fordi alle verdier i den valgte kolonnen må være unike.
    Setningen GEOGRAPHIES SELECT på siden SQL-setning
  7. Klikk på OK for å lagre definisjonene.

Følg samme fremgangsmåte for å definere primærnøkler for de andre måltabellene. Definer


Definere en fremmednøkkel

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:

  1. Finn tabellen FACT_TABLE på listen over tabeller for databasen TUTWHS. Høyreklikk på tabellen og klikk på Endre.

    Notisboken Endre tabell blir åpnet.

  2. Klikk på flippen Fremmednøkler. Siden Fremmednøkkel blir vist.
  3. Klikk på Tilføy. Vinduet Tilføy fremmednøkkel blir åpnet.
  4. I feltet Tabellskjema oppgir du bruker-IDen som du brukte da varehusdatabasen ble opprettet i Leksjon 2, Opprette en varehusdatabase.
  5. I feltet Tabellnavn oppgir du LOOKUP_MARKET, som er den overordnede tabellen. Feltet Primærnøkkel viser primærnøkkelen for LOOKUP_MARKET.
  6. På listen Tilgjengelige kolonner velger du CITY_ID som kolonnen du vil definere som fremmednøkkel.
  7. Klikk på > for å flytte CITY_ID til listen Fremmednøkkel.

    Godta standardverdiene for feltene Ved sletting og Ved oppdatering. Du finner flere opplysninger om disse feltene i hjelpefunksjonen.

  8. La feltet Navn på begrensning være tomt, slik at DB2 Universal Database genererer et navn for deg. En fremmednøkkel kan anses som en begrensning, for for hver verdi i fremmednøkkelkolonnen i den direkte underordnede tabellen er det en rad i den overordnede tabellen med en tilsvarende verdi i primærnøkkelkolonnen.
    Setningen GEOGRAPHIES SELECT på siden SQL-setning
  9. Klikk på OK for å lagre definisjonene.

Følg samme fremgangsmåte for å definere fremmednøkler for FACT_TABLE i de andre måltabellene. Definer


Setningen GEOGRAPHIES SELECT på siden SQL-setning

Hva du har gjort

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.


[ Øverst på siden | Forrige side | Neste side | Innholdsfortegnelse ]