SQL-sleutels - Leer 7 verschillende soorten sleutels in SQL (voorbeeld)

Inhoudsopgave:

Anonim

Inleiding tot SQL Keys

Sleutels zijn velden in de relationele tabel die relaties tussen andere tabellen creëren, integriteit, uniekheid, etc. behouden. In dit onderwerp gaan we meer te weten over SQL Keys.

In RDBMS speelt Keys een belangrijke rol. Dit neemt deel aan de meerdere activiteiten in de relationele database. Met Key kunt u gegevens veel sneller en efficiënter ophalen. Het kan de relatie in twee of meer tabellen vastleggen. Door het gebruik van Keys kunnen we geldige en consistente gegevens in de database bewaren. Het werd ook gebruikt om een ​​tuple (rij) uit de tabel op unieke wijze te identificeren. Deze tabellen kunnen meerdere kolommen bevatten.

In het echte leven kan een tafel meerdere sleutels hebben. Alle kolommen kunnen ook als Key worden gedeclareerd en deze Keys kunnen door de database worden afgedwongen.

Syntaxis:

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`);

In de hierboven gegeven SQL-query kunnen we zien hoe een kolom 'cust_id' is ingesteld als een primaire sleutel.

Type SQL-sleutels

Meerdere soorten sleutels worden ondersteund door de SQL Server.

Hierna volgt de lijst met SQL-sleutels:

  • Hoofdsleutel
  • Unieke sleutel
  • Kandidaatsleutel
  • Alternatieve sleutel
  • Samengestelde sleutel
  • Supersleutel
  • Vreemde sleutel

Bijvoorbeeld

Klantentabel
cust_idcust_namecust_addresscust_aadhaar_numbercust_pan_number
100001Sunil KumarNoida372464389211ADSFS3456K
100002Ankit GuptaGr Noida442289458453CGHAD7583L
100003Suresh YadavNew Delhi878453444144NMKRT2278O
100004Nilam SinghLucknow227643441123HFJFD3876U
100005Amal RawatGhaziabad932571156735CBMVA9734A
100006Harde SaxenaKanpur1453534363319TRYUC2568H

Hieronder wordt de tabel "Bestelling" gegeven met de bijbehorende gegevens die overeenkomen met de "cust_id" uit de klantentabel.

Besteltabel
cust_idorder_month_yearORDER_AMOUNT
1000012019 - Jan$ 100.000
1000022019 - Jan$ 120.000
1000032019 - Jan$ 100.000
1000042019 - Jan$ 110.000
1000012019 - febr$ 105.000
1000022019 - febr$ 125.000

Nu zullen we één voor één doorlopen op elke sleutel:

1. Primaire sleutel

Primaire sleutel is een veld dat kan worden gebruikt om alle tupels uniek in de database te identificeren. Slechts één van de kolommen kan als primaire sleutel worden gedeclareerd. Een primaire sleutel kan geen NULL-waarde hebben.

Voorbeeld: In de hierboven gegeven relationele tabel is "cust_id" de primaire sleutel omdat het alle rijen uniek uit de tabel kan identificeren.

2. Unieke sleutel

Unieke sleutel kan een veld of een reeks velden zijn die kunnen worden gebruikt om de tuple uit de database op unieke wijze te identificeren. Een of meer velden kunnen worden gedeclareerd als een unieke sleutel. De unieke sleutelkolom kan ook de NULL-waarde bevatten. Gebruik van unieke sleutel verbetert de prestaties van het ophalen van gegevens. Hiermee wordt het zoeken naar records uit de database veel sneller en efficiënter.

Voorbeeld: In de hierboven gegeven relationele tabel zijn "cust_aadhaar_number", "cust_pan_number" de unieke sleutel, omdat deze één waarde als een NULL in de kolom kan toestaan

3. Kandidaatsleutel

Kandidaatsleutel kan een kolom of groep kolommen zijn die in aanmerking kunnen komen voor de unieke sleutel. Elke tafel heeft ten minste één kandidaatssleutel. Een tabel kan een of meer Kandidaatssleutel hebben. Elke kandidaatssleutel kan in bepaalde scenario's werken als primaire sleutel.

Voorbeeld: In de hierboven gegeven relationele tabel zijn “cust_id”, “cust_aadhaar_number”, “cust_pan_number” de Kandidaatsleutel omdat deze alle rijen uniek uit de tabel kan identificeren. Deze kolommen kwalificeren de criteria ook als een primaire sleutel.

4. Alternatieve sleutel

Alternatieve sleutel is die sleutel die indien nodig als een primaire sleutel kan worden gebruikt. Alternatieve sleutel komt ook in aanmerking voor een primaire sleutel, maar is vooralsnog niet de primaire sleutel.

Voorbeeld: In de hierboven gegeven relationele tabel zijn "cust_aadhaar_number", "cust_pan_number" de alternatieve sleutel, aangezien beide kolommen een primaire sleutel kunnen zijn, maar nog niet zijn geselecteerd voor de primaire sleutel.

5. Samengestelde sleutel

Composite Key is ook bekend als Compound Key / Concatenated Key. Samengestelde sleutel verwijst naar een groep van twee of meer kolommen die kunnen worden gebruikt om een ​​tuple uit de tabel op unieke wijze te identificeren. Een groep van de kolom in combinatie met elkaar kan een rij uniek identificeren, maar een enkele kolom van die groep belooft niet dat de rij uniek wordt geïdentificeerd.

Voorbeeld: In de hierboven gegeven relationele tabel, dat wil zeggen Ordertabel, "cust_id", "order_month_year" groep van deze kolommen in combinatie gebruikt om het unieke tuple in de Ordertabel te identificeren. De afzonderlijke kolom van deze tabel kan het tuple niet uniek identificeren uit de tabel Order.

6. Supersleutel

Supersleutel is een combinatie van kolommen, elke kolom van de tabel blijft hiervan afhankelijk. Supersleutel kan wat meer kolommen in de groep hebben die al dan niet nodig zijn om het tuple uniek uit de tabel te identificeren. Candidate Key is de subset van de Super Key. Candidate Key is ook bekend als minimale Super Key.

Voorbeeld: In de hierboven gegeven relationele tabel is Primaire sleutel, Kandidaatsleutel & Unieke sleutel de Supersleutel. Als een enkele kolom van de klantentabel is 'cust_id' voldoende om de tupels uniek uit de tabel te identificeren. Elke set van de kolom die 'cust_aadhaar_number', 'cust_pan_number' bevat, is een Super Key.

7. Buitenlandse sleutel

Een externe sleutel is een kolom die in de andere tabel bekend staat als primaire sleutel. Een primaire sleutel in een tabel kan in een andere tabel worden aangeduid als een externe sleutel. Buitenlandse sleutel kan dubbele & NULL-waarden hebben als deze is gedefinieerd om NULL-waarden te accepteren.

Voorbeeld: In de hierboven gegeven relationele tabel is 'cust_id' primaire sleutel in de klantentabel, maar 'cust_id' in de besteltabel, ook wel 'buitenlandse sleutel' genoemd. Een externe sleutel in een tabel wordt altijd de primaire sleutel op de andere tabel.

De bovenstaande afbeelding laat zien hoe elke kolom wordt weergegeven als een sleutel volgens hun kwalificatie om de tupels uniek uit de tabel te identificeren. Screenshot vat alle sleutel samen door het gebruik van de relationele tabel.

Conclusie - SQL Keys

SQL Keys is een van de kenmerken van de relationele database. die belangrijke rollen speelt om een ​​relatie tussen twee of meer tabellen tot stand te brengen. Het helpt ook om zoekopdrachten sneller uit te voeren, dwz het ophalen van de records uit de database wordt veel sneller met behulp van Keys. Sleutels stellen ook de verschillende beperking in om de tupels op basis van de grote gegevens op unieke wijze te identificeren.

Aanbevolen artikelen

Dit is een handleiding voor SQL Keys. Hier bespreken we de inleiding tot SQL Keys en 7 verschillende typen met het juiste voorbeeld in detail. U kunt ook het volgende artikel bekijken.

  1. Onderscheid sleutelwoord in SQL
  2. Cursors in SQL
  3. Buitenlandse sleutel in SQL
  4. Transacties in SQL