MINT lernen

Übungen: Primär- und Fremdschlüssel

Zehn Übungen zu eindeutigen Schlüsseln und Verweisen zwischen Tabellen.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung; wenn du hängst, helfen dir die zwei gestuften Tipps.

A1
Wer taugt als Primärschlüssel?
AFB I

Eine Arztpraxis speichert ihre Patienten. Gib alle Attribute bzw. Kombinationen an, die sich als Primärschlüssel eignen.

Tabelle Patient
VersichertennrNameGeburtsdatumHausarzt
A123456789Brandt03.05.1990Dr. Kühn
B987654321Brandt17.11.1962Dr. Kühn
C555000111Ilić03.05.1990Dr. Sahin
Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
„Versichertennr + Name“ ist zwar eindeutig, aber nicht minimal: Die Nummer allein reicht schon. Name + Geburtsdatum kann bei Namensvettern doppelt vorkommen.
Frage: Welche Werte können bei zwei Personen gleich sein?Warum? Ein Primärschlüssel darf niemals doppelt vorkommen — auch nicht in Zukunft.
Hilfe: Eindeutig, nie leer, so klein wie möglich — überflüssige Attribute gehören nicht in den Schlüssel.
A2
Stimmt's? — Schlüsselregeln
AFB I

Fünf Aussagen zu Schlüsseln. Ordne jede als richtig oder falsch ein.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Primärschlüssel: eindeutig, nie NULL. Fremdschlüssel: Verweis, darf sich wiederholen.
Frage: Wofür steht der Pfeil im Schema?Warum? Unterstreichen und Pfeil markieren zwei verschiedene Schlüsselarten.
Hilfe: Unterstrichen = Primärschlüssel, ↑ = Fremdschlüssel.
A3
Lückentext: Fahrschule
AFB I

Betrachte das Schema der Fahrschule. Nenne die fehlenden Begriffe — ein Wort bleibt übrig.

Fahrlehrer(LehrerNr, Name, Telefon)
Fahrschueler(SchuelerNr, Name, LehrerNr)
Fahrstunde(StundeNr, Datum, SchuelerNr, LehrerNr)

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

In Fahrschueler ist SchuelerNr der . Das Attribut ↑LehrerNr ist ein ; es verweist auf das Attribut der Tabelle . Dass jeder dort eingetragene Wert auch wirklich existiert, nennt man .

„Tupel“ ist nur ein anderes Wort für Datensatz — es beschreibt keinen Schlüssel.
Frage: Worauf zeigt ein Fremdschlüssel?Warum? Er zeigt immer auf den Primärschlüssel einer anderen Tabelle.
Hilfe: Folge dem Pfeil ↑LehrerNr in die Tabelle, in der LehrerNr unterstrichen ist.
A4
Schlüssel sortieren
AFB I

Ordne jedes Attribut aus dem Fahrschul-Schema oben der passenden Rolle zu.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1nur Primärschlüssel
2nur Fremdschlüssel
3kein Schlüssel
Dasselbe Attribut (LehrerNr) spielt in verschiedenen Tabellen verschiedene Rollen: in Fahrlehrer Primär-, in Fahrschueler Fremdschlüssel.
Frage: In welcher Tabelle steht das Attribut?Warum? Die Rolle hängt von der Tabelle ab, nicht vom Namen.
Hilfe: Unterstrichen in dieser Tabelle → Primärschlüssel; mit ↑ → Fremdschlüssel.
A5
Wie viele Fremdschlüssel?
AFB I

Bestimme, wie viele Fremdschlüssel-Attribute das gesamte Fahrschul-Schema oben enthält.

Überlege selbst und trage das Ergebnis ein — Enter prüft direkt.
Fahrschueler hat ↑LehrerNr, Fahrstunde hat ↑SchuelerNr und ↑LehrerNr — zusammen 3.
Frage: Welche Attribute tragen einen Pfeil?Warum? Zähle über alle drei Tabellen.
Hilfe: Fahrlehrer: 0, Fahrschueler: 1, Fahrstunde: 2.
A6
Einen neuen Datensatz eintragen
AFB II

Eine neue Fahrstunde soll gespeichert werden. Stelle dar, in welcher Reihenfolge die Datenbank prüft, ob das erlaubt ist.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Die neue StundeNr ist noch nicht vergeben.
2Die StundeNr ist nicht NULL.
3Die eingetragene SchuelerNr existiert in Fahrschueler.
4Die eingetragene LehrerNr existiert in Fahrlehrer.
5Der Datensatz wird gespeichert.
Die beiden Fremdschlüsselprüfungen könnten auch vertauscht sein — entscheidend ist: erst Schlüsselregeln prüfen, dann speichern.
Frage: Was muss vor dem Speichern feststehen?Warum? Die Datenbank prüft Integrität, bevor sie schreibt.
Hilfe: Zuerst den eigenen Primärschlüssel, dann die Verweise, zuletzt speichern.
A7
Zusammengesetzter Schlüssel
AFB II

Eine Schule speichert Noten in Note(SchuelerNr, Fach, Halbjahr, Punkte). Es gibt 180 Schüler, 12 Fächer und 2 Halbjahre. Ermittle die gefragten Anzahlen.

Löse die Kette Schritt für Schritt: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Wie viele Attribute bilden den Primärschlüssel?
  2. Wie viele Noten kann ein einzelner Schüler höchstens haben? Noten
  3. Wie viele Datensätze kann die Tabelle höchstens enthalten? Datensätze
  4. Wie oft darf der Wert (S17, Mathe, 1) höchstens vorkommen? mal
Jede Kombination aus Schüler, Fach und Halbjahr ist höchstens einmal erlaubt: 180 · 12 · 2 = 4320 mögliche Datensätze.
Frage: Was ist beim zusammengesetzten Schlüssel eindeutig?Warum? Nicht jedes Attribut für sich, sondern die Kombination.
Hilfe: Höchstzahl = Produkt der Anzahl möglicher Werte je Schlüsselattribut.
A8
Beziehung und Fremdschlüssel
AFB II

Erkläre die Umsetzung, indem du jeder Beziehung zuordnest, wo der Fremdschlüssel steht.

Frage: Welche Seite der Beziehung hat „viele“?Warum? Auf der n-Seite kann man genau einen Verweis speichern.
Hilfe: Fremdschlüssel auf die Seite mit „viele“; bei beidseitig „viele“ eine Zwischentabelle.
A9
Fehler in der Datenbank
AFB II

Lies die Tabellen einer Fahrschule. Analysiere, welche drei Aussagen eines Schülers falsch sind.

Fahrlehrer
LehrerNrName
L1Kurz
L2Bauer
L3Öztürk
Fahrschueler
SchuelerNrNameLehrerNr
S1AnaL1
S2TimoL1
S3JuleL2
S4MoritzL9
In diesem Text stecken Fehler. Klicke genau die falschen Zeilen an — die richtigen musst du stehen lassen.
Referentielle Integrität betrifft nur die Richtung Fremdschlüssel → Primärschlüssel: Jeder Verweis muss ein Ziel haben.
Frage: Wann zeigt ein Verweis ins Leere?Warum? Integrität fordert: Zu jedem Fremdschlüsselwert gibt es den Primärschlüsselwert.
Hilfe: Mehrfache Fremdschlüsselwerte und Datensätze ohne Verweise sind erlaubt.
A10
Schlüsselkandidaten bewerten
AFB III

Ein Onlineshop sucht einen Primärschlüssel für seine Kundentabelle. Bewerte jeden Vorschlag.

Wähle für jede Zeile eine Stufe: 1 = ungeeignet, 2 = schwach, 3 = möglich, 4 = gut, 5 = sehr gut. Mit der Tastatur: Tab zur Zeile, ←/→ zwischen den Stufen, Enter setzt.
1 = ungeeignet5 = sehr gut
E-Mail-Adresse
Vorname + Nachname
eine vom Shop vergebene KundenNr
Telefonnummer
Nachname + Geburtsdatum + PLZ
E-Mail ist eindeutig, kann sich aber ändern und ist personenbezogen — möglich, nicht ideal. Eine künstliche KundenNr ist eindeutig, nie leer und bleibt gleich.
Frage: Was passiert, wenn der Wert sich ändert?Warum? Alle Fremdschlüssel, die darauf zeigen, müssten mitgeändert werden.
Hilfe: Bewerte nach: eindeutig? nie leer? unveränderlich? kurz?