Datenbanken: Primärschlüssel
Folien
Falls keine PDF-Präsentation zu sehen ist: Direktdownload der PDF-Präsentation
Primärschlüssel
Ein Primärschlüssel ist ein Attribut oder mehrere Attribute, durch das/die jeder Datensatz eindeutig gekennzeichnet wird.
Einfacher Primärschlüssel
Der Primärschlüssel besteht nur aus einem Attribut, das den zugehörigen Datensatz eindeutig kennzeichnet.
Beispiel:
| Artikel_ID | Artikelname | Einkaufspreis |
|---|---|---|
| 1 | Hut | 20.99 |
| 2 | Regenschirm | 10.50 |
| 3 | Sonnenbrille | 19.00 |
Jeder Datensatz wird durch das Feld Artikel_ID eindeutig bezeichnet. Damit das funktioniert, darf jede Artikel_ID nur EINMAL vergeben werden. Kennzeichen des Primärschlüssels ist also auch, dass er sich nicht wiederholen darf.
Zusammengesetzter/kombinierter Primärschlüssel
Mehrere Attribute bilden gemeinsam den Primärschlüssel; ein Datensatz kann dann eindeutig identifiziert werden, wenn man diese Attribute kennt.
Beispiel:
| Bestellungsdatum | Knummer | Rechnungsbetrag | Zahlungsweise |
|---|---|---|---|
| 01.09.10 | 1377 | 31.99 | Kreditkarte |
| 01.09.10 | 19991 | 188.45 | Vorkasse |
| 03.09.10 | 573 | 20.55 | Kreditkarte |
| 07.09.10 | 1377 | 61.99 | Kreditkarte |
Hier lässt sich jeder Datensatz durch die Kombination aus Bestelldatum und Kundenummer eindeutig identifizieren.
Übungen
Zusätzliche Dateien (Bilder, Klassendiagramme, HTML-Vorlagen) finden Sie in der Materialsammlung. Diese Übungen können Sie als txt-Datei herunterladen.
Übungen: Datenbanken - Primärschlüssel
DB_01-1: Nicht als Primärschlüssel geeignet
Warum ist im folgenden Beispiel "Kunde_Nachname" nicht als Primärschlüssel geeignet?
Attribute:
Kunde_Nachname, Kunde_Vorname, Kunde_Personalausweis_Nummer
DB_01-2: Geeigneten Primärschlüssel bestimmen (einfacher Primärschlüssel)
(siehe auch Excel-Tabelle 06datenbanken/datenbanken01_primaerschluessel-uebungen.xlsx, Blatt 1)
Welches Attribut wäre hier jeweils ein geeigneter Primärschlüssel?
A) Attribute zur Tabelle "Lagerbestand"
Artikelpreis, Artikelname, Artikelnummer, Regalnummer
B)Attribute zur Tabelle "Kunden"
LaufendeNummer, Kundename, Kundevorname, Kundegeburtsdatum
DB_01-3: Geeigneten Primärschlüssel bestimmen (zusammengesetzter Primärschlüssel)
(siehe auch Excel-Tabelle 06datenbanken/datenbanken01_primaerschluessel-uebungen.xlsx, Blatt 1)
Welche Attribute wären hier jeweils geeignet, um einen zusammengesetzten Primärschlüssel zu bilden?
A) Attribute zur Datenbank "Flüge der Lufthansa"
Pilotvorname, Pilotnachname, Flugzeuggewicht, Flugzeugnummer, Datum, PersonalausweisnummerPilot
B) Attribute zur Datenbank "Ausleihvorgänge" (im DVD-Verleih)
DVD_Nummer, Filiale, DVD_Erscheinungsjahr, Kundenummer, Kundenachname, Rueckgabedatum, Ausleihdatum
DB_01-4: Primärschlüssel bestimmen - einfache und zusammengesetzte
(Bearbeiten Sie das in der Excel-Tabelle 06datenbanken/datenbanken01_primaerschluessel-uebungen.xlsx, Blatt 2 (!); alternativ benutzen Sie diese Bilddatei: 06datenbanken/datenbanken01_primaerschluessel_UE4.png)
A) Tabelle "Kunden"
wohnort, vorname, nachname, land_id, kunde_id
(Beispieldatensatz: 'Stuttgart', 'Herbert', 'Maier', 7, 13)
B) Tabelle "Lagerbestand"
artikel_name, regal_nummer, anzahl, artikel_nummer, einkaufspreis
(Beispieldatensatz: 'Bürste', 287, 3, 1928, 6.85)
C) Tabelle "Ausleihvorgaenge"-
dvd_id, kunde_id, filiale_id, ausleihdatum, rueckgabedatum
(Beispieldatensatz: 53, 1664, 2, 2010-12-01 11:23:12, 2010-12-03 11:23:12)
D) Tabelle "Fahrraeder"
hersteller, farbe, gangschaltung, fahrrad_id, bremsen
(Beispieldatensatz: 17, grün, 8, 13, 56)
E) Tabelle "Bestellungen"-
rechnungssumme, kunde_id, bestelldatum
(Beispieldatensatz: 89.38, 13, 2010-12-01 11:29:12)
F) Tabelle "Bücher"-
buchtitel, erscheinungsjahr, autor_name, preis, seitenzahl
(Beispieldatensatz: 'Kochen für Anfänger', 1981, 'Herbert Smith', 13.95, 198)