100 likes | 213 Views
Modellierung von Datenbanken. Entwicklung eines semantischen Modells. Arbeitsauftrag. Für ein Soziales Netzwerk „schoolfriends.de“ sollen in einer Datenbank folgende Informationen abrufbar sein: Wer ist angemeldet? Wer hat welche E-Mail-Adresse? Wer hat welches Foto hochgeladen?
E N D
Modellierung von Datenbanken Entwicklung einessemantischen Modells
Arbeitsauftrag Für ein Soziales Netzwerk „schoolfriends.de“sollen in einer Datenbank folgende Informationen abrufbar sein: • Wer ist angemeldet? • Wer hat welche E-Mail-Adresse? • Wer hat welches Foto hochgeladen? • Wer ist Mitglied in welcher Interessensgruppe?
Arbeitsauftrag Folgende Beispiel-Objekte wurden gefunden: 6432: MITGLIED Vorname=„Isabelle“ Nachname=„Huber“ Geburtsdatum=13.09.1994 Benutzername=„Isi“ Passwort=„AmEsadS!“ Plz=95632 Ort=„Wunsiedel“ Schule=„Luisenburg-Gym“ Geschlecht=„w“ 6433: MITGLIED Vorname=„Markus“ Nachname=„Mayer“ Geburtsdatum=03.05.1996 Benutzername=„Helmi“ Passwort=„HuGvsiW!“ Plz=95632 Ort=„Wunsiedel“ Schule=„Luisenburg-Gym“ Geschlecht=„m“ 33: FOTO Dateiname=„umzug.jpg“ 2: GRUPPE Name=„Winfo-Fans“ Motto=„Alle, die Winf mögen“ 1: GRUPPE Name=„Schule macht Spaß“ Motto=„Schlafen kannst Duwoanders!“ 2: E-Mail Mail=„isi.huber@gmy.de“ 22: E-Mail Mail=„mm@yohaa.de“ 7: FOTO Dateiname=„isabelle.jpg“ 77: FOTO Dateiname=„schule.jpg“
Arbeitsauftrag Die Verbindungslinien zeigen die Beziehungen der Objekte zueinander (Objektdiagramm): 6432: MITGLIED Vorname=„Isabelle“ Nachname=„Huber“ Geburtsdatum=13.09.1994 Benutzername=„Isi“ Passwort=„AmEsadS!“ Plz=95632 Ort=„Wunsiedel“ Schule=„Luisenburg-Gym“ Geschlecht=„w“ 6433: MITGLIED Vorname=„Markus“ Nachname=„Mayer“ Geburtsdatum=03.05.1996 Benutzername=„Helmi“ Passwort=„HuGvsiW!“ Plz=95632 Ort=„Wunsiedel“ Schule=„Luisenburg-Gym“ Geschlecht=„m“ 33: FOTO Dateiname=„umzug.jpg“ 2: GRUPPE Name=„Winfo-Fans“ Motto=„Alle, die Winf mögen“ 1: GRUPPE Name=„Schule macht Spaß“ Motto=„schlafen kannst Duwoanders!“ 7: FOTO Dateiname=„isabelle.jpg“ 77: FOTO Dateiname=„schule.jpg“ 22: E-MAIL Mail=„mm@yohaa.de“ 2: E-MAIL Mail=„isi.huber@gmy.de“
Arbeitsauftrag Gleichartige Objekte werden als Klassen mit ihren Beziehungen zusammengefasst (Klassendiagramm): < hat_hochgeladen gehört_zu > MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort Plz Ort Schule Geschlecht GRUPPE Name Motto FOTO Dateiname E-MAIL Mail < ist_erreichbar
Arbeitsauftrag Jede Beziehung wird mit ihrer Wertigkeit (Kardinalität) angegeben: n < hat_hochgeladen n gehört_zu > MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort PLZ Ort Schule Geschlecht GRUPPE Name Motto E-MAIL Mail FOTO Dateiname 1 m 1 Mitglied hat n Fotos hochgeladen. 1 Foto wurde von genau 1 Mitglied hochgeladen. 1 Mitglied gehört zu n Gruppen.Zu 1 Gruppe gehören m Mitglieder. 1 Mitglied ist unter genau 1 E-Mail-Adresse erreichbar.Unter 1 E-Mail-Adresse ist genau 1 Mitglied erreichbar. 1 1 < ist_erreichbar
Arbeitsauftrag Das nun vorliegende semantisches Modell ist noch nicht optimal. Versuche eine Optimierung: • Die Postleitzahl (PLZ) legt bereits den Ort des Mitglieds eindeutig fest! • Wie können Tippfehler bei der Schule vermieden werden? • Wie kann man die Klasse E-Mail einsparen?
Arbeitsauftrag Die Postleitzahl (PLZ) legt bereits den Ort des Mitglieds eindeutig fest. Ort und PLZ als Klasse auslagern n < hat_hochgeladen n gehört_zu > GRUPPE Name Motto WOHNORT Ort MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort Schule Geschlecht E-MAIL Mail FOTO Dateiname 1 m n 1 1 < ist_erreichbar 1 wohnt_in >
Arbeitsauftrag Wie können Tippfehler bei der Schule vermieden werden? Schule als eigene Klasse auslagern n < hat_hochgeladen n gehört_zu > MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort Geschlecht GRUPPE Name Motto SCHULE Bezeichnung WOHNORT Ort FOTO Dateiname E-MAIL Mail 1 m 1 < besucht n n 1 1 < ist_erreichbar 1 wohnt_in >
Arbeitsauftrag Wie kann man die Klasse „E-Mail“ einsparen? (1:1-Kardinalität) Inhalte als Attribut dem jeweiligen Mitglied zuordnen n < hat_hochgeladen n gehört_zu > SCHULE Bezeichnung GRUPPE Name Motto MITGLIED Vorname Nachname Geburtsdatum Benutzername Passwort E-Mail Geschlecht WOHNORT Ort FOTO Dateiname 1 m 1 < besucht n n 1 wohnt_in >