Datenmodellierung (VL 2.0, 181.194)
Laborübungsteil, SS 2010
Musterlösung Beispiel 1 (ER-Modellierung)
Fußball-WM
ER-Diagramm:
Relationenmodell:
- Personen (AkkrNr, Name, Land, GebDatum)
- Schiedsrichter (AkkrNr: Personen.AkkrNr, Erfahrung)
- Spieler (AkkrNr: Personen.AkkrNr, Nr, Position, Team: Teams.Land)
- Betreuer (AkkrNr: Personen.AkkrNr, Funktion, Team: Teams.Land)
- Trainer (AkkrNr: Betreuer.AkkrNr, Lizenz, Team: Teams.Land)
- Teams (Land, Flagge, Cheftrainer: Trainer.AkkrNr)
- Hymnen (Land: Teams.Land, Hymne)
- Spiele (SpielNr, Runde, Datum, Uhrzeit, Stadion: Stadien.Name)
- Stadien (Name, Ort, Dach, Hauptsponsor: Sponsoren.Name)
- Plaetze (Stadion: Stadien.Name, Sektor, Rang, Stiege, Reihe, PlatzNr)
- Eintrittskarten (KartenNr, Preis, Spiel: Spiele.SpielNr, Stadion: Plaetze.Stadion, Sektor: Plaetze.Sektor, Rang: Plaetze.Rang, Stiege: Plaetze.Stiege, Reihe: Plaetze.Reihe, PlatzNr: Plaetze.PlatzNr)
- Funktionen (Funktion, Lohn)
- leiten (Spiel: Spiele.SpielNr, Schiedsrichter: Schiedsrichter.AkkrNr, Funktion: Funktionen.Funktion)
- Sponsoren (Name, Webseite)
- Trikotsponsor (Team: Teams.Land, Sponsor: Sponsoren.Name
- Einsatz (Spieler: Spieler.AkkrNr, Spiel: Spiele.SpielNr, Position, von, bis, Tore)
- Einsatz (Spieler: Spieler.AkkrNr, Spiel: Spiele.SpielNr, Position, von, bis)
- Tore (Spiel: Einsatz.Spiel, Spieler: Einsatz.Spieler, Minute, Eigentor)
- Vorlage (Spiel: Tore.Spiel, Spieler: Tore.Spieler, Minute: Tore.Minute, Vorlagengeber: Spieler.AkkrNr)
- wechseln (AustauschSpiel: Einsatz1.Spiel, AustauschSpieler: Einsatz1.Spieler, EinwechselSpiel: Einsatz2.Spiel, EinwechselSpieler: Einsatz2.Spieler)
Telekommunikationsfirma
ER-Diagramm:
Relationenmodell:
- Kunden (KNr, Name, Bankverbindung, Rechnungsadresse: Adressen.AdressNr)
- Privatkunden (KNr: Kunden.KNr, GebDatum)
- Firmenkunden (KNr: Kunden.KNr, Ansprechpartner)
- Adressen (AdressNr, PLZ, Ort, Strasse, Nummer)
- haben (Kunde: Kunden.KNr, Adresse: Adressen.AdressNr)
- Vertraege (VertrNr, Datum, Laufzeit, Kunde: Kunden.KNr, Angebot: Angebote.AngebotsNr)
- Kuendigung (VertrNr: Vertraege.VertrNr, Datum, Grund)
- Handyvertraege (VertrNr: Vertraege.VertrNr, Rufnummer, SIMKarte)
- Internetvertraege (VertrNr: Vertraege.VertrNr, MACAdresse)
- Angebote (AngebotsNr, Bezeichnung, Kriterien)
- Pakete (PaketNr, gueltig_ab, gueltig_bis)
- Internetpakete (PaketNr: Pakete.PaketNr, Download, Upload, Limit, Gebuehren)
- Handytarife (PaketNr: Pakete.PaketNr, Grundgebuehr, Gespraechsgebuehren)
- haben_I (Angebot: Angebote.AngebotsNr, Internetpaket: Internetpakete.PaketNr)
- haben_T (Angebot: Angebote.AngebotsNr, Handytarif: Handytarife.PaketNr)
- Telefongespraeche (VertrNr: Handyvertraege.VertrNr, Datum, Uhrzeit, Dauer, Ziel)
- Internetverbindungen (VertrNr: Internetvertraege.VertrNr, Datum, Uhrzeit, Datenvolumen, Ziel)
- Rechnungen (VertrNr: Vertraege.VertrNr, Jahr, Monat)
- Shops (FilialNr, Telefon, Adresse: Adressen.AdressNr
- Mitarbeiter (MANr, Name, SVNr, Gehalt, Adresse: Adressen.AdressNr)
- arbeiten (Mitarbeiter: Mitarbeiter.MANr, Shop: Shops.FilialNr)
- Handymodelle (Marke, Typ, Preis)
- Einkaeufe (EinkaufNr, Datum, Kunde: Kunden.KNr, Shop: Shops.FilialNr, Mitarbeiter: Mitarbeiter.MANr)
- kaufen (Einkauf: Einkaeufe.EinkaufNr, Marke: Handymodelle.Marke, Typ: Handymodelle.Typ, Anzahl)
- Geraete (Typ, Bezeichnung)
- beinhalten (Internetpaket: Internetpakete.PaketNr, Geraetetyp: Geraete.Typ, Geraetebezeichnung: Geraete.Bezeichnung)
- Installation (Mitarbeiter: Mitarbeiter.MANr, Kunde: Kunden.KNr, Standort: Adressen.AdressNr, Geraeteyp: Geraete.Typ, Geraetebezeichnung: Geraete.Bezeichnung, Datum)
Musiksammlung
ER-Diagramm:
Relationenmodell:
- Tontraeger (EAN, Titel, Typ, Medium, Lagerplatz: Lagerplaetze.Nummer)
- Track (Tontraeger: Tontraeger.EAN, Nummer, Musikstueck: Version.Musikstueck, Version: Version.Bezeichnung)
- Musikstuecke (MusikNr, Titel)
- Covers (Original: Musikstuecke1.MusikNr, Cover: Musikstuecke2.MusikNr)
- Version (Musikstueck: Musikstuecke.MusikNr, Bezeichnung, Dauer, Bewertung)
- Genres (Genre, Beschreibung)
- aus (Musikstueck: Version.Musikstueck, Version: Version.Bezeichnung, Genre: Genres.Genre)
- Mitwirkende (MitwNr, Name)
- Bands (MitwNr: Mitwirkende.MitwNr, Webseite)
- Musiker (MitwNr: Mitwirkende.MitwNr)
- Bands_bestehen_aus_Musikern (Band: Bands.MitwNr, Musiker: Musiker.MitwNr)
- Orchester (MitwNr: Mitwirkende.MitwNr, Land)
- Orchester_bestehen_aus_Musikern (Orchester: Orchester.MitwNr, Musiker: Musiker.MitwNr)
- Funktionen (Funktion)
- Mitwirkung (Musikstueck: Version.Musikstueck, Version: Version.Bezeichnung, Mitwirkender: Mitwirkende.MitwNr, Funktion: Funktionen.Funktion)
- Lagerplaetze (Nummer, Beschreibung)
- MP3-Sammlung (Pfad, Dateiname, Groesse, Bitrate, Musikstueck: Version.Musikstueck, Version: Version.Bezeichnung)
- Playlisten (PID, Name)
- Playlisteneintraege (Playlist: Playlisten.PID, Nummer, Pfad: MP3-Sammlung.Pfad, Dateiname: MP3-Sammlung.Dateiname)
Hinweis: Sie können die rekursive Beziehung "Covers" durchaus auch als rekursive Beziehung des Entitytyps "Version" auf sich selbst modellieren:
- Covers (Originalmusikstueck: Version1.Musikstueck, Originalversion: Version1.Bezeichnung, Covermusikstueck: Version2.Musikstueck, Coverversion: Version2.Bezeichnung)