logo

Soorten sleutels in relationeel model (kandidaat, super, primair, alternatief en buitenlands)

Sleutels zijn een van de basisvereisten van een relationeel databasemodel. Het wordt veel gebruikt om de tupels (rijen) uniek in de tabel te identificeren. We gebruiken ook sleutels om relaties tussen verschillende kolommen en tabellen van een relationele database in te stellen.

Verschillende soorten databasesleutels

  • Kandidaat sleutel
  • Hoofdsleutel
  • Supersleutel
  • Alternatieve sleutel
  • Vreemde sleutel
  • Samengestelde sleutel

Kandidaat sleutel

De minimale set attributen die een tuple uniek kan identificeren, staat bekend als een kandidaatsleutel. Bijvoorbeeld STUD_NO in STUDENT-relatie.



  • Het is een minimale supersleutel.
  • Het is een supersleutel zonder herhaalde gegevens en wordt een kandidaatsleutel genoemd.
  • De minimale set kenmerken die een record op unieke wijze kan identificeren.
  • Het moet unieke waarden bevatten.
  • Het kan NULL-waarden bevatten.
  • Elke tabel moet minimaal één kandidaatsleutel hebben.
  • Een tabel kan meerdere kandidaatsleutels hebben, maar slechts één primaire sleutel.
  • De waarde van de kandidaatsleutel is uniek en kan voor een tupel nul zijn.
  • Er kan meer dan één kandidaat-sleutel in een relatie zijn.

Voorbeeld:

JavaScript-reeks met meerdere regels
 STUD_NO is the candidate key for relation STUDENT.>

Tabel STUDENT

STUD_NO SNAP ADRES TELEFOON
1 Shyam Delhi 123456789
2 Rakesh Calcutta 223365796
3 Suraj Delhi 175468965
  • De kandidaatsleutel kan eenvoudig zijn (met slechts één attribuut) of ook samengesteld.

Voorbeeld:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Tabel STUDENT_COURSE

STUD_NO LERAAR_NR CURSUS_NR
1 001 C001
2 056 C005

Opmerking: In SQL Server een unieke beperking met een null-kolom, staat toe de waarde ' nul ‘ in die kolom slechts één keer . Daarom is het STUD_PHONE-attribuut hier een kandidaat, maar kan het geen ‘null’-waarde zijn in het primaire sleutelattribuut.

Hoofdsleutel

Er kan meer dan één kandidaatsleutel zijn, waaruit er één kan worden gekozen als de primaire sleutel. STUD_NO en STUD_PHONE zijn bijvoorbeeld kandidaatsleutels voor de relatie STUDENT, maar STUD_NO kan worden gekozen als de hoofdsleutel (slechts één van de vele kandidaatsleutels).



  • Het is een unieke sleutel.
  • Het kan slechts één tuple (een record) tegelijk identificeren.
  • Het heeft geen dubbele waarden, het heeft unieke waarden.
  • Het kan niet NULL zijn.
  • Primaire sleutels hoeven niet noodzakelijkerwijs uit één enkele kolom te bestaan; meer dan één kolom kan ook een primaire sleutel voor een tabel zijn.

Voorbeeld:

STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO is een primaire sleutel>

Tabel STUDENT

mysql niet gelijk
STUD_NO SNAP ADRES TELEFOON
1 Shyam Delhi 123456789
2 Rakesh Calcutta 223365796
3 Suraj Delhi 175468965

Supersleutel

De set attributen die een tupel uniek kan identificeren, staat bekend als Super Key. Bijvoorbeeld STUD_NO, (STUD_NO, STUD_NAME), enz. Een supersleutel is een groep enkele of meerdere sleutels die rijen in een tabel identificeert. Het ondersteunt NULL-waarden.

  • Door nul of meer attributen aan de kandidaatsleutel toe te voegen, wordt de supersleutel gegenereerd.
  • Een kandidaatsleutel is een supersleutel, maar omgekeerd is dat niet waar.
  • Supersleutelwaarden kunnen ook NULL zijn.

Voorbeeld:

Consider the table shown above. STUD_NO+PHONE is a super key  .>
Relatie tussen primaire sleutel, kandidaatsleutel en supersleutel

Relatie tussen primaire sleutel, kandidaatsleutel en supersleutel

Alternatieve sleutel

De kandidaatsleutel, anders dan de primaire sleutel, wordt een genoemd alternatieve sleutel .

  • Alle sleutels die geen primaire sleutels zijn, worden alternatieve sleutels genoemd.
  • Het is een secundaire sleutel.
  • Het bevat twee of meer velden om twee of meer records te identificeren.
  • Deze waarden worden herhaald.
  • Bijv.: - SNAME en ADDRESS zijn alternatieve sleutels

Voorbeeld:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Primaire sleutel, kandidaatsleutel en alternatieve sleutel

Primaire sleutel, kandidaatsleutel en alternatieve sleutel

Vreemde sleutel

Als een attribuut alleen de waarden kan aannemen die aanwezig zijn als waarden van een ander attribuut, zal het a zijn vreemde sleutel naar het attribuut waarnaar het verwijst. De relatie waarnaar wordt verwezen, wordt de relatie waarnaar wordt verwezen genoemd en het overeenkomstige attribuut wordt het attribuut waarnaar wordt verwezen genoemd. Het attribuut waarnaar wordt verwezen van de relatie waarnaar wordt verwezen, moet de primaire sleutel daarvoor zijn.

  • Het is een sleutel die fungeert als primaire sleutel in één tabel en die ook fungeert als
    secundaire sleutel in een andere tabel.
  • Het combineert twee of meer relaties (tabellen) tegelijk.
  • Ze fungeren als kruisverwijzing tussen de tabellen.
  • DNO is bijvoorbeeld een primaire sleutel in de DEPT-tabel en een niet-sleutel in EMP

Voorbeeld:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Tabel STUDENT_COURSE

STUD_NO LERAAR_NR CURSUS_NR
1 005 C001
2 056 C005

Het kan de moeite waard zijn om op te merken dat, in tegenstelling tot de primaire sleutel van een bepaalde relatie, de Foreign Key zowel NULL kan zijn als dubbele tupels kan bevatten, dat wil zeggen dat deze geen uniciteitsbeperking hoeft te volgen. STUD_NO in de STUDENT_COURSE-relatie is bijvoorbeeld niet uniek. Het is herhaald voor de eerste en derde tupels. De STUD_NO in de STUDENT-relatie is echter een primaire sleutel en moet altijd uniek zijn, en kan niet nul zijn.

.tif-bestand
Relatie tussen primaire sleutel en buitenlandse sleutel

Relatie tussen primaire sleutel en buitenlandse sleutel

Samengestelde sleutel

Soms heeft een tabel mogelijk geen enkele kolom/attribuut dat alle records van een tabel op unieke wijze identificeert. Om rijen van een tabel uniek te identificeren, kan een combinatie van twee of meer kolommen/attributen worden gebruikt. In zeldzame gevallen kan het nog steeds dubbele waarden opleveren. We moeten dus de optimale set attributen vinden die rijen in een tabel op unieke wijze kunnen identificeren.

  • Het fungeert als een primaire sleutel als er geen primaire sleutel in een tabel aanwezig is
  • Twee of meer attributen worden samen gebruikt om een samengestelde sleutel .
  • Verschillende combinaties van attributen kunnen een verschillende nauwkeurigheid opleveren in termen van het uniek identificeren van de rijen.

Voorbeeld:

FULLNAME + DOB can be combined  together to access the details of a student.>
Verschillende soorten sleutels

Verschillende soorten sleutels

Conclusie

Concluderend maakt het relationele model gebruik van een aantal sleutels: kandidaatsleutels zorgen voor duidelijke identificatie, de primaire sleutel dient als de gekozen identificatie, alternatieve sleutels bieden andere keuzes, en buitenlandse sleutels creëren vitale koppelingen die de gegevensintegriteit tussen tabellen garanderen. Het creëren van sterke en effectieve relationele databases vereist de doordachte toepassing van deze sleutels.

hoe je char naar string converteert

Veelgestelde vragen over soorten sleutels in relationeel model

V.1: Waarom zijn sleutels nodig voor DBMS?

Antwoord:

Sleutels zijn een van de belangrijke aspecten van DBMS. Sleutels helpen ons om de tupels (rijen) uniek in de tabel te vinden. Het wordt ook gebruikt bij het ontwikkelen van verschillende relaties tussen kolommen of tabellen van de database.

Vraag 2: Wat is een unieke sleutel?

Antwoord:

Unieke sleutels zijn de sleutels die de record op unieke wijze in de tabel definiëren. Het verschilt van primaire sleutels, omdat de unieke sleutel één NULL-waarde kan bevatten, maar de primaire sleutel geen NULL-waarden bevat.

Vraag 3: Wat is kunstmatige sleutel?

Antwoord:

Kunstmatige sleutels zijn de sleutels die worden gebruikt als geen van de attributen alle eigenschappen van de primaire sleutel bevat of als de primaire sleutel erg groot en complex is.