MINT lernen

Abituraufgaben: Primär- und Fremdschlüssel

Zwei Abituraufgaben zu Schlüsseln, Beziehungen und referentieller Integrität.

Dein Fortschritt:
0 / 0 Aufgaben
1

Carsharing im Viertel

AFB I–II

Ein Carsharing-Verein verwaltet Stationen, Autos und Fahrten in einer relationalen Datenbank (Material 1). Die Tabelle Kunde ist nicht abgebildet.

Material 1: Ausschnitt des Relationenschemas
StationStationNrAdresseStellplaetzeAutoKennzeichenModellSitze↑StationNrFahrtFahrtNr↑Kennzeichen↑KundenNrStartEndekm
Pfeile führen vom Fremdschlüssel zum Primärschlüssel.
  1. Geben Sie für jede Tabelle den Primärschlüssel und alle Fremdschlüssel an. 3 BE
  2. Beschreiben Sie die Beziehung zwischen Station und Auto und begründen Sie, in welcher Tabelle der Fremdschlüssel steht. 4 BE
  3. Ein neues Auto soll mit StationNr = 17 eingetragen werden; eine Station 17 gibt es noch nicht. Erklären Sie, wie ein Datenbanksystem mit referentieller Integrität reagiert. 3 BE

Insgesamt 10 BE

Hinweise

Hinweis zu Aufgabe a)
Unterstrichen = Primärschlüssel, ↑ = Fremdschlüssel.
Hinweis zu Aufgabe b)
Wie viele Autos kann eine Station haben, wie viele Stationen ein Auto?
Hinweis zu Aufgabe c)
Was verlangt referentielle Integrität von jedem Fremdschlüsselwert?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Station: PK StationNr, kein FK. Auto: PK Kennzeichen, FK StationNr. Fahrt: PK FahrtNr, FK Kennzeichen und KundenNr.

Erwartungshorizont zu Aufgabe b)

Eine Station hat viele Autos, jedes Auto gehört zu genau einer Station (1:n). Der Fremdschlüssel steht auf der n-Seite in Auto, weil jedes Auto genau einen Verweis speichern kann — in Station müsste man sonst mehrere Kennzeichen in eine Zelle schreiben.

Erwartungshorizont zu Aufgabe c)

Jeder Fremdschlüsselwert muss als Primärschlüsselwert in der referenzierten Tabelle existieren. Das DBMS lehnt das Einfügen ab, bis Station 17 angelegt ist (oder der FK auf NULL gesetzt wird, falls erlaubt).

2

Welcher Schlüssel für die Fahrt?

AFB II–III

Der Verein diskutiert, das künstliche Attribut FahrtNr zu streichen und stattdessen einen zusammengesetzten Primärschlüssel zu verwenden. Vorgeschlagen werden (1) (Kennzeichen, Start) und (2) (KundenNr, Start). Start enthält Datum und Uhrzeit auf die Minute genau.

Material 2: Auszug aus der Tabelle Fahrt
FahrtNrKennzeichenKundenNrStartEndekm
901HI-CS 12K072026-09-01 08:002026-09-01 10:3042
902HI-CS 15K072026-09-01 08:002026-09-01 08:050
903HI-CS 12K112026-09-01 11:002026-09-01 12:0018
  1. Überprüfen Sie beide Vorschläge anhand der Daten in Material 2. 4 BE
  2. Begründen Sie, ob Vorschlag (1) grundsätzlich als Primärschlüssel geeignet ist. 4 BE
  3. Legen Sie sich auf einen Primärschlüssel für Fahrt fest und begründen Sie Ihre Entscheidung. 3 BE

Insgesamt 11 BE

Hinweise

Hinweis zu Aufgabe a)
Suche in den Daten zwei Zeilen mit gleicher Kombination.
Hinweis zu Aufgabe b)
Kann dasselbe Auto zur selben Minute zwei Fahrten beginnen?
Hinweis zu Aufgabe c)
Wäge Eindeutigkeit, Stabilität und Handhabung ab.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

(2) ist in den Daten verletzt: K07 hat zwei Fahrten mit Start 08:00 (901 und 902 — ein Auto wurde gleich wieder zurückgegeben). (1) ist in den Daten eindeutig.

Erwartungshorizont zu Aufgabe b)

Ein Auto kann nicht gleichzeitig zwei Fahrten beginnen; (1) ist fachlich eindeutig und nie NULL. Nachteile: Der Schlüssel ist lang, ändert sich bei Korrektur der Startzeit, und jede Tabelle, die auf Fahrt verweist, bräuchte zwei Fremdschlüsselattribute.

Erwartungshorizont zu Aufgabe c)

Erwartet wird eine begründete Festlegung, z. B. FahrtNr beibehalten: kurz, stabil, eindeutig, einfach als Fremdschlüssel (Rechnung, Schadensmeldung). (1) ist ebenfalls vertretbar, wenn auf spätere Verweise verzichtet wird. (2) ist ausgeschlossen.