Rozdiel medzi cudzím kľúčom a primárnym kľúčom

Obsah:

Rozdiel medzi cudzím kľúčom a primárnym kľúčom
Rozdiel medzi cudzím kľúčom a primárnym kľúčom

Video: Rozdiel medzi cudzím kľúčom a primárnym kľúčom

Video: Rozdiel medzi cudzím kľúčom a primárnym kľúčom
Video: Выбор и установка входной металлической двери в новостройке #10 2024, November
Anonim

Kľúčový rozdiel medzi cudzím kľúčom a primárnym kľúčom je ten, že cudzí kľúč je stĺpec alebo množina stĺpcov, ktoré odkazujú na primárny kľúč alebo kandidátsky kľúč inej tabuľky, zatiaľ čo primárny kľúč je stĺpec alebo množina stĺpcov ktoré možno použiť na jedinečnú identifikáciu riadka v tabuľke.

Stĺpec alebo skupina stĺpcov, ktoré možno použiť na identifikáciu alebo prístup k riadku alebo skupine riadkov v databáze, sa nazýva kľúč. Primárny kľúč v relačnej databáze je kombináciou stĺpcov v tabuľke, ktoré jednoznačne identifikujú riadok tabuľky. Cudzí kľúč v relačnej databáze je pole v tabuľke, ktoré sa zhoduje s primárnym kľúčom inej tabuľky. Cudzí kľúč sa používa na krížové referenčné tabuľky.

Rozdiel medzi cudzím kľúčom a primárnym kľúčom - Súhrn porovnania
Rozdiel medzi cudzím kľúčom a primárnym kľúčom - Súhrn porovnania
Rozdiel medzi cudzím kľúčom a primárnym kľúčom - Súhrn porovnania
Rozdiel medzi cudzím kľúčom a primárnym kľúčom - Súhrn porovnania

Čo je cudzí kľúč?

Cudzí kľúč je referenčné obmedzenie medzi dvoma tabuľkami. Identifikuje stĺpec alebo množinu stĺpcov v jednej tabuľke, nazývanej referenčná tabuľka, ktorá odkazuje na množinu stĺpcov v inej tabuľke, nazývanej referenčná tabuľka. Cudzí kľúč alebo stĺpce v referenčnej tabuľke musia byť primárnym kľúčom alebo kandidátskym kľúčom (kľúčom, ktorý možno použiť ako primárny kľúč) v referenčnej tabuľke. Okrem toho cudzie kľúče umožňujú prepojenie údajov v niekoľkých tabuľkách. Cudzí kľúč preto nemôže obsahovať hodnoty, ktoré sa nenachádzajú v tabuľke, na ktorú odkazuje. Potom odkaz poskytnutý cudzím kľúčom pomáha prepojiť informácie v niekoľkých tabuľkách, čo by sa stalo nevyhnutným pri normalizovaných databázach. Viaceré riadky v referenčnej tabuľke môžu odkazovať na jeden riadok v referenčnej tabuľke.

Rozdiel medzi cudzím kľúčom a primárnym kľúčom
Rozdiel medzi cudzím kľúčom a primárnym kľúčom
Rozdiel medzi cudzím kľúčom a primárnym kľúčom
Rozdiel medzi cudzím kľúčom a primárnym kľúčom

Obrázok 01: Mapovanie cudzieho kľúča

V štandarde ANSI SQL, obmedzenie FOREIGN KEY definuje cudzie kľúče. Ďalej je možné definovať cudzie kľúče pri vytváraní samotnej tabuľky. Tabuľka môže mať viacero cudzích kľúčov a môžu odkazovať na rôzne tabuľky.

Čo je primárny kľúč?

Primárny kľúč je stĺpec alebo kombinácia stĺpcov, ktoré jednoznačne definujú riadok v tabuľke relačnej databázy. Tabuľka môže mať najviac jeden primárny kľúč. Primárny kľúč vynucuje implicitné obmedzenie NOT NULL. Preto stĺpec s primárnym kľúčom nemôže obsahovať hodnoty NULL. Primárny kľúč môže byť normálny atribút v tabuľke, ktorý je zaručene jedinečný, ako napríklad číslo sociálneho poistenia, alebo to môže byť jedinečná hodnota vygenerovaná systémom správy databáz, ako napríklad GUID (Globally Unique Identifier) na serveri Microsoft SQL Server.

Kľúčový rozdiel medzi cudzím kľúčom a primárnym kľúčom
Kľúčový rozdiel medzi cudzím kľúčom a primárnym kľúčom
Kľúčový rozdiel medzi cudzím kľúčom a primárnym kľúčom
Kľúčový rozdiel medzi cudzím kľúčom a primárnym kľúčom

Obrázok 02: Primárny kľúč

Okrem toho obmedzenie PRIMARY KEY v ANSI SQL Standard definuje primárne kľúče. Pri vytváraní tabuľky je tiež možné definovať primárny kľúč. Okrem toho SQL umožňuje, aby sa primárny kľúč skladal z jedného alebo viacerých stĺpcov a každý stĺpec, ktorý je zahrnutý v primárnom kľúči, je implicitne definovaný tak, že NIE JE NULL. Niektoré systémy správy databáz však vyžadujú, aby stĺpce primárneho kľúča boli explicitne NIE NULL.

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

Cudzí kľúč verzus primárny kľúč

Cudzí kľúč je stĺpec alebo skupina stĺpcov v tabuľke relačnej databázy, ktorá poskytuje spojenie medzi údajmi v dvoch tabuľkách. Primárny kľúč je špeciálny stĺpec tabuľky relačnej databázy alebo kombinácia viacerých stĺpcov, ktorá umožňuje jednoznačne identifikovať všetky záznamy tabuľky.
NULL
Cudzí kľúč akceptuje hodnotu NULL. Hodnota primárneho kľúča nemôže byť NULL.
Počet kľúčov
Tabuľka môže mať viacero cudzích kľúčov. Tabuľka môže mať iba jeden primárny kľúč.
Duplikácia
N-tice môžu mať duplicitnú hodnotu pre atribút cudzieho kľúča. Dve n-tice vo vzťahu nemôžu mať duplicitné hodnoty pre atribút primárneho kľúča.

Súhrn – cudzí kľúč verzus primárny kľúč

Rozdiel medzi cudzím kľúčom a primárnym kľúčom je ten, že cudzí kľúč je stĺpec alebo skupina stĺpcov, ktoré odkazujú na primárny kľúč alebo kandidátsky kľúč inej tabuľky, zatiaľ čo primárny kľúč je stĺpec alebo skupina stĺpcov, ktoré možno použiť na jedinečnú identifikáciu riadka v tabuľke.

Odporúča: