Datenbankentwurf mit Hilfe des ER-Modells entwickeln Um eine Datenbank aufzubauen, muss ein möglichst exaktes Abbild der relevanten Welt definiert werden, ein Datenmodell. Dazu müssen alle relevanten Objekte und Beziehungen zwischen den Objekten in einem semantischen Datenmodell erfasst und beschrieben werden. Für diese konzeptionelle Phase eignet sich sehr gut das Entity-Relationship-Modell (Entität-Beziehungs-Modell, ER-Modell) In vier Schritten wird das semantische Datenmodell mit Hilfe des ER-Modells erfasst und dann in zwei weiteren Schritten in ein logisches Datenmodell, hier das relationale Datenbankmodell, umgewandelt. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 1. Schritt: Entitäten (Objektmengen) festlegen Zur graphischen Darstellung der Objektmengen werden Rechtecke verwendet. 2. Schritt: Beziehungen (Relationship) zwischen diesen Objektmengen festlegen Zur graphischen Darstellung einer Beziehung verwendet man eine Raute. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 3. Schritt: Beziehungstyp (Kardinalität der Beziehung) festlegen Der Beziehungstyp (Kardinalität) einer Beziehung gibt an, wie viele Objekte der Objektmenge E1 einem beliebigen Objekt der Objektmenge E2 zugeordnet sein können. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 3. Schritt: Beziehungstyp (Kardinalität der Beziehung) festlegen Anzahl der Objekte E1, die einem Objekt E2 zugeordnet werden können Symbol Bezeichnung des Beziehungstyps (Kardinalität der Beziehung) genau eine 1 einfach keine oder eine (0 oder 1) c einfach-bedingt (konditionell) mindestens eine oder mehrere (m>=1) keine, eine oder mehrere (m>=0), d. h. beliebig viele m oder mehrfach (viele, komplex) n mc oder nc St. Wiedemann mehrfach-bedingt Datenbankentwurf mit Hilfe des ER-Modells entwickeln 3. Schritt: Beziehungstyp (Kardinalität der Beziehung) festlegen Der Beziehungstyp mc : n drückt aus, dass jeder Anbieter mindestens einen Dienst anbietet bzw. jeder Dienst hat beliebig viele (d. h. keinen, einen oder mehrere) Anbieter St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 4. Schritt: Attribute für die Objektmengen und Beziehungen festlegen Zur graphischen Darstellung der Attribute werden Ellipsen verwendet, die mit Linien an den Objekten und Beziehungen angebunden sind. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 5. Schritt: Das ER-Modell mit Hilfe von Abbildungsregeln in ein relationales Datenbankmodell überführen Regel 1: Jede Objektmenge muss als eigenständige Tabelle mit einem eindeutigen Primärschlüssel definiert werden. Tabellen Anbieter und Dienste : Die im Schritt 4 festgelegten Attribute werden als Datenfelder in den jeweiligen Tabellen angelegt. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 5. Schritt: Das ER-Modell mit Hilfe von Abbildungsregeln in ein relationales Datenbankmodell überführen Regel 2: Für alle 1:1-Beziehungen gilt: Es genügt eine Tabelle. Regel 3: Für alle 1:n bzw. 1:c-Beziehungen gilt: Eine eigene Beziehungsmengen-Tabelle ist nicht notwendig. Der Primärschlüssel der 1-Tabelle muss als Fremdschlüssel in der n- bzw. c-Tabelle aufgenommen werden. Regel 4: Für alle komplex-komplex-Beziehungen (n:m; n:c, mc:n usw.) gilt: Es muss eine eigenständige Beziehungsmengen-Tabelle definiert werden. Die Primärschlüssel der zugehörigen Objektmengen treten als Fremdschlüssel in der Beziehungsmengen-Tabelle auf. St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 5. Schritt: Das ER-Modell mit Hilfe von Abbildungsregeln in ein relationales Datenbankmodell überführen Zwischen den Objektmengen Anbieter und Dienste liegt eine mc : n -Beziehung vor: eigene Beziehungsmengen-Tabelle notwendig St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 5. Schritt: Das ER-Modell mit Hilfe von Abbildungsregeln in ein relationales Datenbankmodell überführen Zwischen den Objektmengen Anbieter und Dienste liegt eine mc : n -Beziehung vor: Tabelle Angebot Primärschlüssel Fremdschlüssel St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 6. Schritt: Normalisierungsregeln 1-3 auf den Datenbankentwurf anwenden Relationaler Datenbankentwurf mit drei Tabellen: Vorteil eines Datenbankentwurfs mit dem Entity-Relationship-Modell (ER-Modell) Nach konsequenter Anwendung der Abbildungsregeln befinden sich die erzeugten Relationen (Tabellen) häufig schon in den Normalformen St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln 6. Schritt: Normalisierungsregeln 1-3 auf den Datenbankentwurf anwenden Überprüfung der Normalisierungsregeln 1-3 : zusammengesetzte Inhalte berechenbares Datenfeld Daten atomisieren !!! St. Wiedemann Datenbankentwurf mit Hilfe des ER-Modells entwickeln Die Tabellen Anbieter, Angebot und Dienste in der 3. NF St. Wiedemann Materialien Datenbanken Die Stundenvorschläge A und B sind ausgearbeitet im Internet zu finden unter der folgenden Adresse: http://www.realschule.bayern.de St. Wiedemann Materialien Datenbanken St. Wiedemann Materialien Datenbanken St. Wiedemann Materialien Datenbanken St. Wiedemann Materialien Datenbanken St. Wiedemann Kommentar Datenbanken Die beiden Stundenvorschläge eignen sich hervorragend als Beispiel zur Modellierung einer relationalen Datenbank. An zwei zur Verfügung stehenden Datenbanken nachbar_1.mdb und nachbar_3.mdb kann nun das erworbene Wissen angewendet werden. Die Datenbank nachbar_1.mdb stellt lediglich eine Datenbasis (in Form von Tabellen) zur Verfügung. Beziehungen, Formulare, Abfragen und Berichte müssen selbst erstellt werden. Die Datenbank nachbar_3.mdb dient als Vorlage für mögliche Abfragen und Formulare. Bei der Übung mit den zwei Datenbanken wird man feststellen, dass der Entwurf mit Schwächen behaftet ist. St. Wiedemann Kommentar Datenbanken Eine Beziehungstabelle benötigt keinen neuen Primärschlüssel. Besser erzeugt man aus den beiden Fremdschlüsseln einen Kombinationsschlüssel. Diese Lösung hat gleichzeitig den Vorteil, dass in der Beziehungstabelle keine Duplikate auftauchen können. Bei der Tabelle Anbieter verwendet man besser das Attribut Auto-Wert. Man muss somit nicht ständig nach neuen Werten bei der Vergabe von Anbieternummern suchen. Die Erstellung eines Formulars zur Datenpflege ist nur sehr schwierig zu bewerkstelligen. Das vorliegende Formular dient lediglich der Sichtung von Datensätzen, für die gleichzeitige Eingabe von Anbietern und deren Diensten ist es nicht geeignet. St. Wiedemann Kommentar Datenbanken Eine mögliche Lösung der angeführten Probleme finden Sie in der Datenbank nachhilfe.mdb Zur Übung können Sie die Datenbank nachhilfe_light.mdb verwenden. Darin befinden sich nur die notwendigen Tabellen mit den Datensätzen als Datenbasis. Als Vorlage für mögliche Abfragen steht Ihnen die Datenbank nachhilfe_lsg.mdb zur Verfügung. Am besten entwerfen Sie natürlich eine eigene, neue Datenbank. Um Ihnen die lästige Suche und Eingabe von „erfundenen“ Datensätzen (Datenschutz!) zu ersparen, finden Sie geeignete Informationen gespeichert in ExcelTabellen. Die Datensätze müssen also nur noch importiert werden. Viel Spaß und Erfolg!!! St. Wiedemann