Wirtschaftsinformatik Brand-Bam Relationale Datenbanken Entity-Relationship-Modell Arbeitsblatt Nr. 4 Datum: Entity-Relationship-Modell Das Entity-Relationship-Modell (ERM) dient der konzeptionellen Modellierung von Datenbanken. Es entspricht einem Modell aus der so genannten realen Diskurswelt (die Welt in der wir leben) und wird in Zusammenarbeit von IT-Spezialisten und Nutzern aus entsprechenden Abteilungen oder anderen Bereichen entworfen. Entitäten Eine Entität ist ein Objekt der Realität, über das Daten in der Datenbank gespeichert werden sollen. Entitäten sind damit Komponenten des Systems (z.B. eines Unternehmens oder einer Bibliothek, etc.), das modelliert werden soll. Dieser Objekt- bzw. Komponentenbegriff erfordert, dass modellierte Entitäten relevant sind, d.h. Teil des Unternehmensmodells sind; eindeutig sind, d.h. genau bezeichnet und spezifiziert werden können; von ihrer Umwelt (andere Komponenten des Systems) abgrenzbar sind. In einer Bibliothek wären relevante Entitäten beispielsweise das Buch "Hald A., Nevermann W.: DatenbankEngineering ....", der Ausleiher "Fritz Meier", die Sachbearbeiterin "Ingrid Kopp" oder das Regal "WI g". Entitätstypen Ein Entitätstyp ist eine Menge von Entitäten mit gleichen Attributen (z.B. Entität „Dieter Bohlen“ – Entitätstyp „Mensch“). Unsere Modelle enthalten i. d. R. Entitätstypen. Beispiel Entitätstyp: Personal Entitäten (Jeder Datensatz ist eine Entität mit gleichen Attributen aber unterschiedlichen Attributwerten) Wirtschaftsinformatik Brand-Bam Relationale Datenbanken Entity-Relationship-Modell Arbeitsblatt Nr. 4 Datum: Attribut Attribute beschreiben die Eigenschaft einer Entität und werden als Elypse dargestellt. Schlüssel Attribute oder Kombinationen von Attributen, die dazu geeignet sind, jede mögliche Entität eines Entitätstyp eindeutig zu identifizieren, werden als Schlüssel bezeichnet. Folgende Schlüssel könnten für einen Entitätstyp "Personal" prinzipiell in Betracht gezogen werden: 1. 2. 3. <Anrede>: ungeeignet, da die Anrede für alle Frauen und alle Männer gleich ist <Vorname>: ungeeignet, da jedes Mitglied des Personals mehrer Vornamen haben kann und der Vorname auch mehrfach in der Belegschaft vorkommen kann <Nachname>: ungeeignet, da der Nachname auch mehrfach in der Belegschaft vorkommen kann Für jeden Entitätstyp in einem ER-Modell muss ein Schlüssel definiert werden. Manchmal eignet sich jedoch kein Attribut oder auch keine Attributkombination (Vorname, Nachname: Brigitte Seller) als Schlüssel. Beispielsweise ist dies der Fall, wenn, mehrere Entitäten (hier Mitarbeiter) den gleichen Vor- und Nachnamen haben können. Eignet sich also keines der Attribute als Schlüssel, dann muss man ein "künstliches" Attribut (beispielsweise Personalnummer: PNr) definieren, das nur dazu dient, Entitäten unterscheidbar zu machen - und dieses dann zum Schlüssel machen. Ergänzung eines künstlichen Schlüssels: Hier Personalnummer Wirtschaftsinformatik Brand-Bam Relationale Datenbanken Entity-Relationship-Modell Arbeitsblatt Nr. 4 Datum: Weiteres Beispiel: In einer Bibliotheksdatenbank könnten beispielsweise folgende Schlüssel für den Entitätstyp "BUCH" prinzipiell in Betracht gezogen werden: 1. <Autor>: ungeeignet, da ein Autor mehrere Bücher geschrieben haben könnte und damit ein Buch nicht eindeutig beschreibbar ist; 2. <Autor, Titel>: ungeeignet, da von einem Titel mehrere Auflagen vorrätig sein könnten; 3. <Autor, Titel, Auflage>: ungeeignet, da von einer Auflage mehrere Exemplare vorrätig sein könnten; 4. <Signatur>: geeignet; 5. <Signatur, ISBN-Nummer>: geeignet. Die obigen Beispiele 4 und 5 eignen sich beide als Schlüssel. Von einem minimalen Schlüssel spricht man, wenn keines der Attribute aus dem Schlüssel entfernt werden kann, ohne dass dieser damit die Schlüsseleigenschaft verliert. Minimal wäre daher nur der Schlüssel 4. Minimale Schlüssel sollten immer angestrebt werden. Existieren mehrere mögliche Schlüsselkandidaten, also mehrere mögliche Attributkombinationen, die Entitäten eindeutig identifizieren, so wird im ER-Modell ein Kandidat als Primärschlüssel ausgezeichnet; die anderen werden als Sekundärschlüssel bezeichnet. Beispielsweise eignen sich beide Attribute "Bibliotheksausweisnummer" und "Personalausweisnummer" als Schlüssel für den Entitätstyp AUSLEIHER. Tritt ein solcher Fall auf, so entscheidet man sich zweckmäßigerweise für den kleinsten (den mit den wenigsten Attributen, den mit der einfachsten Domain), für den bedeutungsvollsten oder den "gewohntesten". Beziehungen Beziehungen zwischen Entitäten, über die Informationen abgespeichert werden sollen, die also Teil des Unternehmensmodells sind, werden ebenfalls im ER-Modell dargestellt. Sie bilden als Relations neben Entities das Kernkonzept des ER-Modells. Auch Beziehungen können zu Klassen zusammengefasst und durch Beziehungstypen beschrieben werden. In einem ER-Modell für eine Bibliothek könnten beispielsweise folgende Beziehungstypen zwischen Entitätstypen existieren: 1. 2. 3. 4. Beziehungstyp Entitätstypen "leiht_aus" = "ist_gekauft_bei" = "bestellt_von" = "steht_in" <BUCH, AUSLEIHER>Ausleiher leiht Buch aus <BUCH, BUCHHÄNDLER> Buch ist gekauft bei Buchhändler < BUCH, BESTELLER>Buch ist bestellt von Besteller <BUCH, REGAL>Buch steht in Regal Beziehungen bzw. Beziehungstypen werden als Raute dargestellt: Required parameters are missing or incorrect. Required parameters are missing or incorrect. Required parameters are missing or incorrect. Wirtschaftsinformatik Brand-Bam Arbeitsblatt Nr. 4 Relationale Datenbanken Entity-Relationship-Modell Datum: Zusammenfassung 1: Required parameters are missing or incorrect. Beim Entwurf einer Datenbank wird häufig mit einem Datenmodell gearbeitet, welches Objekte und auch Beziehungen zwischen diesen Objekten beschreibt. Hierzu wird in der Regel das Entity-RelationshipModell verwendet. Das Entity-Relationship-Modell unterscheidet zwischen Entities, d. h. Objekten der realen Welt, und Relationships, d. h. Beziehungen zwischen diesen Entities. Gleichartige Entities werden zu Entitytypen zusammengefasst, gleichartige Relationships zu Relationshiptypen. Beispielsweise können die Entities „Firma Müller & Co.“, „Firma Meier GmbH“ und „Firma Schmidt GmbH & Co. KG“ zum Entitytyp „Lieferant“ zusammengefasst werden. Unter dem Entitytyp „Artikel“ fassen Handelsunternehmen die Waren, die gehandelt werden, zusammen. Die Entitytypen lassen sich als Tabellen in einer Datenbank umsetzen, wobei dann jeder Entity ein Tabelleneintrag bzw. ein Datensatz entspricht. Entities besitzen Eigenschaften, so genannte Attribute. So besitzt zum Beispiel jeder Artikel Attribute wie „Name“ (ABezeichnung) und „Artikelnummer“ (ANr), sowie ggf. auch Attribute wie „Größe“ und „Farbe“. Jedes Attribut ordnet demnach einem Entity bestimmte Werte zu. Die in der Abbildung unten vorgenommene Unterstreichung von Attributen kennzeichnet diese als so genannte Schlüsselattribute. So wird ein Lieferant durch die Lieferantennummer (LNr) eindeutig identifiziert. Durch die Beziehung zwischen dem Entitytyp Artikel und dem Entitytyp Lieferant wird festgehalten, welche Artikel von welchem Lieferanten geliefert werden. Entitytypen werden durch Rechtecke, Relationshiptypen durch Rauten und Attribute durch Ovale dargestellt. Artikel ANr 1 Lieferant Bezugsnachweis ABezeichnung LNr LName In Anlehnung an: Becker, Jörg: Handelsinformationssysteme. moderne Industrie, Landsberg/Lech 1996.