Planung für die Do, 06.11.14 Thema: Datenbankmodellierung: Kardinalitäten von Beziehungen Besprechungen: Miniwelten „Soziales Netzwerk“ Libero: Julius Wiederholungen Was versteht man unter einem Fremdschlüssel? Hausaufgabenbesprechung : Modellierung der Miniwelt „Computerzubehörfirma“ (Quelle: Datenbanken, Informatik für die Sek II, Jürgen Burkert, Roland Lächa, ISBN 3-88327-372-42002) Die Computerzubehörfirma Rauchchip möchte ihre Verwaltung auf EDV umstellen. Sie verkauft ein Sortiment von Artikeln, die sie von verschiedenen Herstellen bezieht. Außerdem hat sie einen bestimmtem Kundenkreis, der bei ihr ihre Bestellungen aufgibt. Eine Bestellung kann natürlich mehrere Artikel umfassen. Derselbe Artikel kann oft von mehreren Herstellern bezogen werden, und ein Hersteller liefert natürlich meist mehr als einen Artikel. D:\481341452.doc Themen: Übung (ER-Modellierung): Modellierung der Miniwelt „Soziales Netzwerk“ (Quelle: E. Möhrig, 2014) Es soll ein (vorerst) sehr einfaches soziales Netzwerk modelliert werden: Personen, die dem Netzwerk beitreten, werden mit realem Name, Nick-Name, Geburtsdatum und Geschlecht erfasst. Jeder Nutzer bekommt nach der Nomenklatur [email protected] eine E-Mail-Adresse zugewiesen. Jeder Nutzer kann Fotos ins Netzwerk hochladen. Von dem Foto werden Dateiname, Datum und Zeit (wann es hochgeladen wurde) und Speicherplatzbedarf erfasst. Jede Person kann Einträge in ein Gästebuch schreiben. Die Einträge sind einfach chronologisch (nicht untereinander vernetzt). Für jeden Eintrag ins Gästebuch wird der Text sowie Datum und Uhrzeit des Eintrags gespeichert. Zusätzlich kann jede Person jedes Foto mit einem Symbol („+“, „0“ oder „-“) bewerten. Arbeitsauftrag: Erstelle ein ER-Modell für dieses Szenario. Beachte die richtigen Symbole. Denke an die Formalismen, die du kennen gelernt hast. Zusatz: Kannst du aus deiner Erfahrung heraus ein weiteres Element eines sozialen Netzwerkes benennen, das du mit Hilfe eine Relation hier einbinden könntest? Skizziere, wo die Relation anknüpft. D:\481341452.doc Kardinalitäten von Beziehungen Beispiel 1: Miniwelt Unternehmen (Quelle: Cornelius) Abwandlung/Variation zum ER-Modell Beispiel 2: Miniwelt CD-Verwaltung Anschauliche Erklärung: http://www.infschule.de/information/datenbanksysteme/ermodelle/kardinalitaet D:\481341452.doc Beziehungen lassen sich vereinfacht in drei Typen unterscheiden: 1:1 Beziehungen Hier steht ein Objekt mit genau einem Objekt in Beziehung. Ein Typisches Beispiel hierfür wäre die Beziehung ‚verheiratet’. Hier steht ein (1) Element des Typs Mensch mit einem (1) Objekt des Typs Mensch in Beziehung. 1:n Beziehungen Ein Beispiel für eine derartige Beziehung wäre in der obigen CD-Datenbank ‚hat veröffentlicht’. Ein Interpret kann mehrere (n) CD veröffentlichen. Aber eine CD ist nur einem (1) Interpreten zugeordnet. n:m Beziehung Ein Schüler wird von mehreren (m) Lehrern unterrichtet. Ein Lehrer unterrichtet aber auch mehrere (n) Schüler. Die Beziehung ‚unterrichten’ ist also eine n:m Beziehung. D:\481341452.doc Aufgabe 1: Gib für jede Beziehung die Kardinalität an. (Quelle: E. Möhrig, 2014) Tipp: Die Hilfsfrage lautet: Wählte ein Objekt aus. Mit wie vielen Objekte stehen diese Objekt in Verbindung? 1. Mutter hat Tochter 2. Bruder hat Schwester 3. Person besitzt Reisepass 4. Lieferant stellt Rechnung 5. Lehrer D:\481341452.doc unterrichtet Kasse Aufgabe 2: Ergänze die folgenden Diagramme um Kardinalitäten. Das ist nicht immer eindeutig. Diskutiere die Ergebnisse in der Gruppe. (Quelle: http://www.inf-schule.de/information/datenbanksysteme/ermodelle/eindeutig, 06.11.2014) D:\481341452.doc Aufgabe 3: Notiere für jede Relation die Kardinalität (in der kurzen Notation) direkt ins Diagramm des Entity-Relationship-Modells. (Quelle: E. Möhrig, 2014) Hausaufgabe: 1. Aufgabe 3 2. Ergänze das ER-Modell zur Miniwelt „Soziales Netzwerk“ aus Aufgabe 3 um eine weitere Objektklasse und stelle eine Beziehung/Relatin zu einer (oder mehrerer) bereits vorhandenen Objektklasse(n) her. Notiere auch die dazu gehörenden Kardinalitäten. Keine Abgabe. Du musst in der nächsten Stunde am Smartboard die Kardinalitäten und deine Ergänzung in das ER-Modell eintragen und deinen Mitschülern erklären können. D:\481341452.doc Alle bisherigen Wiederholungsfragen: 1. Weshalb sind Buchnummer und Satznummer nicht identisch? 2. Weshalb werden Bearbeitungen bei ACCESS i.d.R. immer sofort gespeichert? Es gibt zwar ein Rückgängigtaste, aber diese ist meistens nicht anwählbar? 3. Welche Bedeutung haben die Zeichen ?, #, * bei einer Sucheingabe? Au* *haus H*n ?b* 4. Was bedeutet QBE-Abfrage? 5. Was bedeutet SQL? 6. Was unterscheidet die einfache Suche vom Filtern? Wahrheitstabellen o UND (z.B. UND Titel = *drei* ) Autor = „Hitchcock“ Titel = *drei* Wahr Wahr Falsch Falsch Wahr Falsch Falsch Wahr o ODER (z.B. Autor = „Hitchcock“ Autor = „Hitchcock“ Autor = „Hitchcock“ UND Titel = *drei* ODER Autor = „Hitchcock“ Titel = *drei* Wahr Wahr Falsch Falsch Wahr Falsch Falsch Wahr Titel = *drei* ) Autor = „Hitchcock“ ODER Titel = *drei* Wie beurteilst du die Urheberrechts-Problematik wg. der Speicherung von class-in-a-boxFotographien auf IServe? Was ist ein Primärschlüssel? Weshalb war sinnvoll in der Bibliotheksdatenbank die Ausleihe als Beziehungstabellen anzulegen, anstatt die Ausleihinformationen/Ausleihdaten einfach in die Büchertabelle oder die Lesertabelle einzutragen? D:\481341452.doc Welchen großen Vorteil brachte die Verknüpfung der Leser- mit der Büchertabelle durch die Ausleihtabelle? Was kennzeichnet ein relationales Datenbanksystem? Was bedeutet „Referentielle Integrität“ und Inkonsistenz? Was bedeutet Löschweiterleitung? Wofür steht ER beim ER-Modell? Wozu dient das ER Modell? Welche symbolischen Vereinbarungen gibt es beim ER-Modell? D:\481341452.doc