Basis van databases
De tabel Inschrijving (StudentNr, VakNr, Cijfer) legt vast welke student welk vak heeft gevolgd en met welk cijfer. Eén student volgt meerdere vakken, en één vak wordt door meerdere studenten gevolgd. Als dezelfde student zich nooit twee keer voor hetzelfde vak inschrijft, wat is dan een geschikte primaire sleutel voor deze tabel?
- AStudentNr
- BVakNr
- CDe combinatie van StudentNr en VakNr
Antwoord en toelichting tonen
Antwoord: C. De combinatie van StudentNr en VakNr
Omdat één student meerdere vakken volgt, komt StudentNr alleen in meerdere rijen voor en kan het een rij niet uniek identificeren. Evenzo is VakNr alleen ook niet uniek, omdat één vak door meerdere studenten wordt gevolgd. De combinatie van StudentNr en VakNr bepaalt wel één rij, gegeven dat dezelfde student zich nooit twee keer voor hetzelfde vak inschrijft. Een primaire sleutel die zo uit meerdere kolommen bestaat, heet een samengestelde sleutel, en in SQL wordt die opgegeven door de kolommen op te sommen, zoals in PRIMARY KEY (StudentNr, VakNr). De kolommen StudentNr en VakNr van de tabel Inschrijving zijn ook vreemde sleutels die verwijzen naar de primaire sleutels van de tabellen Student en Vak, en deze tabel geeft de veel-op-veelrelatie tussen studenten en vakken weer.