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?

  1. AStudentNr
  2. BVakNr
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van databases

  1. De primaire sleutel van de tabel Klant (KlantID, Naam) is KlantID, en KlantID in de tabel Bestelling (BestelID, KlantID) is gedefinieerd als vreemde sleutel die verwijst naar KlantID in de tabel Klant. De tabel Klant bevat alleen de rijen met KlantID 'C1' en 'C2'. Wat gebeurt er als in deze toestand INSERT INTO Bestelling VALUES ('O9', 'C5') wordt uitgevoerd?
  2. SQL-statements worden ingedeeld in de datadefinitietaal (DDL), de datamanipulatietaal (DML) en de datacontroletaal (DCL). Welke wordt als DDL ingedeeld?
  3. De tabel Product bevat vijf rijen (Naam, Prijs): (Pen, 120), (Schrift, 250), (Gum, 80), (Map, 300), (Liniaal, 150). Welk antwoord geeft in volgorde de rijen die SELECT Naam FROM Product WHERE Prijs >= 150 ORDER BY Prijs DESC teruggeeft?
  4. De kolom Afdeling van de tabel Medewerker bevat, van de bovenste rij naar beneden, de waarden Verkoop, Ontwikkeling, Verkoop, Administratie, Ontwikkeling, Verkoop (in totaal 6 rijen). Hoeveel rijen geeft SELECT DISTINCT Afdeling FROM Medewerker?
  5. Wat is het resultaat als in SQL DELETE FROM Medewerker zonder WHERE-clausule wordt uitgevoerd?