SQL-võtmete tutvustus
Klahvid on relatsioonitabeli väljad, mis loovad seoseid teiste tabelite vahel, säilitavad terviklikkuse, ainulaadsuse jne. Selles teemas tutvume SQL-klahvidega.
RDBMS-is on võtmetel oluline roll. See osaleb relatsiooniandmebaasi mitmetes tegevustes. Key abil saab andmete otsimise palju kiiremaks ja tõhusamaks muuta. Selle abil saab suhte luua kahes või enamas tabelis. Võtmete kasutamine võimaldab meil hoida andmebaasis õigeid ja järjepidevaid andmeid. Samuti identifitseeriti see kord tabelist kord. Nendel tabelitel võib olla mitu veergu.
Päriselus võib tabelil olla mitu klahvi. Kõiki veerge saab deklareerida ka võtmetena ja neid võtmeid saab andmebaas jõustada.
Süntaks:
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`);
Ülaltoodud SQL-päringus näeme, kuidas veerg "cust_id" on seatud primaarvõtmeks.
SQL-võtmete tüüp
SQL Server toetab mitut tüüpi võtmeid.
Järgnevas loendis on SQL-võtmed:
- Esmane võti
- Unikaalne võti
- Kandidaadi võti
- Alternatiivne võti
- Komposiitvõti
- Supervõti
- Võõrvõti
Näiteks
Klientide tabel | ||||
cust_id | kliendi_nimi | Kliendi aadress | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | New Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Karm Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Allpool on toodud tabel „Tellimus“, millel on seotud andmed klientide tabeli „kliendi_id“.
Tellimustabel | ||
cust_id | tellimiskuu_kuu | tellimuse_kogus |
100001 | 2019 - jaanuar | 100 000 dollarit |
100002 | 2019 - jaanuar | 120 000 dollarit |
100003 | 2019 - jaanuar | 100 000 dollarit |
100004 | 2019 - jaanuar | 110 000 dollarit |
100001 | 2019 - veebr | 105 000 dollarit |
100002 | 2019 - veebr | 125 000 dollarit |
Nüüd läbime iga klahvi ükshaaval:
1. Esmane võti
Esmane võti on väli, mida saab kasutada kõigi andmebaasis olevate tüüpide unikaalseks tuvastamiseks. Ainult ühte veergu saab kuulutada primaarvõtmeks. Primaarvõtmel ei saa olla väärtust NULL.
Näide . Ülalolevas relatsioonitabelis on peamiseks võtmeks cust_id, kuna see tuvastab kogu rea tabelist üheselt.
2. Kordumatu võti
Unikaalne võti võib olla väli või väljade komplekt, mida saab kasutada tüübi ainulaadseks tuvastamiseks andmebaasist. Ühe või mitu välja saab deklareerida kordumatu võtmena. Ainulaadses võtmeveerus on ka NULL-i väärtus. Ainulaadse võtme kasutamine parandab andmete otsimist. See muudab andmebaasist kirjete otsimise palju kiiremaks ja tõhusamaks.
Näide: ülaltoodud relatsioonitabelis on unikaalne võti „cust_aadhaar_number”, „cust_pan_number”, kuna see võimaldab veerus lubada ühe NULL-i väärtuse
3. Kandidaadi võti
Kandidaadivõtmeks võib olla veerg või veerugrupp, mis kvalifitseerub kordumatu võtme saamiseks. Igas tabelis on vähemalt üks kandidaatide võti. Tabelis võib olla üks või mitu kandidaatvõtit. Iga kandidaatide võti võib teatud stsenaariumide korral esmase võtmena töötada.
Näide: ülaltoodud relatsioonitabelis on kandidaatvõtmeks „cust_id”, „cust_aadhaar_number”, „cust_pan_number”, kuna see suudab kogu rea tabelist ainulaadselt tuvastada. Need veerud vastavad ka peamise võtme kriteeriumidele.
4. Alternatiivvõti
Alternatiivvõti on see võti, mida saab vajaduse korral kasutada primaarvõtmena. Alternatiivvõti kvalifitseerub samuti esmaseks võtmeks, kuid praegu pole see primaarvõti.
Näide: ülaltoodud relatsioonitabelis on alternatiivne võti „cust_aadhaar_number”, „cust_pan_number”, kuna mõlemad veerud võivad olla primaarvõtmed, kuid neid pole primaarvõtme jaoks veel valitud.
5. Komposiitvõti
Komposiitvõtit tuntakse ka liitvõtmena. Komposiitvõti viitab kahest või enamast veerust koosnevale rühmale, mida saab kasutada kordumatu tabeli tuvastamiseks tabelist. Veerugrupp üksteisega kombineeritult saab rea ainulaadselt tuvastada, kuid selle rühma üks veerg ei luba seda rida ainulaadselt tuvastada.
Näide: ülaltoodud relatsioonitabelis, st tellimustabel, nende veergude rühm “cust_id”, “order_month_year”, mida kasutatakse koos, et tuvastada tellimustabelis ainulaadselt täpike. Selle tabeli üksikud veerud ei suuda tellimustabelist unikaalselt tuvastada jaotust.
6. Supervõti
Super võti on veergude kombinatsioon, tabeli iga veerg jääb sellest sõltuvaks. Supervõtmel võib rühmas olla veel mõned veerud, mida võib vaja minna, kui vajalik, et tuvastada tabelist kordusnimetus. Kandidaatide võti on supervõtme alamhulk. Kandidaadivõtit tuntakse ka kui minimaalset supervõtit.
Näide: Ülalolevas ülaltoodud relatsioonitabelis on supervõti esmane võti, kandidaatvõti ja kordumatu võti. Klienditabeli ühe veeruna, st 'cust_id', piisab, et tuvastada tabelist ainulaadsed tüübid. Mis tahes veerukomplekt, mis sisaldab „cust_aadhaar_number”, „cust_pan_number”, on supervõti.
7. Võõravõti
Võõras võti on veerg, mida teises tabelis nimetatakse primaarvõtmeks, st tabeli primaarvõtit võib teises tabelis nimetada võõraks võtmeks. Võõral võtmel võivad olla dubleerivad & NULL-i väärtused, kui see on määratletud NULL-i väärtuste aktsepteerimiseks.
Näide: Ülalolevas relatsioonitabelis on kliendi tabelis peamine võti 'cust_id', tellimustabelis aga 'cust_id', mida tuntakse võõra võtmena. Tabeli võõrast võtit saab alati teise tabeli primaarvõtmeks.
Ülaltoodud pildil on näidatud, kuidas iga veergu näidatakse võtmena vastavalt nende kvalifikatsioonile, et tuvastada tabelist ainuüksi tüübid. Ekraanipilt võtab relatsioonitabeli abil kokku kogu võtme.
Järeldus - SQL võtmed
SQL-võtmed on relatsiooniandmebaasi üks atribuute. mis mängib olulist rolli kahe või enama tabeli vahelise suhte loomisel. See aitab ka päringuid kiiremini täita, st klahvide abil muutub dokumentide andmebaasist väljavõtmine palju kiiremaks. Klahvid määravad ka erinevad piirangud, et unikaalselt tuvastada tüübid suurandmete põhjal.
Soovitatavad artiklid
See on SQL-võtmete juhend. Siin käsitleme SQL-võtmete ja 7 erinevat tüüpi sissejuhatust koos sobiva näitega üksikasjalikult. Võite vaadata ka järgmist artiklit.
- Eristatav märksõna SQL-is
- Kursorid SQL-is
- Võõrvõti SQL-is
- Tehingud SQL-is