SQL-TOETSEN zijn enkele of meerdere attributen die worden gebruikt om gegevens uit de tabel te halen volgens de vereiste of voorwaarde. Ze kunnen ook worden gebruikt om relaties tussen verschillende tabellen op te zetten. Er zijn verschillende soorten SQL-TOETSEN, namelijk:
- Supertoets
- Kandidaatsleutel
- Primaire sleutel
- Alternatieve sleutel
- Samengestelde sleutel
- Unieke sleutel
- Buitenlandse sleutel
1. SUPER SLEUTEL
Een SUPER KEY is een combinatie van een of meerdere kolommen in een tabel in de database, die helpen bij de unieke identificatie van elke rij in de tabel. Het is een groep van een of meerdere sleutels.
Voorbeeld:
EmpSSN | EmpNum | EmpName |
1254654 | TAE03 | Harry |
2165465 | TAE04 | Ron |
2154864 | TAE05 | Dobby |
In het bovenstaande voorbeeld zijn EmpSSN en EmpNum SUPER KEYS omdat ze helpen bij het uniek identificeren van elke rij in de tabel.
2. KANDIDAATSLEUTEL
CANDIDATE KEY is ook een set kolommen of attributen die helpen om elke rij in de tabel afzonderlijk te identificeren. Een KANDIDAATSLEUTEL kan worden gedefinieerd als een SUPERSLEUTEL zonder overeenkomende kenmerken. Het kan worden gedemonstreerd als een subset van SUPER KEY. Er kunnen meerdere kandidaatsleutels in een tabel staan.
Voorbeeld:
StuID | Rollen | Voornaam | Achternaam | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Dobby | Wright | [email protected] |
StuID, Roll en Email zijn KANDIDAATSLEUTELS in de bovenstaande tabel omdat ze helpen om elke rij uniek te identificeren.
3. PRIMAIRE SLEUTEL
PRIMAIRE SLEUTEL is een attribuut of een groep attributen die helpen bij het duidelijk identificeren van afzonderlijke rijen. De exacte waarde van de PRIMARY KEY kan niet meer dan één keer in de tabel voorkomen. EEN PRIMAIRE SLEUTEL kan worden uitgedrukt als een subset van een KANDIDAATSLEUTEL. Er kunnen niet meerdere PRIMAIRE SLEUTELS in een tabel zijn.
Eigenschappen van een PRIMAIRE SLEUTEL:
- Er mogen geen dubbele waarden van PRIMARY KEY in de tabel voorkomen.
- PRIMAIRE SLEUTEL mag geen null-waarden bevatten.
- De waarde van een PRIMAIRE SLEUTEL mag mettertijd niet worden gewijzigd.
- Elke afzonderlijke rij in de tabel moet een PRIMAIRE SLEUTEL bevatten.
Voorbeeld:
StuID | Rollen | Voornaam | Achternaam | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Dobby | Wright | [email protected] |
StuID is de primaire sleutel in het bovenstaande voorbeeld, omdat het elk record in de tabel op unieke wijze kan identificeren.
4. AFWISSELENDE SLEUTEL
ALTERNATE KEY helpt bij het duidelijk identificeren van de records in de tabel. Er kunnen meerdere kolommen in een tabel zijn die afzonderlijke rijen in de tabel afzonderlijk kunnen identificeren. Van deze attributen wordt slechts één attribuut gekozen als PRIMAIRE SLEUTEL. De rest van de attributen worden ALTERNATE KEYS.
Voorbeeld:
StuID | Rollen | Voornaam | Achternaam | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Dobby | Wright | [email protected] |
In het bovenstaande voorbeeld zijn Roll en Email ALTERNATE KEYS.
De volgende weergave helpt KANDIDAATSLEUTEL, PRIMAIRE SLEUTEL en ALTERNATIESLEUTEL op een betere manier te begrijpen.
5. SAMENGESTELDE SLEUTEL
COMPOSITE KEY is een samenvoeging van meerdere kolommen die helpen bij het duidelijk identificeren van elke rij. Deze herkenbaarheid is alleen gegarandeerd wanneer de kolommen worden gecombineerd. Wanneer de kolommen afzonderlijk worden genomen, belooft dit geen onderscheidend vermogen. EEN PRIMAIRE SLEUTEL die uit meerdere attributen bestaat, wordt gedefinieerd als een SAMENGESTELDE SLEUTEL.
Voorbeeld:
Bestelnr | Product-ID | Productnaam | Hoeveelheid |
A001 | 5624185 | LCD | 1 |
A001 | 3216546 | Printer | 2 |
A001 | 3516527 | Muis | 3 |
A002 | 9816846 | Toetsenblok | 1 |
A003 | 7160354 | USB | 5 |
In het bovenstaande voorbeeld zijn OrderNo en ProductID gecombineerd om de COMPOSITE KEY te vormen. Ze kunnen niet elke rij in de tabel afzonderlijk identificeren, maar wanneer ze worden gecombineerd, kunnen ze elke record in de tabel uniek identificeren.
6. UNIEKE SLEUTEL
UNIQUE KEY kan ook elke rij in een tabel op unieke wijze identificeren, zoals een PRIMARY KEY. Maar, in tegenstelling tot een PRIMAIRE SLEUTEL, kan een UNIEKE SLEUTEL slechts één enkele null-waarde hebben. Er kunnen meerdere UNIEKE SLEUTELS in een tabel zitten.
Voorbeeld:
Laten we eens kijken naar een studententabel met de volgende kolommen.
In de bovenstaande kolommen is CityID de UNIEKE SLEUTEL. Stel, als een student de stad verlaat en voor studie naar het buitenland gaat, dan is de CityID van die student er niet. In dat geval wordt dat attribuut null en zijn null-waarden toegestaan in UNIQUE KEY.
7. BUITENLANDSE SLEUTEL
EEN BUITENLANDSE SLEUTEL in een tabel is een attribuut dat een relatie tussen twee tabellen tot stand brengt. EEN BUITENLANDSE SLEUTEL van de ene tabel verwijst naar de PRIMAIRE SLEUTEL van een andere tabel, waarmee de relatie tussen de twee tabellen tot stand wordt gebracht. EEN BUITENLANDSE SLEUTEL kan meerdere null- en dubbele waarden accepteren.
Voorbeeld:
Laten we eens kijken naar de volgende twee tabellen, de Studenten tafel, en de Bestelling tabellen.
De eerste tabel is de Studenten tafel.
StuID | FNaam | LNaam | Stad |
1 | Harry | Kane | Kolkata |
2 | Ron | Wiesley | Noida |
3 | Dobby | Wright | Mumbai |
De tweede tafel is de Order tafel.
Order-ID | Bestelnr | StuID |
1 | 65498545 | 3 |
2 | 46546854 | 2 |
3 | 21654698 | 3 |
4 | 65165415 | 1 |
De StuID in de Studenten tabel is de PRIMARY KEY, en de StuID in de Order tabel is de BUITENLANDSE SLEUTEL.
Dit zijn de essentiële sleutels in SQL waaraan belang moet worden gehecht bij het maken van of omgaan met databases.