Datenbanken: Primärschlüssel
Falls über diesem Text keine PDF-Präsentation zu sehen ist, wurde diese von Ihrem Browser direkt runtergeladen (wenn Sie z.B. mit Safari@Mac surfen). Sie könnnen zum Download auch hier klicken: Direktdownload 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
Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).
Die aktuelle Übung können Sie hier als txt-File 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)
Welches Attribut wäre hier jeweils ein geeigneter Primärschlüssel?
A) Attribute zur Datenbank "Lagerbestand"
Artikelpreis, Artikelname, Artikelnummer, Regalnummer
B)
LaufendeNummer, Kundename, Kundevorname, Kundegeburtsdatum
DB_01-3: Geeigneten Primärschlüssel bestimmen (zusammengesetzter Primärschlüssel)
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, AnzahlBegleitpersonal, Datum, PersonalausweisnummerPilot
B) Attribute zur Datenbank "Ausleihvorgänge" (im DVD-Verleih)
DVD_Nummer, Filiale, DVD_Erscheinungsjahr, Kundenummer, Kundenachname, Kundetelefon, Rueckgabedatum, Ausleihdatum
DB_01-4: Primärschlüssel bestimmen - einfache und zusammengesetzte
A) Relation "Kunden"
wohnort, vorname, nachname, land_id, kunde_id
(Beispieldatensatz: 'Stuttgart', 'Herbert', 'Maier', 7, 13)
B) Relation "Lagerbestand"
artikel_name, regal_nummer, anzahl, artikel_nummer, einkaufspreis
(Beispieldatensatz: 'Bürste', 287, 3, 1928, 6.85)
C) Relation "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) Relation "Fahrraeder"
hersteller, farbe, gangschaltung, fahrrad_id, bremsen
(Beispieldatensatz: 17, grün, 8, 13, 56)
E) Relation "Bestellungen"-
rechnungssumme, kunde_id, bestelldatum
(Beispieldatensatz: 89.38, 13, 2010-12-01 11:29:12)
F) Relation "Bücher"-
buchtitel, erscheinungsjahr, autor_name, preis, seitenzahl
(Beispieldatensatz: 'Kochen für Anfänger', 1981, 'Herbert Smith', 13.95, 198)
