Oppgaver om primærnøkkel handler ofte om å velge riktig felt, forklare hvorfor et felt passer, eller rette opp en tabell som er dårlig designet. For å mestre slike oppgaver må du kunne se forskjellen mellom identifikasjon, kobling og beskrivelse. I dette kapitlet får du både oppgaver og løsningsforslag, slik at du kan trene på tankegangen som sensor forventer. Oppgavetrening er spesielt nyttig fordi du lærer å lese en tabell raskt og finne ut hva som faktisk er unikt.
Oppgave 1: velg primærnøkkel
Tabell: Bok(boknavn, forfatter, isbn, utgivelsesår). Hvilket felt passer best som primærnøkkel?
Løsning: isbn passer best. Boknavn og forfatter kan være like for flere bøker, og utgivelsesår er ikke unikt. ISBN er laget for å identifisere bøker entydig, og er derfor et langt bedre valg. Hvis du vil forklare mer, kan du si at det er et stabilt og standardisert identifikatorfelt. Det er også et godt eksempel på en naturlig nøkkel.
Oppgave 2: finn feilen i designet
Tabell: Elev(navn, klasse, e-post). Læreren har satt navn som primærnøkkel. Hva er problemet?
Løsning: Navn er ikke unikt og kan endres. To elever kan hete det samme, og navnet er heller ikke et godt stabilt identifikasjonsfelt. Et bedre valg er elev_id. Da får hver elev en egen teknisk identitet, mens navn kan brukes som vanlig datafelt. Hvis e-post også kan endres, er det enda en grunn til å bruke et eget id-felt.
Oppgave 3: vurder sammensatt nøkkel
Tabell: Deltakelse(elev_id, fagkode, termin, fravær). Du skal lagre én rad per elev per fag per termin. Hvordan kan primærnøkkelen se ut?