90 likes | 199 Views
Modellierung von Datenbanken. Übergang vom semantischen zum logischen Modell. Arbeitsauftrag. Für ein Soziales Netzwerk besteht bereits ein erweitertes, semantisches Modell einer Datenbank, aus der folgende Informationen abrufbar sind: Wer ist angemeldet?
E N D
Modellierung von Datenbanken Übergang vom semantischen zum logischen Modell
Arbeitsauftrag Für ein Soziales Netzwerk besteht bereits ein erweitertes, semantisches Modell einer Datenbank, aus der folgende Informationen abrufbar sind: • Wer ist angemeldet? • Wer hat wann welches Foto hochgeladen? • Wer ist wann Mitglied in welcher Interessensgruppe geworden? • Wer hat wann und wem eine Freundschaftsanfrage geschickt und wie ist diese beantwortet worden?
Arbeitsauftrag Speichern, welches der Mitglieder mit wem befreundet ist, in einer rekursiven Beziehung: Beitrittsdatum n < hat_hochgeladen n gehört_zu > MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort E-Mail Geschlecht GRUPPE Name Motto WOHNORT Ort SCHULE Bezeichnung FOTO Dateiname 1 m Uploaddatum 1 < besucht n m Anfragedatum Antwortdatum Ergebnis n n 1 wohnt_in > hat_Anfrage_gestellt >
Arbeitsauftrag Zunächst werden alle Klassen in Tabellen überführt. Hier als Beispiel die Klasse MITGLIED und die Klasse FOTO mit Objekten: MITGLIED FOTO Spaltenbezeichner (Attribute) Uploaddatum < hat_hochgeladen (1:n) Attributwerte Eindeutiger Zeilen- / Objektbezeichner (Primärschlüssel)
Arbeitsauftrag Da jedes FOTO von genau einem MITGLIED hochgeladen wurde, kann der Objektbezeichner aus MITGLIED als Fremdschlüssel an die Tabelle FOTO angehängt werden (1:n-Beziehung).Ebenso wird mit den Attributen der Assoziationsklasse verfahren. MITGLIED FOTO Attribut der 1:n-Beziehung Fremdschlüssel „…Nr“(ID einer fremden Klasse)
Arbeitsauftrag Arbeitsauftrag Erzeuge die Tabellen aller Klassen und löse die vorhandenen 1:n-Beziehungen inkl. Assoziationsklassen auf!
Arbeitsauftrag Alle Klassen mit aufgelösten 1:n-Beziehungen (logisches Modell): MITGLIED SCHULE FOTO GRUPPE WOHNORT
Arbeitsauftrag Zwischen MITGLIED und GRUPPE besteht eine m:n-Beziehung: MITGLIED Da jedes MITGLIED in verschiedene GRUPPEn gehören und jedeGRUPPE aus unterschiedlichen MITGLIEDern bestehen kann, mussdie Beziehung in einer eigenen Beziehungstabelle ausgedrückt werden.Attribute der Assoziationsklasse werden wieder mit angehängt: Beitrittsdatum gehört_zu gehört_zu > GRUPPE
Arbeitsauftrag MITGLIED besitzt eine rekursive m:n-Beziehung. Übersetze die Beziehungstabelle in einen beschreibenden Text! hat_Anfrage_gestellt