Úvod do kľúčov SQL
Kľúče sú polia v relačnej tabuľke, ktoré vytvárajú vzťahy medzi ostatnými tabuľkami, udržiavajú integritu, jedinečnosť atď. V tejto téme sa dozvieme o kľúčoch SQL.
V RDBMS, Keys hrá dôležitú úlohu. To sa podieľa na viacerých činnostiach v relačnej databáze. Pomocou kľúča je možné rýchlejšie a efektívnejšie získavať údaje. Môže vytvoriť vzťah v dvoch alebo viacerých tabuľkách. Použitie kľúčov nám umožňuje uchovávať platné a konzistentné údaje do databázy. Tiež sa používa na jedinečnú identifikáciu n-tice (riadku) z tabuľky. Tieto tabuľky môžu mať viac stĺpcov.
V reálnom živote môže mať tabuľka viac kľúčov. Všetky stĺpce môžu byť tiež deklarované ako kľúč a tieto kľúče môžu byť vynútené databázou.
syntaxe:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
Vo vyššie uvedenom dotaze SQL vidíme, ako sa stĺpec cust_id nastavuje ako primárny kľúč.
Typ kľúčov SQL
SQL Server podporuje viac typov kľúčov.
Nasleduje zoznam kľúčov SQL:
- Primárny kľúč
- Jedinečný kľúč
- Kandidátsky kľúč
- Alternatívny kľúč
- Kompozitný kľúč
- Super kľúč
- Cudzí kľúč
Napríklad
Tabuľka zákazníkov | ||||
cust_id | cust_name | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | Naí Dillí | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Harsh Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Nižšie je uvedená tabuľka „Objednávka“ obsahujúca súvisiace údaje zodpovedajúce „cust_id“ z tabuľky zákazníkov.
Tabuľka objednávok | ||
cust_id | order_month_year | ORDER_AMOUNT |
100001 | 2019 - Jan | $ 100, 000 |
100002 | 2019 - Jan | $ 120, 000 |
100003 | 2019 - Jan | $ 100, 000 |
100004 | 2019 - Jan | $ 110, 000 |
100001 | 2019 - február | $ 105, 000 |
100002 | 2019 - február | $ 125, 000 |
Teraz prejdeme jeden po druhom na každý z kľúčov:
1. Primárny kľúč
Primárny kľúč je pole, ktoré sa dá použiť na jedinečnú identifikáciu všetkých n-tíc v databáze. Ako primárny kľúč možno deklarovať iba jeden zo stĺpcov. Primárny kľúč nemôže mať hodnotu NULL.
Príklad: Vo vyššie uvedenej relačnej tabuľke je „cust_id“ primárny kľúč, pretože dokáže jednoznačne identifikovať celý riadok z tabuľky.
2. Jedinečný kľúč
Jedinečný kľúč môže byť pole alebo skupina polí, ktoré môžu byť použité na jedinečnú identifikáciu n-tice z databázy. Jedno alebo viac polí možno deklarovať ako jedinečný kľúč. Jedinečný stĺpec Kľúč môže obsahovať aj hodnotu NULL. Použitie jedinečného kľúča zlepšuje výkon získavania údajov. Vďaka tomu je vyhľadávanie záznamov z databázy oveľa rýchlejšie a efektívnejšie.
Príklad: Vo vyššie uvedenej relačnej tabuľke „cust_aadhaar_number“, „cust_pan_number“ sú jedinečný kľúč, pretože môže v stĺpci povoliť jednu hodnotu ako NULL.
3. Kandidátsky kľúč
Kandidátsky kľúč môže byť stĺpec alebo skupina stĺpcov, ktoré sa môžu kvalifikovať na jedinečný kľúč. Každá tabuľka má aspoň jeden kľúč kandidáta. Tabuľka môže mať jeden alebo viac Kandidátskych kľúčov. Každý kandidátsky kľúč môže v určitých prípadoch fungovať ako primárny kľúč.
Príklad: Vo vyššie uvedenej relačnej tabuľke sú kľúčom kandidáta „cust_id“, „cust_aadhaar_number“, „cust_pan_number“, pretože dokáže jednoznačne identifikovať celý riadok z tabuľky. Tieto stĺpce tiež spĺňajú kritériá ako primárny kľúč.
4. Alternatívny kľúč
Alternatívny kľúč je ten kľúč, ktorý sa v prípade potreby môže použiť ako primárny kľúč. Alternatívny kľúč sa tiež kvalifikuje ako primárny kľúč, ale v súčasnosti to nie je primárny kľúč.
Príklad: Vo vyššie uvedenej relačnej tabuľke „cust_aadhaar_number“, „cust_pan_number“ sú alternatívnym kľúčom, pretože oba stĺpce môžu byť primárnym kľúčom, ale ešte pre primárny kľúč nemôžu byť vybrané.
5. Kompozitný kľúč
Kompozitný kľúč je známy aj ako zložený kľúč / zreťazený kľúč. Kompozitný kľúč označuje skupinu dvoch alebo viacerých stĺpcov, ktoré možno použiť na jedinečnú identifikáciu n-tice z tabuľky. Skupina stĺpca v kombinácii môže navzájom jednoznačne identifikovať riadok, ale jeden stĺpec tejto skupiny nesľubuje jedinečnú identifikáciu riadku.
Príklad: Vo vyššie uvedenej relačnej tabuľke, tj tabuľke objednávok, skupina „cust_id“, „order_month_year“ týchto stĺpcov použitá v kombinácii na jedinečnú identifikáciu n-tice v tabuľke objednávok. Jednotlivé stĺpce tejto tabuľky nie sú schopné jednoznačne identifikovať n-ticu z tabuľky Objednávka.
6. Super klávesa
Super kľúč je kombináciou stĺpcov, pričom každý stĺpec tabuľky na ňom zostáva závislý. Super kľúč môže mať v skupine niekoľko stĺpcov, ktoré môžu alebo nemusia byť potrebné na jednoznačnú identifikáciu n-tice z tabuľky. Kandidátsky kľúč je podmnožinou super kľúča. Kandidátsky kľúč je tiež známy ako minimálny Super kľúč.
Príklad: V horeuvedenej relačnej tabuľke je Superkľúč Primárny kľúč, Kandidátsky kľúč a Jedinečný kľúč. Ako jediný stĺpec tabuľky zákazníkov, tj „cust_id“, postačuje na jednoznačnú identifikáciu tuplov z tabuľky. Akákoľvek množina stĺpca, ktorá obsahuje 'cust_aadhaar_number', 'cust_pan_number' je Super Key.
7. Cudzí kľúč
Cudzí kľúč je stĺpec, ktorý je známy ako primárny kľúč v inej tabuľke, tj primárny kľúč v tabuľke môže byť v inej tabuľke označený ako cudzí kľúč. Cudzí kľúč môže mať duplicitné hodnoty a hodnoty NULL, ak je definované tak, že akceptujú hodnoty NULL.
Príklad: Vo vyššie uvedenej relačnej tabuľke je „cust_id“ primárny kľúč v tabuľke zákazníkov, ale „cust_id“ v tabuľke objednávok známy ako „cudzí kľúč“. Cudzí kľúč v tabuľke sa vždy stáva primárnym kľúčom v druhej tabuľke.
Hore uvedený obrázok zobrazuje, ako sa každý stĺpec zobrazuje ako kľúč podľa svojej kvalifikácie, aby sa jednoznačne identifikovali n-tice z tabuľky. Screenshot sumarizuje všetky kľúče pomocou relačnej tabuľky.
Záver - kľúče SQL
SQL Keys je jedným z atribútov relačnej databázy. ktorá hrá dôležitú úlohu pri vytváraní vzťahu medzi dvoma alebo viacerými tabuľkami. Pomáha tiež rýchlejšie vykonávať dotazy, tj získavanie záznamov z databázy sa pomocou kľúčov stáva oveľa rýchlejšie. Klávesy tiež nastavujú rôzne obmedzenia, aby jednoznačne identifikovali n-tice z veľkých dát.
Odporúčané články
Toto je sprievodca k SQL kľúčom. Tu diskutujeme predstavenie SQL Keys a 7 rôznych typov s príslušným príkladom podrobne. Môžete sa tiež pozrieť na nasledujúci článok.
- Rozlišovacie kľúčové slovo v SQL
- Kurzory v SQL
- Cudzí kľúč v SQL
- Transakcie v SQL