Bevezetés az SQL kulcsokba
A kulcsok a relációs táblában olyan mezők, amelyek kapcsolatot teremtenek más táblák között, megőrzik az integritást, az egyediséget stb. Ebben a témában az SQL kulcsok megismerésével fogunk foglalkozni.
Az RDBMS-ben a kulcsok fontos szerepet játszanak. Ez részt vesz a relációs adatbázis többféle tevékenységében. A Key használata sokkal gyorsabbá és hatékonyabbá teszi az adatok visszakeresését. Két vagy több táblában meghatározhatja a kapcsolatot. A kulcsok használata lehetővé teszi az érvényes és következetes adatok tárolását az adatbázisban. Ezenkívül egy egységet (sort) egyedileg azonosított a táblázatból. Ezeknek a tábláknak több oszlop is lehet.
A valós életben egy asztalnak több kulcsa lehet. Az összes oszlop kulcsnak is deklarálható, és ezeket a kulcsokat az adatbázis érvényesítheti.
Szintaxis:
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`);
A fenti SQL lekérdezésben láthatjuk, hogy a 'cust_id' oszlop miként van beállítva elsődleges kulcsként.
SQL kulcsok típusa
Az SQL Server többféle kulcsot támogat.
Az alábbiakban felsoroljuk az SQL kulcsot:
- Elsődleges kulcs
- Egyedi kulcs
- Jelölt kulcs
- Alternatív kulcs
- Kompozit kulcs
- Szuper kulcs
- Idegen kulcs
Például
Ügyfél táblázat | ||||
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 | New Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Kemény Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Az alábbiakban megadjuk a „Megrendelés” táblát, amelynek kapcsolódó adatai megfelelnek az Ügyféltáblázat „klien_id” -ének.
Rendelési táblázat | ||
CUST_ID | order_month_year | rendelési mennyiség |
100001 | 2019 - január | $ 100, 000 |
100002 | 2019 - január | 120.000 $ |
100003 | 2019 - január | $ 100, 000 |
100004 | 2019 - január | $ 110, 000 |
100001 | 2019 - február | $ 105, 000 |
100002 | 2019 - február | 125.000 $ |
Most meglátogatjuk egyenként a Kulcsokat:
1. Elsődleges kulcs
Az elsődleges kulcs egy olyan mező, amely felhasználható az összes adatbázis egyedi azonosítására. Csak az egyik oszlop deklarálható elsődleges kulcsként. Az elsődleges kulcsnak NULL értéke nem lehet.
Példa: A fenti relációs táblában a „cust_id” az elsődleges kulcs, mivel az összes sort egyedileg azonosítja a táblázatból.
2. Egyedi kulcs
Az egyedi kulcs lehet olyan mező vagy mezők halmaza, amely felhasználható a rekesz egyedi azonosítására az adatbázisból. Egy vagy több mező egyéni kulcsnak nyilvánítható. Az egyedi kulcs oszlop NULL értéket is tartalmazhat. Az egyedi kulcs használata javítja az adatkeresés teljesítményét. Sokkal gyorsabbá és hatékonyabbá teszi az adatbázisból történő rekordok keresését.
Példa: A fenti relációs táblázatban a „cust_aadhaar_number”, „cust_pan_number” az egyedi kulcs, mivel az egyik oszlopban NULL értéket engedélyezhet
3. Jelölt kulcs
A jelölt kulcs olyan oszlop vagy oszlopcsoport lehet, amely jogosult az egyedi kulcsra. Minden asztalnak legalább egy jelölt kulcsa van. A táblának lehet egy vagy több jelölt kulcsa. Az egyes jelölt kulcsok elsődleges kulcsként működhetnek, ha bizonyos forgatókönyvekben szükséges.
Példa: A fenti relációs táblában a „cust_id”, „cust_aadhaar_number”, „cust_pan_number” a jelölt kulcs, mivel az összes sort egyedileg azonosítja a táblából. Ezek az oszlopok a kritériumokat is elsődleges kulcsnak minősítik.
4. Alternatív kulcs
Alternatív kulcs az a kulcs, amely szükség esetén elsődleges kulcsként is használható. Az alternatív kulcs szintén elsődleges kulcsnak minősül, de egyelőre nem az elsődleges kulcs.
Példa: A fenti relációs táblázatban a „cust_aadhaar_number”, „cust_pan_number” az alternatív kulcs, mivel mindkét oszlop lehet elsődleges kulcs, de még nem választották ki az elsődleges kulcshoz.
5. Kompozit kulcs
A kompozit kulcs összetett kulcs / összekapcsolt kulcs néven is ismert. A kompozit kulcs két vagy több oszlopból álló csoportra utal, amelyek felhasználhatók a táblák egyedileg történő azonosítására. Az oszlopcsoportok egymással kombinálva egyedileg azonosíthatnak egy sort, de a csoport egyetlen oszlopa nem ígéri meg a sort egyedileg azonosítani.
Példa: A fenti megadott relációs táblában, azaz a Megrendelési táblázatban az ezen oszlopok „cust_id”, „order_month_year” csoportjában együttesen használják a megrendeléstáblázatban egyedileg azonosító jelet. A táblázat egyes oszlopai nem képesek egyedileg azonosítani a megrendelést a Rendelés táblázatból.
6. Szuper kulcs
A Super Key oszlopok kombinációja, a táblázat minden oszlopa függ tőle. A Super Keynek lehet még néhány oszlopa a csoportban, amelyekre szükség lehet, ha nem szükséges, hogy a táblát egyedileg azonosítsák. A jelölt kulcs a szuper kulcs részhalmaza. A jelölt kulcs minimális szuper kulcsnak is nevezik.
Példa: A fenti relációs táblázatban az elsődleges kulcs, a jelölt kulcs és az egyedi kulcs a szuper kulcs. Az Ügyféltáblázat egyetlen oszlopában, azaz a „cust_id” elegendő a táblák egyedi azonosításához. Az oszlopok minden olyan halmaza, amely tartalmazza a „cust_aadhaar_number”, „cust_pan_number” szuperkulcsot.
7. Idegen kulcs
Az idegen kulcs olyan oszlop, amelyet a másik táblázatban elsődleges kulcsnak neveznek, azaz a táblázat elsődleges kulcsa idegen kulcsnak nevezhető egy másik táblázatban. Lehet, hogy az idegen kulcs duplikált & NULL értékeket tartalmaz, ha a NULL értékeket elfogadják.
Példa: A fenti relációs táblában a 'cust_id' az elsődleges kulcs az Ügyfél táblában, a 'cust_id' pedig a Megrendelési táblázatban, az úgynevezett 'idegen kulcs'. A táblázat idegen kulcsa mindig a másik asztal elsődleges kulcsa lesz.
A fenti kép azt mutatja meg, hogy az egyes oszlopok hogyan jelennek meg kulcsként azok képzettsége alapján, hogy a táblákat egyedileg azonosítsák. A képernyőképe az összes kulcsot összefoglalja a relációs táblázat felhasználásával.
Következtetés - SQL kulcsok
Az SQL kulcsok a relációs adatbázis egyik attribútuma. amely fontos szerepet játszik a kapcsolat létrehozásában két vagy több táblázat között. Ezenkívül elősegíti a lekérdezések gyorsabb végrehajtását is, azaz a kulcsok segítségével a rekordok adatbázisból történő beolvasása sokkal gyorsabb lesz. A kulcsok a különféle korlátozásokat is beállítják, hogy egyértelműen azonosítsák a tuplakat a nagy adatokból.
Ajánlott cikkek
Ez egy útmutató az SQL kulcsokhoz. Itt részletesen bemutatjuk az SQL kulcsok bevezetését és 7 különféle típust a megfelelő példával. A következő cikket is megnézheti.
- Megkülönböztető kulcsszó az SQL-ben
- Kurzorok az SQL-ben
- Idegen kulcs az SQL-ben
- Tranzakciók az SQL-ben