Basis van databases
In de tabel Medewerker (MedewerkerNr, Email, Naam, Afdeling) zijn MedewerkerNr en Email voor elke medewerker verschillend en nooit NULL. Naam en Afdeling kunnen gelijk zijn aan die van andere medewerkers. Welk antwoord noemt alle kandidaatsleutels van deze tabel?
- AAlleen MedewerkerNr
- BMedewerkerNr, en Email (elk afzonderlijk een kandidaatsleutel)
- CMedewerkerNr, en de combinatie van MedewerkerNr en Naam
Antwoord en toelichting tonen
Antwoord: B. MedewerkerNr, en Email (elk afzonderlijk een kandidaatsleutel)
Een kandidaatsleutel is een minimale combinatie van kolommen die een rij uniek kan identificeren: als er ook maar één kolom uit wordt weggelaten, is unieke identificatie niet meer mogelijk. In deze tabel kunnen MedewerkerNr en Email elk afzonderlijk een medewerker uniek identificeren, dus zijn het allebei kandidaatsleutels. Eén kandidaatsleutel wordt als primaire sleutel gekozen (hier ligt MedewerkerNr voor de hand), en de niet gekozen sleutel, Email, heet een alternatieve sleutel. Door de alternatieve sleutel de beperkingen UNIQUE en NOT NULL te geven, worden dubbele waarden voorkomen. De combinatie van MedewerkerNr en Naam kan een rij ook uniek identificeren, maar de uniciteit blijft behouden zonder Naam, dus ze is niet minimaal en daarom geen kandidaatsleutel. Een combinatie van kolommen die rijen uniek identificeert maar niet per se minimaal is, heet een supersleutel.