logo

Sleutels

  • Sleutels spelen een belangrijke rol in de relationele database.
  • Het wordt gebruikt om elke record of rij met gegevens uit de tabel op unieke wijze te identificeren. Het wordt ook gebruikt om relaties tussen tabellen tot stand te brengen en te identificeren.

Bijvoorbeeld, ID wordt gebruikt als sleutel in de tabel Studenten, omdat deze uniek is voor elke student. In de PERSON-tabel zijn paspoortnummer, licentienummer en SSN sleutels, aangezien deze voor elke persoon uniek zijn.

DBMS-sleutels

Soorten sleutels:

DBMS-sleutels

1. Primaire sleutel

  • Het is de eerste sleutel die wordt gebruikt om één exemplaar van een entiteit uniek te identificeren. Een entiteit kan meerdere sleutels bevatten, zoals we zagen in de PERSON-tabel. De sleutel uit die lijsten die het meest geschikt is, wordt een primaire sleutel.
  • In de tabel WERKNEMER kan ID de primaire sleutel zijn, omdat deze uniek is voor elke werknemer. In de tabel WERKNEMER kunnen we zelfs License_Number en Passport_Number als primaire sleutels selecteren, omdat deze ook uniek zijn.
  • Voor elke entiteit is de primaire sleutelselectie gebaseerd op vereisten en ontwikkelaars.
DBMS-sleutels

2. Kandidaatsleutel

  • Een kandidaatsleutel is een attribuut of een reeks attributen die een tupel op unieke wijze kunnen identificeren.
  • Met uitzondering van de primaire sleutel worden de overige attributen beschouwd als een kandidaatsleutel. De kandidaatsleutels zijn net zo sterk als de primaire sleutel.

Bijvoorbeeld: In de tabel EMPLOYEE is id het meest geschikt voor de primaire sleutel. De rest van de attributen, zoals SSN, Passport_Number, License_Number, enz., worden beschouwd als een kandidaatsleutel.

DBMS-sleutels

3. Supersleutel

Supersleutel is een attributenset die een tupel op unieke wijze kan identificeren. Een supersleutel is een superset van een kandidaatsleutel.

DBMS-sleutels

Bijvoorbeeld: In de bovenstaande EMPLOYEE-tabel kan voor (EMPLOEE_ID, EMPLOYEE_NAME) de naam van twee werknemers hetzelfde zijn, maar hun EMPLYEE_ID mag niet hetzelfde zijn. Daarom kan deze combinatie ook een sleutel zijn.

De supersleutel zou WERKNEMER-ID (WERKNEMER_ID, WERKNEMER-NAAM) zijn, enz.

4. Buitenlandse sleutel

  • Externe sleutels zijn de kolom van de tabel die wordt gebruikt om naar de primaire sleutel van een andere tabel te verwijzen.
  • Elke werknemer werkt op een specifieke afdeling in een bedrijf, en werknemer en afdeling zijn twee verschillende entiteiten. We kunnen de informatie van de afdeling dus niet opslaan in de medewerkerstabel. Daarom koppelen we deze twee tabellen via de primaire sleutel van één tabel.
  • We voegen de primaire sleutel van de DEPARTMENT-tabel, Department_Id, toe als een nieuw attribuut in de EMPLOYEE-tabel.
  • In de tabel EMPLOYEE is Department_Id de refererende sleutel en zijn beide tabellen gerelateerd.
DBMS-sleutels

5. Alternatieve sleutel

Er kunnen een of meer attributen zijn of een combinatie van attributen die elke tuple in een relatie op unieke wijze identificeren. Deze attributen of combinaties van de attributen worden de kandidaatsleutels genoemd. Eén sleutel wordt gekozen als de primaire sleutel uit deze kandidaatsleutels, en de resterende kandidaatsleutel, als deze bestaat, wordt de alternatieve sleutel genoemd. Met andere woorden, het totale aantal alternatieve sleutels is het totale aantal kandidaatsleutels minus de primaire sleutel. De alternatieve sleutel bestaat mogelijk niet. Als er slechts één kandidaatsleutel in een relatie is, heeft deze geen alternatieve sleutel.

Bijvoorbeeld, werknemerrelatie heeft twee attributen, Employee_Id en PAN_No, die fungeren als kandidaatsleutels. In deze relatie wordt Employee_Id gekozen als de primaire sleutel, zodat de andere kandidaatsleutel, PAN_No, fungeert als de alternatieve sleutel.

roep de javascript-functie aan vanuit html
DBMS-sleutels

6. Samengestelde sleutel

Wanneer een primaire sleutel uit meer dan één attribuut bestaat, wordt deze een samengestelde sleutel genoemd. Deze sleutel wordt ook wel aaneengeschakelde sleutel genoemd.

DBMS-sleutels

Bijvoorbeeld, Bij werknemersrelaties gaan we ervan uit dat aan een werknemer meerdere rollen kunnen worden toegewezen, en dat een werknemer tegelijkertijd aan meerdere projecten kan werken. De primaire sleutel zal dus bestaan ​​uit alle drie de attributen, namelijk Emp_ID, Emp_role en Proj_ID in combinatie. Deze attributen fungeren dus als een samengestelde sleutel, aangezien de primaire sleutel meer dan één attribuut omvat.

DBMS-sleutels

7. Kunstmatige sleutel

De sleutel die is gemaakt met behulp van willekeurig toegewezen gegevens staat bekend als kunstmatige sleutels. Deze sleutels worden gemaakt wanneer een primaire sleutel groot en complex is en geen relatie heeft met veel andere relaties. De gegevenswaarden van de kunstmatige sleutels worden gewoonlijk in seriële volgorde genummerd.

Bijvoorbeeld, de primaire sleutel, die is samengesteld uit Emp_ID, Emp_role en Proj_ID, is groot in werknemersrelaties. Het zou dus beter zijn om een ​​nieuw virtueel attribuut toe te voegen om elke tuple in de relatie uniek te identificeren.