Das Entity-Relationship-Modell 1976 vorgeschlagen von Peter Chen Entities wohlunterschiedbare Dinge der realen Welt Beispiele: Personen, Autos weithin akzeptiertes Modellierungswerkzeug, denn ist unabhšngig von einem bestimmten Datenbanksystem Grundkonstrukte Ó EntityÒ und Ó RelationshipÒ unterstÿtzen die drei Abstraktionskonzepte: Klassifikation, Aggregation, Spezialisierung erlaubt eine Darstellung konzeptioneller EntwŸrfe in einer graphischen Notation Entity-Typ (Entity-Set) Menge von Šhnlichen Entities Beispiel: alle in Berlin lebenden Personen Bemerkung: Entity-Sets mÿssen nicht disjunkt sein (z.b. Bankangestellter ist auch Bankkunde) Entity im Entity-Set besitzen Eigenschaften = Attribute Grundidee: Reale Welt lš t sich durch Objekte und Beziehungen zwischen den Objekten beschreiben. Objekte: Entities, Beziehungen: Relationships Jedes Attribut besitzt einen Wertebereich), die DomŠne (= Zusammenfassung der zugelassenen Werte
Entity-Diagramm fÿr das Buch-Beispiel Enitity-Diagramm fÿr die Leserinformation Attribut(name) Domain InvNr vierstellige Zahlen Autor Characterstrings der LŠnge 12 Titel Characterstrings der LŠnge 20 Verlag Characterstrings der LŠnge 15 Einwertiges Attribut Ð mehrwertiges Attribut bisher: Buch hat nur einen Autor (einwertiges Attribut) ein Buch kann mehrere Autoren haben (mehrwertiges Attribut) Ð Darstellung als Doppelkreis Die Menge aller Attribute eines Entity-Sets hei t Entity-Format. Beachte: Das Entity-Format ist zeitinvariant. Der Inhalt des Entity-Sets ist zeitveršnderlich.
keine Folie Genauere Betrachtung des Buch-Beispiels: bisher: Buch hat nur einen Autor (einwertiges Attribut) ein Buch kann mehrere Autoren haben (mehrwertiges Attribut) Ð Darstellung als Doppelkreis Namen sind typischerweise aus Vor- und Nachname Adressen aus Strasse und Ort zusammengesetzt FŸr zusammengesetzte Attribute werden die Komponenten ebenfalls durch Kreise oder Ovale dargestellt und Ÿber Kanten mit der Zusammensetzung verbunden SchlŸssel Jede Teilmenge der Attributmenge, die die Elemente eindeutig identifiziert hei t SchlŸssel. SchlŸssel mit minimaler Anzahl an Attributen hei en SchlŸsselkandidaten Auch denkbar: FŸr ein Entity-Set lš t sich mehr als ein SchlŸssel(-kandidat) angeben. Beispiel: Entity-Set: Stadt Attribute: PLZ, Land, Einwohnerzahl, Vorwahl SchlŸssel: PLZ oder Vorwahl Der tatsšchlich gewšhlte SchŸsselkandidat hei t PrimŠrschlŸssel (die anderen Kandidaten SekundŠrschlŸssel) Ein SchlŸssel K ist folglich stets eine minimale identifizierende Attributkombination; jede (echte) Obermenge von k ist ein Superkey (Obermenge eines SchlŸssels)
keine Folie Unterstrichene Attribute: Zur Beschreibung Die einzelnen Entities eines Sets wurden als wohlunterscheidbar vorausgesetzt. Detailliertes Entity-Diagramm fÿr das Buch-Beispiel Jedes Entity mu im Entity-Set eindeutig durch seine Attribute identifizierbar sein Oft reicht jedoch eine Teilmenge davon aus. Solche Attribute nennen wir SchlŸsselattribute und ihre Zusammenfassung einen SchlŸssel (engl. key) fÿr das betreffende Entity-Set. Detailliertes Entity-Diagramm fÿr die Leser-Information
Relationship Rekursive Beziehung zwischen Personen Verschieden Entity-Sets einer vorgegebenen Anwendung stehen i.a. miteinander in Beziehung. Auch eine Beziehung kann eigene Attribute besitzen. V-C : Beziehung Vater - Sohn A-C : Bezeihung Angestellter - Chef gerichtete Kanten zur Darstellung von Rollenbeziehungen Dreistellige Lieferantenbeziehung Darstellung konkreter Relationships Ausleihe = ((Buch, Leser),(Rdat))
Beziehungsarten Die 1:1-Beziehung (one to one-relationship) R: A B Jedes Element von A steht mit genau einem Element von B in Beziehung. Beispiel: Konto Kontonummer Die m:n-beziehung (many-many) R: A B Mehrere Elemente (m) von A stehen mit mehreren Elementen (n) von B in Beziehung. Die Beziehungen mÿssen wiederum nicht total sein, d.h. m oder n kann 0 sein. Beispiel: Die 1: n Beziehung (one to many) R: A B Jedes Element von A steht mit mehreren Elementen (n) von B in Beziehung. Die Anzahl n kann auch 0 sein. Beispiel:
IS-A-Beziehungen Beispiel: is-a-beziehung zwischen Angestellten, Piloten, Technikern Totale, disjunkte Spezialisierung Partielle, nicht disjunkte Spezialisierung Unterscheide bei Spezialisierungen: total oder partiell disjunkt oder nicht disjunkt
Partielle, disjunkte Spezialisierung Spezialisierungshierarchie Totale, nicht disjunkte Spezialisierung
Graphische Notation der ER-Konstrukte