ER-Modell · ER-Modell allgemein Mit dem Entity-Relationship-Modell versucht man grafisch ein...

27
+ ER-Modell Entity-Relationship-Model

Transcript of ER-Modell · ER-Modell allgemein Mit dem Entity-Relationship-Modell versucht man grafisch ein...

+

ER-Modell

Entity-Relationship-Model

+Was ist ein Modell?

Worte/Zitat aus einem Physikbuch:

"Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die

Wirklichkeit selbst." (Metzler Physik).

+Ein Datenmodell

  Daten in einem Datenbanksystem beschreiben Objekte und Beziehungen zwischen ihnen, sie sind also ein "Bild" einer Situation der Welt.

  Dieses "Bild" wird erstellt um eine bestimmte Aufgabe zu bearbeiten.

  Nicht interessierende Elemente werden dafür vernachlässigt.

+Die Miniwelt

  Durch Betrachtung von Merkmalen, die für das Projekt wichtig sind wird eine Teilmenge der tatsächlichen Objekte und Beziehungen erstellt (Miniwelt)

+Das Modell der Miniwelt

  Die in Frage kommenden Elemente der Miniwelt werden im Computer in ein abstraktes System überführt.

  Hier werden Aufgaben bearbeitet und Aussagen erstellt.

  Die Ergebnisse müssen mit der Miniwelt und der realen Welt abgeglichen werden.

+Anteile ER-Modell

Entity-Relationship-

Modell

Grafik (ER-Diagramm) Beschreibung

Dateninhalte

Bedeutung/Semantik der

Daten

Datenstrukturen

Datentypen (z.B. Baum)

+ER-Modell allgemein

  Mit dem Entity-Relationship-Modell versucht man grafisch ein datenbank-gerechtes Abbild der Miniwelt zu erstellen.

  Der Einsatz von ER-Modellen ist der De-facto-Standard für die Datenmodellierung, auch wenn es unterschiedliche grafische Darstellungsformen für Datenmodelle gibt.

  Das ER-Modell wurde 1976 von Peter Chen vorgestellt.

  Die Beschreibungsmittel für Generalisierung und Aggregation wurden 1977 von Smith und Smith eingeführt.

  Weiterentwicklung Ende der 1980er Jahre durch Wong und Katz.

+Ein ER-Diagramm als Beispiel

+Klassifizierung der Miniwelt

  Die Miniwelt eines Pizzaservice besteht unter anderem aus folgenden Elementen:

  Aus diesem Sammelsurium müssen jetzt Begriffe gesucht werden, die sich gut als spätere Tabelle eignen.

+Klassifizierung der Miniwelt

  Die Begriffe Preis und Zutaten könnten als Charakterisierung einer Pizza dienen. -> Entität Pizza.

  Beim Pizzabäcker und Fahrer sind für den Pizzaservice z.B. nur Adresse, Telefonnr. und Gehalt wichtig. -> Entität Angestellter

+Entities und ihre Attribute

  Entitäten werden durch Rechtecke symbolisiert, zugehörige Attribute durch Ellipsen.

  Man sucht also zentrale Begriffe (Entitäten) und Eigenschaften, durch die sie charaktierisiert werden (Attribute).

+Die Rolle von Beziehungen in Modellen - 2 Beispiele

  Jeder deutsche Satz ist im allgemeinen von der Form "Subjekt Prädikat Objekt". Es werden also zwei "Sachen" (Subjekt und Objekt) zueinander in Beziehung gesetzt (Prädikat).

  Das mechanische Modell der Physik baut auf Objekten und Beziehungen (Kräfte) unter ihnen auf.

Das Krümelmonster isst Kekse.

+Relationships (Beziehungen)

  Das ER-Modell wird erst dadurch mächtig, dass man zusätzlich versucht, die Beziehungen der Entitäten zueinander zu erfassen. Dies wird durch Rauten im Diagramm dargestellt:

+Kardinalität

  Die Kardinalität einer Menge ist die Anzahl der Elemente in dieser Menge.

  Die Kardinalität einer Datenbanktabelle (Relation) ist die Anzahl der Zeilen in dieser Tabelle.

  Die Kardinalität einer Spalte (Attribut) einer Datenbanktabelle ist die Anzahl der verschiedenen Attributwerte in dieser Spalte.

+Kardinalitätsstufen

  Je geringer die Kardinalität der Spalte einer Datenbanktabelle, desto mehr Duplikate oder NULL-Werte gibt es in dieser Spalte. Man unterscheidet drei Kategorien, deren Grenzen fließend sind:   Hohe Kardinalität: Weisen Spalten mit sehr wenigen Duplikaten

oder mit eindeutigen Werten auf. Spalten mit hoher Kardinalität sind beispielsweise solche, die Benutzernamen oder Benutzer-IDs speichern.

  Niedrige Kardinalität: Weisen Spalten auf, deren Werte sehr viele Duplikate haben, beispielsweise solche mit Klassifizierungen in wenige Kategorien, wie zum Beispiel die Angabe des Geschlechts.

  Normale Kardinalität: Weisen Spalten auf, die nicht in die beiden oben genannten Kategorien fallen.

+Kardinalität von Beziehungen

 Man unterscheidet 3 verschiedene Arten mit der Objekte miteinander in Beziehung stehen:  1:1-Beziehung  1:N-Beziehung  M:N-Beziehung

+1:1 - Beziehung

  Jedem Objekt A ist genau ein Objekt B zugeordnet. Beispiel: Jeder Fahrer hat sein eigenes Auto.

  Gesprochen etwa so:“ Jeder Fahrer fährt genau ein Auto und jedes Auto wird von genau einem Fahrer gefahren.“

+1:N - Beziehung

  Jedem Objekt A können mehrere Objekte B zugeordnet sein. Beispiel: Jeder Fahrer fährt mehrere Pizzas aus.

  Gesprochen: “ Jeder Fahrer fährt mehrere Pizzas aus, jede Pizza wird von höchstens einem Fahrer ausgefahren."

+M:N - Beziehung

  Jedem Objekt A können mehrere Objekte B zugeordnet und jedem Objekt B können aber auch mehrere Objekte A zugeordnet sein. Beispiel: Angestellter bäckt Pizza.

  Gesprochen: “ Jeder Angestellte bäckt eine oder mehrere Pizzas, jede Pizza wird von einem oder mehreren Angestellten gebacken."

+Beispiele zum ER-Modell

  In den folgenden Beispielen geht es immer darum, aus einer textbeschriebenen Miniwelt ein ER-Diagramm zu erstellen.

+ 1.  Ein Postleitzahlenverzeichnis soll in eine Datenbank integriert werden. Zeichne ein ER-Diagramm der Entitäten Postleitzahl und Ort mit der Beziehung "identifiziert".

2.  Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten.

3.  Zu einer gespeicherten Sammlung von Digitalfotos, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden.

4.  CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel).

5.  Entwickler programmieren Komponenten, die selbst wiederum aus Komponenten bestehen können. Um Probleme zu vermeiden, darf eine Komponente nicht von mehreren Entwicklern programmiert werden.

+1. PLZ-Verzeichnis

Erläuterungen:

  Auch wenn explizit keine Attribute angegeben sind, so muss eine Entität doch mindestens durch ein Attribut gekennzeichnet sein. Eine Postleitzahl wird durch eine Nummer bezeichnet, ein Ort durch seinen Namen.

  "identifiziert" ist eine 1:N Beziehung, denn jedem Ort können mehrere Postleitzahlen zugeordnet sein, jeder Postleitzahl aber nur ein Ort.

+2. Zeugnisse

Erläuterungen:

  Man hat hier die Wahl, Noten als eine eigene Entität festzulegen.

  Die Beziehung "erhält" ist für jedes Schuljahr eine 1:1-Beziehung, denn jeder Schüler erhält genau ein Zeugnis und jedes Zeugnis ist genau einem Schüler zugeordnet

+3. Digitalfotos

Erläuterungen:

  Die Beziehung "gehört zu" ist eine N:M-Beziehung, da jedes Foto zu mehreren Stichworten gehört, jedes Stichwort aber auch zu mehreren Fotos.

+4. CDs

Erläuterungen:

  Die Songs sind dieses Mal als eigene Entität definiert worden, da ihr Titel mitgespeichert werden soll (eigenes Attribut!).

  Die Beziehung "nimmt auf" ist eine N:M-Beziehung, da ein Interpret mehrere CDs aufnehmen kann, umgekehrt eine CD aber auch von mehreren Interpreten eingespielt worden sein kann.

  Die Beziehung "enthält" ist auch eine N:M-Beziehung, da jede CD mehrere Songs enthalten kann, jeder Song aber auch auf mehreren CDs vorhanden sein kann (z.B. auf einer "Best-Of"-Scheibe).

+5. Programmierer

  Aufgrund der oben genannten Einschränkungen handelt es sich bei der Beziehung "programmiert" um eine 1:N Beziehung

  Die Beziehung "enthält" zeigt, dass Entitäten auch zu sich selbst in Beziehung stehen können.

+Aufgabe: Eine einfache Lehrerdatenbank   In der Schule unterrichten Lehrer Klassen in einem oder in mehreren Fächern.

  In jeder Klasse wird ein Fach höchstens einmal unterrichtet (es gibt keine zwei Kurse).

  Von den Lehrern sind Adresse, Name, Vorname und Geburtsdatum interessant, zu einem Fach soll angegeben werden, ob es sich um ein Haupt- oder ein Nebenfach handelt

  Zu jeder Klasse soll der Name und die Zahl der Schüler gespeichert werden.

Erläuterungen:

  Ein Lehrer unterrichtet mehrere Klassen, eine Klasse wird von mehreren Lehrern unterrichtet.

  Eine Klasse hat mehrere Fächer, ein Fach wird in mehreren Klassen gegeben.

  Ein Lehrer hat die Befähigung für mehrere Fächer, ein Fach wird von mehreren Lehrern unterrichtet.