Grundlagen der Datenbanken

In einer Mitarbeitertabelle (MitarbeiterNr, EMail, Name, Abteilung) sind MitarbeiterNr und EMail für jeden Mitarbeiter verschieden und nie NULL. Name und Abteilung können mit denen anderer Mitarbeiter übereinstimmen. Welche Antwort nennt alle Schlüsselkandidaten dieser Tabelle?

  1. ANur MitarbeiterNr
  2. BMitarbeiterNr sowie EMail (jede für sich ein Schlüsselkandidat)
  3. CMitarbeiterNr sowie die Kombination aus MitarbeiterNr und Name
Antwort und Erläuterung anzeigen

Antwort: B. MitarbeiterNr sowie EMail (jede für sich ein Schlüsselkandidat)

Ein Schlüsselkandidat ist eine minimale Spaltenkombination, die eine Zeile eindeutig identifiziert: Entfernt man auch nur eine Spalte, ist die eindeutige Identifizierung nicht mehr möglich. In dieser Tabelle können sowohl MitarbeiterNr als auch EMail einen Mitarbeiter jeweils für sich eindeutig identifizieren, also sind beide Schlüsselkandidaten. Ein Schlüsselkandidat wird als Primärschlüssel gewählt (hier liegt MitarbeiterNr nahe), und der nicht gewählte, EMail, heißt Alternativschlüssel. Erhält der Alternativschlüssel die Bedingungen UNIQUE und NOT NULL, werden Duplikate verhindert. Auch die Kombination aus MitarbeiterNr und Name identifiziert eine Zeile eindeutig, doch die Eindeutigkeit bleibt auch ohne Name erhalten; sie ist also nicht minimal und daher kein Schlüsselkandidat. Eine Spaltenkombination, die Zeilen eindeutig identifiziert, aber nicht unbedingt minimal ist, heißt Superschlüssel.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Datenbanken

  1. Eine Belegungstabelle (StudentNr, KursNr, Note) hält fest, welcher Studierende welchen Kurs mit welcher Note belegt hat. Ein Studierender belegt mehrere Kurse, und ein Kurs wird von mehreren Studierenden belegt. Welcher Primärschlüssel ist für diese Tabelle geeignet, wenn sich derselbe Studierende nie zweimal für denselben Kurs anmeldet?
  2. Der Primärschlüssel einer Kundentabelle (KundenID, Name) ist KundenID, und KundenID in einer Bestelltabelle (BestellID, KundenID) ist als Fremdschlüssel definiert, der auf KundenID der Kundentabelle verweist. Die Kundentabelle enthält nur die Zeilen mit KundenID 'C1' und 'C2'. Was geschieht, wenn in diesem Zustand INSERT INTO Bestellung VALUES ('O9', 'C5') ausgeführt wird?
  3. SQL-Anweisungen werden in Datendefinitionssprache (DDL), Datenmanipulationssprache (DML) und Datenkontrollsprache (DCL) eingeteilt. Welche Anweisung gehört zur DDL?
  4. Eine Produkttabelle enthält fünf Zeilen (Name, Preis): (Stift, 120), (Heft, 250), (Radierer, 80), (Ordner, 300), (Lineal, 150). Welche Antwort zeigt in der richtigen Reihenfolge die Zeilen, die SELECT Name FROM Produkt WHERE Preis >= 150 ORDER BY Preis DESC zurückgibt?
  5. Die Spalte Abteilung einer Mitarbeitertabelle enthält von der obersten Zeile an die Werte Vertrieb, Entwicklung, Vertrieb, Verwaltung, Entwicklung, Vertrieb (insgesamt 6 Zeilen). Wie viele Zeilen liefert SELECT DISTINCT Abteilung FROM Mitarbeiter?