Introduktion til SQL-nøgler
Taster er felter i relationstabellen, som skaber forhold mellem andre tabeller, opretholder integritet, unikhed osv. I dette emne skal vi lære om SQL-nøgler.
I RDBMS spiller nøgler en vigtig rolle. Dette deltager i de flere aktiviteter i den relationelle database. Brug af nøgle kan gøre hentning af data meget hurtigere og effektiv. Det kan etablere forholdet i to eller flere tabeller. Brug af nøgler gør det muligt for os at opbevare gyldige og konsistente data i databasen. Det bruges også til entydigt at identificere en tuple (række) fra tabellen. Disse tabeller kan have flere kolonner.
I det virkelige liv kan en tabel have flere taster. Alle kolonner kan også erklæres som nøgle & disse nøgler kan håndhæves af databasen.
Syntaks:
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`);
I den ovenfor givne SQL-forespørgsel kan vi se, hvordan en kolonne 'cust_id' er indstillet som en primær nøgle.
Type SQL-nøgler
Flere typer nøgler understøttes af SQL Server.
Følgende er listen over SQL-nøgler:
- Primærnøgle
- Unik nøgle
- Kandidatnøgle
- Alternativ nøgle
- Kompositnøgle
- Supernøgle
- Fremmed nøgle
For eksempel
Kundetabel | ||||
kunde_id | kunde_navn | kunde_adresse | 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 | Hårdt Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Nedenfor angives "Bestilling" -tabellen med de relaterede data, der svarer til "cust_id" fra kundetabellen.
Bestillingstabel | ||
kunde_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 - feb | $ 105.000 |
100002 | 2019 - feb | $ 125.000 |
Nu vil vi gennemgå en efter en på hver af nøglerne:
1. Primær nøgle
Primær nøgle er et felt, der kan bruges til at identificere alle tupler unikt i databasen. Kun en af kolonnerne kan deklareres som en primær nøgle. En primær nøgle kan ikke have en NULL-værdi.
Eksempel: I den ovenfor givne relationstabel er “cust_id” den primære nøgle, da den kan identificere alle rækkerne unikt fra tabellen.
2. Unik nøgle
Unik nøgle kan være et felt eller et sæt felter, der kan bruges til unikt at identificere tuplen fra databasen. Et eller flere felter kan erklæres som en unik nøgle. Den unikke nøglekolonne kan også indeholde NULL-værdien. Brug af unik nøgle forbedrer ydelsen ved dataindhentning. Det gør søgningen efter poster fra databasen meget hurtigere og mere effektiv.
Eksempel: I den ovenfor givne relationstabel er “cust_aadhaar_number”, “cust_pan_number” den unikke nøgle, da det kan tillade en værdi som en NULL i kolonnen
3. Kandidatnøgle
Kandidatnøgle kan være en kolonne eller gruppe af kolonner, der kan kvalificere sig til unik nøgle. Hver tabel har mindst en kandidatnøgle. En tabel kan have en eller flere kandidatnøgler. Hver kandidatnøgle kan arbejde som en primær nøgle, hvis det kræves i visse scenarier.
Eksempel: I ovennævnte givne relationstabel er "cust_id", "cust_aadhaar_number", "cust_pan_number" kandidatnøglen, da den kan identificere alle rækkerne unikt fra tabellen. Disse kolonner kvalificerer også kriterierne til at være en primær nøgle.
4. Alternativ tast
Alternativ nøgle er den nøgle, der kan bruges som en primær nøgle om nødvendigt. Alternativ nøgle kvalificerer sig også til at være en primær nøgle, men indtil videre er den ikke den primære nøgle.
Eksempel: I den ovenstående givne relationstabel er “cust_aadhaar_number”, “cust_pan_number” den alternative tast, da begge kolonner kan være en primær nøgle, men endnu ikke valgt for den primære nøgle.
5. Kompositnøgle
Composite Key er også kendt som Compound Key / Concatenated Key. Composite Key henviser til en gruppe på to eller flere kolonner, der kan bruges til at identificere en tuple fra tabellen unikt. En gruppe af kolonnen i kombination med hinanden kan identificere en række unikt, men en enkelt kolonne i denne gruppe lover ikke at identificere rækken unikt.
Eksempel: I ovennævnte givne relationstabel, dvs. ordretabel, “cust_id”, “order_month_year” -gruppe af disse kolonner, der bruges i kombination til at identificere tuplen unikt i ordretabellen. Den individuelle søjle i denne tabel er ikke i stand til at identificere tuplen unikt fra ordretabellen.
6. Supernøgle
Supernøgle er en kombination af kolonner, hver kolonne i tabellen forbliver afhængig af den. Super Key har muligvis nogle flere kolonner i gruppen, som måske eller måske ikke er nødvendig for at identificere tuplen unikt fra tabellen. Candidate Key er delmængden af Super Key. Candidate Key er også kendt som minimal Super Key.
Eksempel: I den ovenfor givne relationstabel er Primær nøgle, kandidatnøgle og unik nøgle Supernøglen. Som en enkelt søjle i kundetabel er "cust_id" tilstrækkelig til at identificere tuplerne unikt fra tabellen. Ethvert sæt i kolonnen, der indeholder 'cust_aadhaar_number', 'cust_pan_number' er en Supernøgle.
7. Fremmed nøgle
En fremmed nøgle er en kolonne, der kaldes Primær nøgle i den anden tabel, dvs. En primær nøgle i en tabel kan omtales som en fremmed nøgle i en anden tabel. Fremmed nøgle kan have duplikat & NULL-værdier, hvis den er defineret til at acceptere NULL-værdier.
Eksempel: I ovennævnte givne relationstabel er 'cust_id' primær nøgle i kundetabellen, men 'cust_id' i ordretabellen kendt som en 'fremmed nøgle'. Fremmed nøgle i en tabel bliver altid den primære nøgle på den anden tabel.
Ovenstående billede viser, hvordan hver søjle vises som en nøgle i henhold til deres kvalifikation til at identificere tuplerne unikt fra tabellen. Skærmbillede opsummerer alle nøglerne ved hjælp af relationstabellen.
Konklusion - SQL-nøgler
SQL-nøgler er en af attributterne i den relationelle database. som spiller vigtige roller for at etablere et forhold mellem to eller flere tabeller. Det hjælper også forespørgsler til at udføre hurtigere, dvs. hentning af poster fra databasen bliver meget hurtigere ved hjælp af taster. Taster indstiller også den forskellige begrænsning til unikt at identificere tuplerne fra de store data.
Anbefalede artikler
Dette er en guide til SQL-nøgler. Her diskuterer vi introduktionen til SQL-nøgler og 7 forskellige typer med det passende eksempel i detaljer. Du kan også se på den følgende artikel.
- Tydeligt nøgleord i SQL
- Markører i SQL
- Fremmed nøgle i SQL
- Transaktioner i SQL