Sie sind auf Seite 1von 22

DB-Tutorium

Krystian Schindler (krystian.schindler@smail.th-koeln.de)


Maurice Bartoszewicz (maurice.bartoszewicz@smail.th-koeln.de)
Wiederholung
Entität (1/2)
• „Objekt“ der realen Welt.
• Individuelles oder eindeutig Identifizierbares Exemplar von Dingen,
Begriffen oder Personen.
• Gleichartige Entitäten werden zu Entity-Mengen zusammengefasst.
• Diese Mengen haben Attribute, die alle Entitäten dieser gemeinsam haben.
• Attribute können
• Obligatorisch
• Optional sein.
Entität (2/2) - Beispiel

• Entität: Maurice, Krystian und du

• Entity-Menge: Student

• Attribute: Matrikelnummer, Name, Vorname, Geburtsdatum, Straße,


PLZ, Ort
Schlüssel - Primärschlüssel

• Minimale Menge von Attributen (also ein oder mehrere), welche eine
Entität eindeutig identifizieren.

• Diese Attribute sind obligatorisch!

• Pro Entity-Menge nur einen!

• Beispiel: Matrikelnummer.
Schlüssel - Zweitschlüssel

• Menge von Attributen, welche eine Entität identifizieren


• Können, müssen es jedoch nicht!

• Beliebig viele pro Entity-Menge

• Beispiel: Matrikelnummer oder Kombination aus Name, Vorname,


Straße, Ort, PLZ
Schlüssel - Fremdschlüssel
• Attribute, welche in einer anderen Entity-Menge ein Primärschlüssel
sind.
• Sind Referenzen und entstehen bei 1:n oder 1:cn
• Beispiel: Campus und Student
• Zu einem Campus gehören mehrere Studenten
• Campus Primärschlüssel: Campus_ID
• Student Fremdschlüssel: Campus_ID
Schlüssel – Künstliche Primärschlüssel

• Zusätzliches Attribut ohne Anwendung in der realen Welt.

• i.d.R. eine (einzigartige) Nummer.

• Dient zur eindeutigen Identifikation.

• Ersetzen einen zusammengesetzten Primärschlüssel.


• Besonders sinnvoll wenn Primärschlüssel aus sehr vielen Attributen besteht.
Beziehungen

• Beschreiben Zusammenhänge zwischen Entity-Mengen


• i.d.R. durch ein Verb.

• 2 Entitäten können auch mehrere Beziehungen miteinander


eingehen.

• Beispiel: Ein Student studiert an einem Campus


ERD Zeichnen
Beziehungen
Beziehungsarten
• Identifizierende Beziehung
• Fremdschlüssel ist Teil des Primärschlüssels
• Durchgezogene Linie
• Nicht-Identifizierende Beziehung
• Fremdschlüssel ist kein Teil des Primärschlüssels
• Bei künstlichen Primärschlüsseln i.d.R. nur nicht-Identifizierende Beziehungen
• Außer (m:n)
• Gestrichelte Linien
Ternäre Beziehung
• 3 Entity-Mengen gehen eine Beziehung ein.
• Zusätzliche Entität
Rekursive Beziehung
• Beziehung mit sich selbst.
m:n-Beziehungen
EERM
• Einführung von Supertypen und Subtypen
• Eigenschaften:
• Disjunkt: Keine Entität gehört gleichzeitig zu mehreren Subtypen.
• Vollständig: Jede Entität eines Supertyps gehört einem Subtypen an. Man kann keine
Entität des Supertyps bilden.
• Typen:
• Vollständig und disjunkt
• Vollständig und nicht disjunkt
• Nicht vollständig und disjunkt
• Nicht vollständig und nicht disjunkt
Beispiel-Aufgabe
Ein Autohändler möchte seine Verkäufe an verschiedenen Standorten protokollieren.
Zu einem Auto gehören immer der Hersteller, der Typ, die Extras, der Einkaufspreis, der Verkaufspreis (inkl. Kosten der
Extras) und das Verkaufsdatum. Die Extras beinhalten die Art (z.B. Sitzheizung, Klimaautomatik, ...) sowie den dafür
nötigen Aufpreis (Der einfachheitshalber, sind diese für jedes Auto gleich teuer). Damit dem Käufer später weitere
Angebote gemacht werden können, werden Name, Vorname, Straße, PLZ, Ort sowie E-Mail-Adresse und Telefonnummer
gespeichert. Für die jeweiligen Standorte werden Straße, Ort, PLZ sowie der Name und Vorname des Filialleiters
festgehalten. Zu jedem Standort gehören auch mehrere Verkäufer. Zur Verwaltung dieser werden Name, Vorname und
Provisionssatzgespeichert.

Aufgabe:
a) Zeichnen Sie das ERD, finden Sie sinnvolle Beziehungen und nutzen Sie künstliche Primärschlüssel.
Beispiel Lösung
Hinweise:
• Nicht die perfekte Lösung, sondern nur eine!
• Standort eines Autos anhand des Verkäufers ermittelbar.
Dieser ist also fest an einem Standort!
• In der Auto-Entity-Menge geht es um ein eindeutig
identifizierbares Auto, es wäre also sinnvoll die Fahrzeug-
Identifizierungsnummer zu ergänzen.
• Käufer hat ein oder mehrere Autos gekauft - Kein Auto fällt
raus, da der Käufer sonst ja kein Käufer ist.
• Verkäufer hingegen, sollte auch kein Auto verkauft haben, da
dieser schon im vorhinein eingespeichert werden sollte.
Beispiel Lösung
Verbesserungsmöglichkeiten:
• Eigene Entity-Menge für die Adresse, welche Straße, PLZ und
Ort beinhaltet.
• Einführen von Supertypen und Subtypen (entweder IS-A im
EERM oder wie in Aufgabe 1 des BTs)
• Person -> Käufer, Verkäufer und Filialleiter
Flugzeuge_Sitze
Beispiel Aufgabe 2 Flug_id (FK)
Sitz_id (FK)

Flugzeuge Sitze
Flug_id Sitz_id

IntAirplaneKnz SitzProdNr
Welche Informationen können Sie Anzahl_Sitze Orthopaedisch
Inbetriebnahme Kopfhoerer
aus diesem ERM extrahieren?
Polsterung
ist_montiert
Montage_id
eingebaut_am
Flug_id (FK)
Sitz_id (FK)
ausgebaut_am
Sitznr
Reihe
Etage
• Zwischen Flugzeuge und Sitze bestehen zwei n:m- Flugzeuge_Sitze

Beziehungen, die in zwei Zuordnungstabellen aufgelöst Flug_id (FK)


Sitz_id (FK)
wurden (Flugzeug_Sitze und ist_montiert)
• Eine Beziehung ist identifizierend, die andere nicht
identifizierend
Flugzeuge Sitze
• Streitpunkt 1:cn: Argument dafür: Frachtflugzeuge haben
Flug_id Sitz_id
keine Passagiersitze. Argument dagegen: Der Pilot benötigt
einen Sitz, jedes Flugzeug hat min. einen Sitz. Solange Sie gut IntAirplaneKnz SitzProdNr
Anzahl_Sitze Orthopaedisch
argumentieren können, sind beide Lösungen valide Kopfhoerer
Inbetriebnahme
• Ist eine n:m Beziehung überhaupt sinnvoll, wenn die Sitze Polsterung
ist_montiert
eindeutig einem Flugzeug zuordnet werden könnten?
Montage_id
• Problem eines ERM: Wir können nicht sehen, ob die Attribute
eingebaut_am
obligatorisch oder optional sind (z. B. Attribut Flug_id (FK)
„ausgebaut_am“ in der Tabelle „ist_montiert“ ist Sitz_id (FK)
ausgebaut_am
wahrscheinlich optional – man weiß es nicht)
Sitznr
Reihe
Etage

Das könnte Ihnen auch gefallen