Schlüssel und Superschlüssel

Einführung in relationale Datenbanken in SQL

Timo Grossenbacher

Data Journalist

Aktuelles Datenbankmodell

Einführung in relationale Datenbanken in SQL

Datenbankmodell mit Primärschlüsseln

Einführung in relationale Datenbanken in SQL

Was ist ein Schlüssel?

  • Attribute, die einen Datensatz eindeutig identifizieren
  • Solange Attribute entfernt werden können: Superschlüssel
  • Wenn keine Attribute mehr entfernt werden können: minimaler Superschlüssel oder Schlüssel
Einführung in relationale Datenbanken in SQL
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

SK1 = {license_no, serial_no, make, model, year}

SK2 = {license_no, serial_no, make, model}

SK3 = {make, model, year}, SK4 = {license_no, serial_no}, SKi, ..., SKn

Angepasst von Elmasri, Navathe (2011): Fundamentals of Database Systems, 6th Ed., Pearson

Einführung in relationale Datenbanken in SQL
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

K1 = {license_no}; K2 = {serial_no}; K3 = {model}; K4 = {make, year}

  • K1 bis K3 besitzen nur ein Attribut.
  • Wenn wir entweder „make“ oder „year“ aus K4 entfernen, erhalten wir doppelte Einträge.
  • Nur ein Kandidatenschlüssel kann der gewählte Schlüssel sein.
Einführung in relationale Datenbanken in SQL

Lass uns ein paar Übungen dazu machen!

Einführung in relationale Datenbanken in SQL

Preparing Video For Download...