Domov databázy Aký je rozdiel medzi zloženým kľúčom, primárnym kľúčom a cudzím kľúčom?

Aký je rozdiel medzi zloženým kľúčom, primárnym kľúčom a cudzím kľúčom?

Anonim

Q:

Aký je rozdiel medzi zloženým kľúčom, primárnym kľúčom a cudzím kľúčom?

A:

Primárny kľúč je definovaný ako stĺpec kľúča alebo databázy, ktorý jednoznačne identifikuje každý riadok v tabuľke databázy. Kompozitný kľúč je skupina viac ako jedného kľúča, ktorý spolu jedinečne identifikuje každý záznam.

Cudzí kľúč je na druhej strane kľúčom v niektorej tabuľke, ktorý jedinečne identifikuje riadky v inej tabuľke - inými slovami, kľúčom, ktorý sleduje primárny kľúč v inej tabuľke.

Príkladom by mohol byť zoznam domov na trhu s nehnuteľnosťami. V dobre usporiadanej databáze by mal existovať primárny kľúč, ktorý jednoznačne identifikuje každý záznam. Ako to môže fungovať sofistikovanosťou databázy.

V niektorých prípadoch môžu byť domy jedinečne identifikované hypotekárnym číslom - všetky ostatné údaje (mestá, ulice, čísla domu) nie sú jedinečné pre každý záznam. Hlavným kľúčom by bolo číslo hypotéky. Predpokladajme však, že technológia kótovania realitných kancelárií MLS priraďuje záznamom v tabuľke svoje vlastné jedinečné čísla. Potom budú existovať dva kľúče, ktoré vývojári môžu identifikovať ako „kandidátne kľúče“: číslo hypotéky a číslo MLS. Jeden z nich bude kvalifikovaný ako „primárny kľúč“ tým, čo by niektorí považovali za svojvoľné.

Kompozitný kľúč by teda bol kombináciou dvoch kľúčov: napríklad kombinácia čísla domu a ulice by sa mohla považovať za zložený kľúč, pretože zoznamy trhov sú miestne. Ak áno, potom keď niekto hľadá pomocou domu číslo a ulicu, mal by dostať iba jeden záznam.

Medzitým, ak je v prepojenej tabuľke kľúč, napríklad tabuľka kupujúceho, ktorá odkazuje na primárny kľúč, bude to cudzí kľúč.

Aký je rozdiel medzi zloženým kľúčom, primárnym kľúčom a cudzím kľúčom?