/ / Použitie kompozitných klávesov [zatvorené] - mysql, databáza, zložený kľúč

Použitie kompozitných kľúčov [zavreté] - mysql, databáza, kompozitný kľúč

Mám nový koncept konceptu kompozitných kľúčov, mámnepochopil použitie kompozitného kľúča v scenári reálneho sveta. Vo všetkých scenároch reálneho sveta som si myslel, že môžem urobiť to isté s kompozitným kľúčom.

odpovede:

1 pre odpoveď č. 1

Tu je jeden scenár, kde ho nájdetePredpokladajme, že pracujete ako redaktor a máte databázu s knihami. Teraz potrebujete tabuľku, do ktorej sa ukladajú redakčné komentáre o každej stránke v každej knihe.

Jedinečný identifikátor bude book_id a pageNumber (normalizovaný, pretože v samostatnej tabuľke máme informácie o knihe).

Teraz, pretože môžeme do značnej miery zaručiť, že každýkniha bude obsahovať prekrývajúce sa čísla stránok, ktoré môžeme "t dať primárny kľúč na pageNumber a určite" t dať primárny kľúč na book_id. A v tomto prípade chceme zaručiť, že máme len na riadok na jednu knihu.

Namiesto toho prirodzený identifikátor je (book_id, pageNumber), takže to je to, čo si vyberáme. Pretože to bude jedinečný identifikátor pre každú stránku.

Môžete si to prečítať MSDN odkaz:

Kompozitné klávesy sa používajú vtedy, keď nie je jedenoblasti identifikáciu každého riadku v tabuľke. Potom musíte vziať viac polí spoločne získať primárny kľúč tabuľky, ktorá sa potom nazýva zložený kľúč.

Napríklad, máte zákazníkov tabuľku s nasledujúcimodbory: Meno, Priezvisko, Dátum narodenia, Adresa, Pohlavie. Jedinečne identifikovať zákazníka, musíte poznať jeho Meno, Priezvisko, Dátum narodenia a adresy - toto by bol kľúč zložený (dvaja zákazníci s rovnakým menom a adresou, ako aj dve s tým istým meno a narodeniny).