100 likes | 231 Views
Relationale Datenbanken II. Vom Entity-Relashionship-Modell zum Tabellensatz. Beispiel: Tierhandlung.
E N D
Relationale Datenbanken II Vom Entity-Relashionship-Modell zum Tabellensatz
Beispiel: Tierhandlung • Eine kleine Tierhandlung will ein Informationssystem einführen, um ihre gesamten betrieblichen Aktivitäten zu unterstützten. Als erster Schritt führen Sie eine Anforderungsanalyse mit den Mitarbeitern durch. Dabei erkennen Sie folgende Entitätsmengen: • Mitarbeiter mit den Attributen Name, Gehalt und Geburtsdatum • Mitarbeiterfunktion mit dem Attribut Beschreibung • Kunden mit den Attributen Namen, Adresse und Loyalität • Tiere mit den Attributen Name, Preis, Alter • Tierart mit den Attributen Herkunft und Nahrung • Zudem stellen Sie folgende Beziehungen fest: • Ein Tier kann genau an einen Kunden von einem Mitarbeiter verkauft werden, ein Kunde kann aber mehrere Tiere kaufen und ein Mitarbeiter kann mehre Tiere verkaufen. Ein Verkaufsakt enthält zudem ein Datum. Ein Mitarbeiter wird genau in einer Funktion angestellt. • Bilden Sie obigen Angaben in ein ER-Modell ab inklusive Angabe der Kardinalitäten. Sie müssen keine Generalisierung verwenden.
Lösung Tierhandlung Beschreibung Name Gebdat N arbeitetals 1 Mitarbeiter Mitarbeiterfunktion 1 Gehalt Alter kauft N Tier 1 Name Loyalität Kunde N Datum Preis Adresse gehört zu Name 1 Nahrung Herkunft Tierart
Aufgabe 2: ER-Modell für ein Reisebüro • Ein kleines Reisebüro will ein Informationssystem einführen, um ihre gesamten betrieblichen Aktivitäten zu unterstützten. Als erster Schritt führen Sie eine Anforderungsanalyse mit den Mitarbeitern durch. Dabei erkennen Sie folgende Entitätsmengen: • Personen mit den Attributen Name und Adresse. • Personen werden weiter vollständig disjunkt spezialisiert in: • Kunden mit den Attributen Alter und Kaufkraft • Mitarbeiter mit dem Attribut Gehalt • Land mit den Attributen Name, Telefonvorwahl, Währung und Sprache • Reiseziel mit den Attributen Name und Preis • Transportmedium mit den Attributen Bezeichnung und Preis • Sie erkennen zudem folgende Beziehungen: Ein Kunde kann von mehreren Mitarbeitern beraten werden und ein Mitarbeiter kann mehrere Kunden betreuen. Ein Kunde kann mehrere Reiseziele buchen und ein Reiseziel kann, muss aber nicht, von mehreren Kunden gebucht werden. Eine Buchung enthält immer auch das Transportmedium und ein Datum, wobei ein Transportmedium von mehreren Kunden und für mehrere Destinationen verwendet werden kann. Weiter gilt, dass ein Reiseziel genau in einem Land liegt, ein Land aber mehrere Reiseziele enthält. • Bilden Sie obigen Angaben in ein ER-Modell ab inklusive Angabe der Kardinalitäten.
Lösung Reisebüro Adresse Name Person ist Kaufkraft Kunde Mitarbeiter Gehalt Alter N M berät Bezeichnung Name N M bucht Transport-medium Reiseziel Preis K Preis L N Datum liegt in Name 1 Land Sprache Vorwahl Währung
Tierhandlung: Tabellen Regel 1: Für jede Entität muss eine Tabelle erzeugt werden. Führe künstliche, nicht-sprechende Schlüssel ein! Mitarbeiter:{[MitarbeiterNr, Name, Gebdat, Gehalt]} Mitarbeiterfunktion:{[FunktionsNr, Beschreibung]} Kunde:{[KundenNr, Name, Adresse, Loyalität]} Tier:{[TierNr, Name, Alter, Preis]} Tierart:{[TierartenNr, Nahrung, Herkunft]}
Tierhandlung: Tabellen Regel 2: Für einfach-einfache sowie einfach-komplexe Beziehungen können eigene Tabellen erstellt werden, müssen aber nicht. Wird keine eigene Tabelle erstellt, muss in der Tabelle der einfachen Entität ein Fremdschlüssel auf die andere Entität erstellt werden. Wir benutzen einmal die 2. und einmal die 1. Methode. Mitarbeiter:{[MitarbeiterNr, Name, Gebdat, Gehalt, Funktionsbeschrieb]} Mitarbeiterfunktion:{[FunktionsNr, Beschreibung]} Kunde:{[KundenNr, Name, Adresse, Loyalität]} Tier:{[TierNr, Name, Alter, Preis, TierartenNr]} Tierart:{[TierartenNr, Nahrung, Herkunft]}
Tierhandlung: Tabellen Regel 3: Für jede komplex-komplexe Beziehung muss eine eigene Tabelle erstellt werden. Ihr Schlüssel setzt sich aus den Schlüsseln allen Beteiligten der Beziehung zusammen. Mitarbeiter:{[MitarbeiterNr, Name, Gebdat, Gehalt, Funktionsbeschrieb]} Kunde:{[KundenNr, Name, Adresse, Loyalität]} Tier:{[TierNr, Name, Alter, Preis, TierartenNr]} Tierart:{[TierartenNr, Nahrung, Herkunft]} Kauf:{[MitarbeiterNr, KundenNr, TierNr, Datum]}
Aufgabe 3 Geben Sie die Tabellen für das Reisebüro an!
Lösung Tabellen Reisebüro Person:{[PersNr, Name, Adresse]} Kunde:{[PersNr, Kaufkraft, Alter]} Mitarbeiter:{[PersNr, Gehalt]} Transportmedium:{[MedienNr, Bezeichnung, Preis]} Reiseziel:{[ZielNr, Name, Preis]} Land:{[LandNr, Name, Vorwahl, Sprache, Währung]} Beratung:{[KundeNr, MitarbeiterNr]} Buchung:{[KundeNr, MitarbeiterNr, MedienNr, ZielNr, Datum]} liegtIn:{[ZielNr, LandNr]}