Domov Databáze Jaký je rozdíl mezi složeným klíčem, primárním klíčem a cizím klíčem?

Jaký je rozdíl mezi složeným klíčem, primárním klíčem a cizím klíčem?

Anonim

Q:

Jaký je rozdíl mezi složeným klíčem, primárním klíčem a cizím klíčem?

A:

Primární klíč je definován jako klíč nebo sloupec databáze, který jednoznačně identifikuje každý řádek v tabulce databáze. Kompozitní klíč je sada více než jednoho klíče, který společně jedinečně identifikuje každý záznam.

Cizí klíč je naproti tomu klíč v některé tabulce, který jedinečně identifikuje řádky v jiné tabulce - nebo jinými slovy klíč, který sleduje primární klíč v jiné tabulce.

Příkladem může být seznam domů na trhu s nemovitostmi. V dobře uspořádané databázi by měl existovat primární klíč, který jedinečně identifikuje každý záznam. Jak to může souviset s propracovaností databáze.

V některých případech mohou být domy jedinečně identifikovány hypotečním číslem - všechna ostatní data (města, ulice, čísla domů) nejsou pro každý záznam jedinečná. Hlavním klíčem by bylo číslo hypotéky. Předpokládejme však, že technologie výpisu realitních kanceláří MLS přiřadí svým záznamům v tabulce svá vlastní jedinečná čísla. Poté budou existovat dva klíče, které by vývojáři mohli identifikovat jako „kandidátní klíče“: číslo hypotéky a číslo MLS. Jeden z nich bude kvalifikován jako „primární klíč“ tím, co by někteří považovali za svévolné.

Kompozitní klíč by tedy byl kombinací dvou klíčů: například kombinace čísla domu a ulice by mohla být kvalifikována jako složený klíč, protože tržní výpisy jsou místní. Pokud ano, pak když někdo hledá pomocí domu číslo a ulici, měl by získat pouze jeden jediný záznam.

Mezitím, pokud je v propojené tabulce klíč, například kupující tabulka, která odkazuje na primární klíč, bude to cizí klíč.

Jaký je rozdíl mezi složeným klíčem, primárním klíčem a cizím klíčem?