FHTW Berlin Datenbanken Prof. Dr. Zschockelt Nochmals zur Wiederholung: Das generelle Ziel der Datenmodellierung besteht darin, Informationen über die reale (betriebswirtschaftliche) Welt zu erfassen und zu ordnen, um daraus Maßnahmen zur Steuerung der Prozesse der realen Welt abzuleiten. Deshalb muss man 1. Einen Teilbereich der Realität auf Grund des Bedeutungsinhaltes definieren und mit einem Namen identifizieren (Objektbildung) 2. Die essentiellen Merkmale des Objektes als Attribut definieren und die Wertebereiche (Domänen) festlegen. 3. Die Zweckbestimmung der Attribute definieren. 4. Die Struktur der Attribute analysieren. 5. Die Beziehungen zwischen den Objekten beschreiben. Da jedes Datenmodell im Endeffekt auf ein realisierbares formales Datenmodell abgebildet werden soll, beeinflussen insbesondere die Struktur der Attribute und der Beziehungen bereits frühe Phasen der Datenmodellierung. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Die semantische Datenmodellierung … stellt sich das Ziel, aus semantischer Sicht (also in unserem Falle aus betriebswirtschaftlich/wirtschaftsinformatorischer Sicht) gute (3NF) Datenmodelle zu erstellen. Es wird also folgender Teil der Datenmodellierung behandelt FHTW Berlin Datenbanken Prof. Dr. Zschockelt Reale betriebliche Datenstrukturen Top-Down-Analyse Bottom-Up-Analyse Gesamtsicht spezielle Nutzersichten Semantische Datenmodelle z. B. Entity-Relationship-Modell (ERM) formale Ebene (deskriptive Regeln) Formale Datenmodelle z. B. Hierarchisches DM, Netzwerk-DM, Relationales DM methodische Ebene - Klassifizierung - Generalisierung/Spezialisierung - Aggregation Konzeptuelles Datenmodell (Qualitätsverbesserung der Datenmodelle der semantischen Ebene) Normalisierung Semantische Ebene (reales Datenmodell für einen Anwendungsfall) Physisches Datenmodell (Datenbank) Datenbasis eines betrieblichen Informationssystems FHTW Berlin Datenbanken Prof. Dr. Zschockelt Das Entity-Relationship-Modell (ERM (nach CHEN: The Entity-Relationship Model – Toward a Unified Viewe of Data, 1976 – sekundär u. a. Ferstl/Sinz: Softwarekonzepte der WI; Kempler/Eickler: Datenbanksysteme) Elemente: Entities (abgrenzbare Objekte) Entity Set Entity-Typ Entity-Name Relationship (Beziehung zwischen Entities) RSName Beziehungstypen: 1:1 n:1 n:m Relationship Set Relationship-Typ Attribute (beschreiben Entities und RS) bijektive funktionale Beziehung funktionale Beziehung nichtfunktionale Beziehung FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Verwendungszweck von Attributen Attribute beschreiben die essentiellen Merkmale eines Entitys aus der Sicht der späteren Nutzung des Datenmodells für einen betriebswirtschaftlich sinnvollen Zweck. Verwendungszweck Bemerkungen Identifikation F F Eindeutigkeit unabdingbar (Constraint) für Join erforderlich Klassifizierung F F ermöglicht Selektion für Gruppierung unabdingbar Systematisierung F F ermöglicht Selektion Beschreibung (Deskription) keine sinnvolle Selektion, Gruppierung und Join möglich FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Wertigkeit von Attributen Attribute können sein einwertig oder mehrwertig Beispiel Personaldaten-Modell eines Unternehmens: - Personalnummer, - Name, - Geburtsdatum, - Geschlecht - Qualifikationen Art Fachrichtung Abschlussjahr - Forschungsgebiete Themen Patente Nur einwertige Attribute können ein Kandidat zur Objektidentifikation werden. Problem: Das relationale Datenmodell als formales Ziel-Datenmodell kann in einer Relation (Tabelle) nur einwertige Attribute darstellen (1NF). FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (1) Fahrer Alfred Bruno Johann Max Siegfried ... fährt Kraftfahrzeug Ford Fiesta BMW VW Golf I VW Golf II Renault ... Grad: 1 : 1 Verbindlichkeit: obligatorisch für beide Seiten ("muss") Jeder Fahrer (eines Fuhrparkes) fährt immer nur genau ein Kraftfahrzeug und jedes Kraftfahrzeug wird von genau einem Fahrer gefahren. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (2) Mitarbeiter Alfred Bruno Johann Max Siegfried ... führt aus Funktion Dekan Studienberater SG-Sprecher ... Grad: 1 : 1 Verbindlichkeit: obligatorisch ("muss") nur für eine Seite (Funktion) Jede Funktion (eines Fachbereiches) wird durch genau einen Mitarbeiter ausgeführt. Ein Mitarbeiter darf höchstens eine Funktion haben, aber nicht jeder Mitarbeiter muss eine Funktion haben. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (3) Mitarbeiter Alfred Bruno Johann Max Siegfried ... besitzt Leserausweis 020102 982721 876222 022233 ... Grad: 1 : 1 Verbindlichkeit: nichtobligatorisch ("kann") für beide Seiten. Jeder Mitarbeiter (einer Hochschule) kann genau einen Leserausweis für die Bibliothek besitzen. Jeder Leserausweis wird genau an eine Person vergeben. Leserausweise der Bibliothek können (müssen aber nicht unbedingt nur) an Mitarbeiter vergeben werden. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (4) Lager Lebensmittel Chemie … enthält Artikel Mehl Salz Zucker Seife Zahnpaste Grad: 1 : n Verbindlichkeit: obligatorisch ("muss") für die n-Seite (Artikel). In jedem Lager können mehrere Artikel gelagert werden. Artikel werden immer gelagert, aber nur in genau einem Lager. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (5) Student leiht Bücher Alfred Bruno Johann ... 12234556 12345566 23456789 23456777 65543312 34442112 ... Grad: 1 : n Verbindlichkeit: nichtobligatorisch ("kann") für die n-Seite (Bücher). Jeder Student kann mehrere Bücher leihen. Jedes Buch kann nur genau an einen Studenten ausgeliehen werden (muss aber nicht ausgeliehen sein). FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Typen semantischer Beziehungen (6) Lager Südstadt Nordstadt Hafen ... enthält Artikel Mehl Salz Zucker Seife Zahnpaste ... Grad: n : m Verbindlichkeit: ohne Bedeutung, im Beispielfall nichtobligatorisch. In jedem Lager können mehrere Artikel gelagert werden. Artikel können in mehreren Lagern gelagert werden. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Auflösung mehrwertiger Attribute Beispiel Personaldaten-Modell eines Unternehmens: - Personalnummer, - Name, - Geburtsdatum, - Geschlecht - Qualifikationen Art Fachrichtung Abschlussjahr - Forschungsgebiete Themen Patente Person 1 besitzt n Qualifikation 1 besitzt n Forschungsgebiet 1 besitzt n Themen Gruppen mehrwertiger Attribute werden als eigenes Entity mit einer 1:n-Beziehung zum (Master-) Objekt formuliert. Diese Art der Beziehung wird als Master-Detail-Beziehung bezeichnet. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Darstellung dynamischer Domänen Beispiel: Eine Artikelnummernsystematik soll als Domäne für die Relation "ARTIKEL" eines Unternehmens dienen. Artikel n hat Domäne 1 Artikelsystematik Domänen (Wertevorrat eines Attributes) werden bei großen Wertemengen und/oder hoher Änderungsfrequenz sinnvoll als eigene Entität dargestellt. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Präzisierung der Beziehungen im ERM durch Veränderung der Notationsform Einbeziehung der Verbindlichkeit (Optionalität) einerBeziehung wie folgt: Grad obligatorisch nicht obligatorisch 1:1 (1,1) (0,1) 1:n (1,* ) (0,* ) Beispiel: Auftrag (1,* ) besteht aus (1,1) Positionen Deutung: Ein Auftrag muss aus einer (1) bis n () Position(en) bestehen. Eine Position muss immer genau einem Auftrag zugeordnet sein. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Beispiel eines einfachen ERM Rechnungslegung für eine Lieferung Kunde Power-Designer (Sybase) (0, *) erhält (1,1) Rechnung (1,* ) besteht aus (1,1) Positionen Deutung: Ein Kunde erhält (für vorausgegangene Lieferungen) Rechnungen. Nicht jeder Kunde muss mindestens eine Rechnung erhalten. Jede Rechnung ist aber genau nur einem Kunden zugeordnet. Eine Rechnung besteht aus n Positionen, mindestens aber einer Position. Jede Rechnungsposition gehört nur exakt einer Rechnung an. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Entity-Relationship-Modell Darstellung rekursiver Beziehungen Beispiel Stückliste Bauteil (1,* ) (1,* ) besteht aus Wird verwendet in Struktur Neues Bezeichnungselement: Rolle FHTW Berlin Datenbanken Prof. Dr. Zschockelt Zusammenfassender Überblick zum ERM Entity-Typen dualen Typ können Beziehungen eingehen vom … rekursiven Typ bilden sachlogische Zusammenhänge ab zwischen … den Instanzen zweier unterschiedlicher Entity-Sets. Diese können modifiziert (in mehrere Enty-Typen zerlegt) werden, infolge … mehrwertiger Attribute. Relationships mit Attributen. dynamischer Domänen. Rollen können vergeben werden, sind jedoch in der Regel nicht notwendig. den Instanzen des gleichen EntitySets. Dadurch werden Rollen notwendig. FHTW Berlin Datenbanken Prof. Dr. Zschockelt Qualitätsverbesserung von ER-Modellen Mit dem Ziel der Erstellung qualitativ guter ERM werden die Konstruktionsoperatoren Klassifizierung, Aggregation und Generalisierung/Spezialisierung (auch Vererbung bzw. Inheritance) benutzt. Von besonderer Bedeutung für die praktische Modellierung ist die Generalisierung/Spezialisierung. Beispiel: Das Personal eines Unternehmens besteht aus Arbeitern und Angestellten. Diese besitzen gemeinsame Attribute, unterscheiden sich jedoch auch bei den speziellen Attributen zur Lohn- bzw. Gehaltsberechnung Generalisierung Arbeitnehmer Angestellter Spezialisierung Arbeiter FHTW Berlin Datenbanken Prof. Dr. Zschockelt Methodik der ER-Modellierung Wo ist der Anwender gefragt? 1. Umfeld bestimmen (z. B. Abteilung Beschaffung). 2. Wesentliche Objekte als Entity-Kandidaten wählen (z. B. Lieferanten, Artikel, Bestellungen). 3. Prüfen, ob gewählte Objekte Entity-Sets sind. 4. Wenn ja: Objekt wird Entity. 5. Attribute zur Beschreibung des Entity ermitteln. 6. Sind Attribute mehrwertig (z. B. Konten eines Lieferanten), wird die Gruppe mehrwertiger Attribute ein eigenes Entity (z. B. Bankverbindung). 7. Sollen Attributswerte eines Entity-Sets aus einer Systematik gewählt werden (dynamische Domäne), wird die Systematik ein Entity (z. B. Bankleitzahlenverzeichnis). 8. Beziehungen (Relationships) zwischen den Entities nach Grad (Cardinality) und Verbindlichkeit (Mandatory, Dependent) bestimmen. 9. Sonderfall Vererbung (Inheritance) erkennen. Tools zur Datenmodellierung: http://www.datenmodelle.de/software.php