DBMS-sleutels: kandidaat-, super-, primaire- en buitenlandse sleuteltypen met voorbeeld

Wat zijn sleutels in DBMS?

SLEUTELS in DBMS is een attribuut of een set attributen waarmee u een rij (tupel) in een relatie (tabel) kunt identificeren. Hiermee kunt u de relatie tussen twee tabellen vinden. Met sleutels kunt u een rij in een tabel op unieke wijze identificeren aan de hand van een combinatie van een of meer kolommen in die tabel. Sleutel is ook handig voor het vinden van een unieke record of rij uit de tabel. De databasesleutel is ook handig voor het vinden van een uniek record of een unieke rij uit de tabel.

Voorbeeld:

Werknemers-ID Voornaam Achternaam
11 Andrew Johnson
22 Tom Hout
33 Alex flink

In het hierboven gegeven voorbeeld is de werknemers-ID een primaire sleutel omdat deze op unieke wijze een werknemersrecord identificeert. In deze tabel kan geen enkele andere werknemer hetzelfde werknemers-ID hebben.

Waarom hebben we een sleutel nodig?

Hier zijn enkele redenen voor het gebruik van SQL-sleutel in het DBMS-systeem.

  • Met sleutels kunt u elke rij met gegevens in een tabel identificeren. In een echte toepassing kan een tabel duizenden records bevatten. Bovendien kunnen de records worden gedupliceerd. Sleutels in RDBMS zorgen ervoor dat u ondanks deze uitdagingen een tabelrecord op unieke wijze kunt identificeren.
  • Hiermee kunt u een relatie tussen tabellen tot stand brengen en de relatie tussen tabellen identificeren
  • Helpt u identiteit en integriteit in de relatie af te dwingen.

Soorten sleutels in DBMS (Database Management System)

Er zijn hoofdzakelijk acht verschillende soorten sleutels in DBMS en elke sleutel heeft zijn verschillende functionaliteit:

  1. Super Key
  2. Hoofdsleutel
  3. Kandidaatsleutel
  4. Alternatieve sleutel
  5. Vreemde sleutel
  6. Samengestelde sleutel
  7. Samengestelde sleutel
  8. Vervangende sleutel

Laten we elk van de sleutels in DBMS bekijken met een voorbeeld:

  • Super sleutel – Een supersleutel is een groep enkele of meerdere sleutels die rijen in een tabel identificeert.
  • Hoofdsleutel - is een kolom of groep kolommen in een tabel die elke rij in die tabel op unieke wijze identificeert.
  • Kandidaatsleutel – is een reeks attributen die op unieke wijze tupels in een tabel identificeren. Candidate Key is een supersleutel zonder herhaalde attributen.
  • Alternatieve sleutel – is een kolom of groep kolommen in een tabel die elke rij in die tabel op unieke wijze identificeert.
  • Vreemde sleutel - is een kolom die een relatie tussen twee tabellen creëert. Het doel van Foreign Keys is het behouden van de gegevensintegriteit en het mogelijk maken van navigatie tussen twee verschillende exemplaren van een entiteit.
  • Samengestelde sleutel – heeft twee of meer kenmerken waarmee u een specifiek record op unieke wijze kunt herkennen. Het is mogelijk dat elke kolom op zichzelf niet uniek is binnen de database.
  • Samengestelde sleutel – is een combinatie van twee of meer kolommen die rijen in een tabel op unieke wijze identificeren. De combinatie van kolommen garandeert uniciteit, hoewel individuele uniciteit niet gegarandeerd is.
  • Vervangende sleutel - Een kunstmatige sleutel die tot doel heeft elke record uniek te identificeren, wordt een surrogaatsleutel genoemd. Dit soort sleutels zijn uniek omdat ze worden gemaakt als u geen natuurlijke primaire sleutel heeft.

Wat is de Supersleutel?

Een superkey is een groep enkele of meerdere sleutels die rijen in een tabel identificeert. Een supersleutel kan aanvullende kenmerken hebben die niet nodig zijn voor unieke identificatie.

Voorbeeld:

EmpSSN EmpNum Empnaam
9812345098 AB05 Getoond
9876512345 AB06 Roslyn
199937890 AB07 James

In het hierboven gegeven voorbeeld zijn EmpSSN en EmpNum-naam superkeys.

Wat is een primaire sleutel?

HOOFDSLEUTEL in dbms is een kolom of groep kolommen in een tabel die elke rij in die tabel op unieke wijze identificeert. De primaire sleutel mag geen duplicaat zijn, wat betekent dat dezelfde waarde niet vaker dan één keer in de tabel kan voorkomen. Een tabel kan niet meer dan één primaire sleutel hebben.

Regels voor het definiëren van de primaire sleutel:

  • Twee rijen kunnen niet dezelfde primaire sleutelwaarde hebben
  • Elke rij moet een primaire sleutelwaarde hebben.
  • Het primaire sleutelveld mag niet nul zijn.
  • De waarde in een primaire sleutelkolom kan nooit worden gewijzigd of bijgewerkt als een externe sleutel naar die primaire sleutel verwijst.

Voorbeeld:

In het volgende voorbeeld StudID is een primaire sleutel.

StudID Rol nr Voornaam Achternaam E-mail
1 11 Tom Prijs abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Wat is de alternatieve sleutel?

ALTERNATIEVE SLEUTELS is een kolom of groep kolommen in een tabel die elke rij in die tabel op unieke wijze identificeert. Een tabel kan meerdere keuzes hebben voor een primaire sleutel, maar er kan er slechts één als primaire sleutel worden ingesteld. Alle sleutels die geen primaire sleutel zijn, worden een alternatieve sleutel genoemd.

Voorbeeld:

In deze tabel zijn StudID, Roll No, Email gekwalificeerd om een ​​primaire sleutel te worden. Maar omdat StudID de primaire sleutel is, wordt Roll No, Email de alternatieve sleutel.

StudID Rol nr Voornaam Achternaam E-mail
1 11 Tom Prijs abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Wat is een kandidaatsleutel?

KANDIDAATSLEUTEL in SQL is een reeks attributen die op unieke wijze tupels in een tabel identificeren. Candidate Key is een supersleutel zonder herhaalde attributen. De primaire sleutel moet worden geselecteerd uit de kandidaatsleutels. Elke tabel moet minimaal één kandidaatsleutel hebben. Een tabel kan meerdere kandidaatsleutels hebben, maar slechts één primaire sleutel.

Eigenschappen van kandidaatsleutel:

  • Het moet unieke waarden bevatten
  • De kandidaatsleutel in SQL kan meerdere kenmerken hebben
  • Mag geen nulwaarden bevatten
  • Het moet minimumvelden bevatten om uniciteit te garanderen
  • Identificeer elke record in een tabel op een unieke manier

Voorbeeld van kandidatensleutel: In de gegeven tabel zijn Stud ID, Roll No en e-mail kandidatensleutels waarmee we de studentengegevens in de tabel eenduidig ​​kunnen identificeren.

StudID Rol nr Voornaam Achternaam E-mail
1 11 Tom Prijs abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Kandidaatsleutel
Kandidaatsleutel in DBMS

Wat is de buitenlandse sleutel?

VREEMDE SLEUTEL is een kolom die een relatie tussen twee tabellen creëert. Het doel van Foreign Keys is het behouden van de gegevensintegriteit en het mogelijk maken van navigatie tussen twee verschillende exemplaren van een entiteit. Het fungeert als een kruisverwijzing tussen twee tabellen omdat het verwijst naar de primaire sleutel van een andere tabel.

Voorbeeld:

DeptCode Afdelingsnaam
001 Wetenschap
002 Engels
005 Computer
Leraar-ID Fnaam Lnaam
B002 David Warner
B017 Sara Jozef
B009 Mike Brunton

In dit sleutel-in-dbms-voorbeeld hebben we twee tabellen, lesgeven en afdelingen in een school. Er is echter geen manier om te zien welke zoekopdracht op welke afdeling werkt.

In deze tabel kunnen we, door de externe sleutel in Deptcode aan de naam van de leraar toe te voegen, een relatie tussen de twee tabellen creëren.

Leraar-ID DeptCode Fnaam Lnaam
B002 002 David Warner
B017 002 Sara Jozef
B009 001 Mike Brunton

Dit concept wordt ook wel referentieel genoemd Integrity.

Wat is de samengestelde sleutel?

SAMENGESTELDE SLEUTEL heeft twee of meer kenmerken waarmee u een specifiek record op unieke wijze kunt herkennen. Het is mogelijk dat elke kolom op zichzelf niet uniek is binnen de database. In combinatie met de andere kolom of kolommen wordt de combinatie van samengestelde sleutels echter uniek. Het doel van de samengestelde sleutel in de database is om elk record in de tabel uniek te identificeren.

Voorbeeld:

Bestelnr PorductID Productnaam Aantal
B005 JAP102459 Muis 5
B005 DKT321573 USB 10
B005 OMG446789 LCD-monitor 20
B004 DKT321573 USB 15
B002 OMG446789 Laser Printer 3

In dit voorbeeld kunnen OrderNo en ProductID geen primaire sleutel zijn, omdat deze een record niet uniek identificeren. Er kan echter een samengestelde sleutel van de bestellings-ID en de product-ID worden gebruikt, omdat deze elke record op unieke wijze identificeerde.

Wat is de samengestelde sleutel?

SAMENGESTELDE SLEUTEL is een combinatie van twee of meer kolommen die rijen in een tabel op unieke wijze identificeren. De combinatie van kolommen garandeert uniciteit, hoewel individuele uniciteit niet gegarandeerd is. Daarom worden ze gecombineerd om records in een tabel op unieke wijze te identificeren.

Het verschil tussen samengestelde en samengestelde sleutel is dat elk deel van de samengestelde sleutel een externe sleutel kan zijn, maar dat de samengestelde sleutel wel of geen deel kan uitmaken van de externe sleutel.

Wat is een surrogaatsleutel?

SURROGAAT SLEUTELS is Een kunstmatige sleutel die tot doel heeft elke record uniek te identificeren, wordt een surrogaatsleutel genoemd. Dit soort gedeeltelijke sleutel in dbms is uniek omdat deze wordt gemaakt als u geen natuurlijke primaire sleutel heeft. Ze geven geen enkele betekenis aan de gegevens in de tabel. Surrogaatsleutel in DBMS is meestal een geheel getal. Een surrogaatsleutel is een waarde die wordt gegenereerd vlak voordat het record in een tabel wordt ingevoegd.

Fnaam Achternaam Starttijd Eindtijd
Anne smid 09:00 18:00
krik Francis 08:00 17:00
Anna McLean 11:00 20:00
Getoond Willam 14:00 23:00

Hierboven, gegeven voorbeeld, getoonde shift timings van de verschillende werknemers. In dit voorbeeld is een surrogate key nodig om elke werknemer uniek te identificeren.

Surrogaatsleutels in sql zijn toegestaan ​​wanneer

  • Geen enkele eigenschap heeft de parameter van de primaire sleutel.
  • In de tabel wanneer de primaire sleutel te groot of ingewikkeld is.

Verschil tussen primaire sleutel en buitenlandse sleutel

Hieronder vindt u het belangrijkste verschil tussen de primaire sleutel en de vreemde sleutel:

Hoofdsleutel Vreemde sleutel
Helpt u een record in de tabel uniek te identificeren. Het is een veld in de tabel dat de primaire sleutel is van een andere tabel.
Primaire sleutel accepteert nooit nulwaarden. Een externe sleutel kan meerdere nulwaarden accepteren.
De primaire sleutel is een geclusterde index en de gegevens in de DBMS-tabel worden fysiek georganiseerd in de volgorde van de geclusterde index. Een foreign key kan niet automatisch een index aanmaken, geclusterd of niet-geclusterd. U kunt echter handmatig een index aanmaken op de foreign key.
U kunt één primaire sleutel in een tabel hebben. U kunt meerdere externe sleutels in een tabel hebben.

Samenvatting

  • Wat is de sleutel in DBMS: Een sleutel in DBMS is een attribuut of een reeks attributen die u helpen een rij (tupel) in een relatie (tabel) te identificeren
  • Sleutels in RDBMS Hiermee kunt u een relatie tussen tabellen tot stand brengen en de relatie tussen tabellen identificeren
  • Acht soorten sleutels in DBMS zijn supersleutel, primaire sleutel, kandidaatsleutel, alternatieve sleutel, buitenlandse sleutel, samengestelde sleutel, samengestelde sleutel en surrogaatsleutel.
  • Een supersleutel is een groep enkele of meerdere sleutels die rijen in een tabel identificeert.
  • Een kolom of groep kolommen in een tabel die ons helpt elke rij in die tabel op unieke wijze te identificeren, wordt een primaire sleutel genoemd
  • Alle verschillende sleutels in DBMS die geen primaire sleutel zijn, worden een alternatieve sleutel genoemd
  • Een supersleutel zonder herhaald attribuut wordt kandidaatsleutel genoemd
  • Een samengestelde sleutel is een sleutel die veel velden bevat waarmee u een specifiek record op unieke wijze kunt herkennen
  • Een sleutel die meerdere attributen heeft om rijen in een tabel uniek te identificeren, wordt een samengestelde sleutel genoemd
  • Een kunstmatige sleutel die tot doel heeft elke record uniek te identificeren, wordt een surrogaatsleutel genoemd
  • De primaire sleutel accepteert nooit nulwaarden, terwijl een externe sleutel meerdere nulwaarden kan accepteren.