Transcript Entitäten

Relationale Datenbanken
Der Entwurf
Die Methodik des
Datenbankentwurfs
Der Kundenwunsch:
Das Restaurant "Gut und Lecker" benötigt ein Kücheninformationssystem. Ziel ist es, eine besserer Basis z.B. für den Einkauf von
Materialien zu erhalten.
Für den Datenbankentwurf stehen folgende Informationen zur
Verfügung:
Das Restaurant führt eine Speisekarte mit unterschiedlichen Menüs
(Standard, vegetarisch, gehoben ...). Jedes Menü besteht aus
mindestens einem Gericht von dem mindestens die Bezeichnung und
die Preisklasse festgehalten werden soll. In jedes Gericht gehen
Materialien als Zutaten ein. Bezeichnung und Mengeneinheit (Gramm,
Stück, Liter ...) sind wichtig Attribute einer Zutat. Der Datenbank soll
entnommen werden können, wie viel von jedem Material in einem
Gericht benötigt wird. Weiterhin gibt es verschiedene Getränke, die mit
Bezeichnung, Art (alkoholisch, alkoholfrei, ...) charakterisiert werden.
Jedem Gericht eines Menüs wird maximal ein Getränk zugeordnet.
Jedes Menü, Gericht, Getränk und Material wird mit einer eindeutigen
Kennnummer versehen.
Die Analyse:
Welche Datenobjekte (Entitäten) sind
vorhanden?
 Mit Hilfe welcher Attribute lassen sich
die Objekte beschreiben?
 Welche Beziehungen (Assoziationen)
bestehen zwischen den Objekten?

Entitäten und Attribute

Entität
Eine Entität (entity) ist ein individuelles und identifiziertes
(Eindeutigkeit) Exemplar von Dingen, Personen oder
Begriffen der realen oder der Vorstellungswelt (s. Objekt
in der OOP).

Entitätstyp
Entitäten mit gleichen Eigenschaften (Attributen)
entsprechen einen Entitätstyp (s. Klasse in der OOP).

Attribute
Mit Hilfe von Attributen lässt sich ein Entitätstyp
beschreiben.
Bei einer Entität erhalten die Attribute konkrete Werte
Entitätstypen des
Kücheninformationssystems




Menü
Gericht
Getränk
Zutat (Material)
Hinweis:
Bei einer Feinanalyse lassen sich u.U.
weitere Entitätstypen identifizieren.
Beziehungen zwischen Entitäten
1
0..1
1..*
0..*
Beispiel:
Einem Gericht ist maximal ein Getränk zugeordnet
 c bzw. 0..1 = konditionelle Assoziation
1. Beispiel für Beziehungen
Jeder Mitarbeiter einer Firma bezieht ein Gehalt.
Ein Gehalt wird immer nur von einem Mitarbeiter bezogen
Aufgaben:
1. Welcher Art ist die wechselseitige Beziehung zwischen den
Entitäten der Mitarbeiter und der Gehälter?
2. Wie lässt sich die Beziehung grafisch darstellen?
Die 1:1 - Beziehung
Darstellung als Entity-Relationship-Modell (ERM)
Assoziationstyp (Kardinalität)
Mitarbeiter
1
Entitätsmenge A
bezieht
Relationshipname
1
Gehalt
Entitätsmenge B
Zu jeder Entität der Entitätsmenge A gibt es genau eine Entität in der Entitätsmenge B
1
Zu jeder Entität der Entitätsmenge B gibt es genau eine Entität in der Entitätsmenge A
1
2. Beispiel für Beziehungen
In einer Firma gehört jeder Mitarbeiter zu einer Abteilung.
Zu einer Abteilung gehört mindestens ein Mitarbeiter.
Aufgaben:
1. Welcher Art ist die wechselseitige Beziehung zwischen den
Entitäten der Mitarbeiter und der Abteilung?
2. Wie lässt sich die Beziehung grafisch darstellen?
Die 1:m - Beziehung
Darstellung als Entity-Relationship-Modell (ERM)
Assoziationstyp (Kardinalität)
Mitarbeiter
m
Entitätsmenge A
gehört zu
Relationshipname
1
Abteilung
Entitätsmenge B
Zu jeder Entität der Entitätsmenge A gibt es genau eine Entität in der Entitätsmenge B
1
Zu jeder Entität der Entitätsmenge B gibt es mindestens eine Entität in der Entitätsmenge A
m
3. Beispiel für Beziehungen
In einer Firma arbeitet ein Mitarbeiter an keinem, einem
oder mehreren Projekten mit.
An einem Projekt arbeitet mindestens ein Mitarbeiter.
Aufgaben:
1. Welcher Art ist die wechselseitige Beziehung zwischen den
Entitäten der Mitarbeiter und der Projekte?
2. Wie lässt sich die Beziehung grafisch darstellen?
Die m:m - Beziehung
Darstellung als Entity-Relationship-Modell (ERM)
Assoziationstyp (Kardinalität)
Mitarbeiter
m
Entitätsmenge A
arbeitet an
Relationshipname
mc
Projekt
Entitätsmenge B
Zu jeder Entität der Entitätsmenge A gibt es keine oder mindestens eine Entität in der
Entitätsmenge B
mc
Zu jeder Entität der Entitätsmenge B gibt es mindestens eine Entität in der Entitätsmenge A
m
Aufgabe
Es ist für das Kücheninformationssystem das
sog. Entity-Realationship-Modell (ERM) zu
entwerfen.
In einem Entity-Relationship-Model (ERM) werden alle
Entitäten und deren Beziehungen modellhaft dargestellt.
Den einzelnen Entitäten werden ihre Attribute
zugeordnet.
Ziel ist die anschließende Überführung der Entitäten in
Relationen (Tabellen) einer Datenbank.
Das Modell selbst ist systemunabhängig.
Beispiel eines
Entity-Relationship-Modells
Alle Primärschlüsselattribute werden unterstrichen.