Hjem databaser Hva er forskjellen mellom en sammensatt nøkkel, primærnøkkel og fremmednøkkel?

Hva er forskjellen mellom en sammensatt nøkkel, primærnøkkel og fremmednøkkel?

Anonim

Q:

Hva er forskjellen mellom en sammensatt nøkkel, primærnøkkel og fremmednøkkel?

EN:

En primærnøkkel er definert som en nøkkel eller databaskolonne som identifiserer hver rad i en databasetabell unikt. En sammensatt nøkkel er et sett med mer enn en nøkkel som til sammen identifiserer hver post.

En fremmed nøkkel er derimot en nøkkel i en eller annen tabell som unikt identifiserer rader i en annen tabell - eller med andre ord en nøkkel som sporer til en primærnøkkel i en annen tabell.

Et eksempel er en liste over boliger på et eiendomsmarked. I en velordnet database skal det være en primærnøkkel som identifiserer hver post. Hvordan dette fungerer kan ha å gjøre med databladens raffinement.

I noen tilfeller kan boligene bare identifiseres med et pantelånsnummer - all annen informasjon (byer, gater, husnummer) er ikke unik for hver post. Lånetallet vil være den viktigste nøkkelen. Anta imidlertid at en MLS-eiendomsmeglers noteringsteknologi tildeler sine egne unike tall til postene i tabellen. Deretter vil det være to nøkler som utviklere kan identifisere som "kandidatnøkler": pantesnummeret og MLS-nummeret. En av dem vil kvalifisere seg som den "primære nøkkelen" i det noen vil anse som en vilkårlig måte.

En sammensatt nøkkel vil da være kombinasjonen av to nøkler: for eksempel kan kombinasjonen av husnummer og gate kvalifisere som en sammensatt nøkkel, gitt at markedsoppføringene er lokale. I så fall, når noen søker på både husnummer og gate, bør de bare få en enkelt post tilbake.

I mellomtiden, hvis det er en nøkkel i en koblet tabell, for eksempel en kjøpers bord, som refererer til den primære nøkkelen, vil det være en fremmed nøkkel.

Hva er forskjellen mellom en sammensatt nøkkel, primærnøkkel og fremmednøkkel?