Datenmodellierung
Datenmodellierung Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten Arbeit mit einem DBMS benötigten Gegenstände, Begriffe und deren Zusammenhänge. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Bestimmung der relevanten Objekte Bestimmung der relevanten Eigenschaften der Objekte Bestimmung der Beziehungen zwischen den Objekten Abbildung auf Tabellen Normalisierung der Tabellen Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Objekte (Entities) können sein: Dinge Personen Gegenstände Vorgänge / Ereignisse Dokumente alles was Eigenschaften hat!!! Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Entity-Types (Entitätentypen) sind abstrakte (Klassen) Zusammenfassungen von Entitäten des gleichen Typs durch Spezifikation der Eigenschaftsstruktur der zusammengefassten Entities Beispiel: Mitarbeiter durch Eigenschaften spezifiziert Intension (Intensionale Beschreibung) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Entitätsmengen sind konkrete Mengen von Entities Beispiel: die Menge der in einem Unternehmen angestellten Personen, die sich zu jedem Zeitpunkt ändern kann Eine Abfrage bezieht sich auf eine Entitätenmenge Extension (Extensionale Beschreibung) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Beispiel Mitarbeiter Spalte / Attribut M# Name Wohnort M1 Becker Basel M2 Meier Lörrach Datensatz Datenelement / Datenwert Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Beziehung Tabelle / Relationen R= {(M1, Becker, Basel), (M2, Meier, Lörrach)} M# Name Ort M1 Becker Basel M2 Meier Lörrach Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Tabellendefinition Eindeutiger Tabellenname Eindeutiger Merkmalsname pro Tabelle Reihenfolge der Merkmale ist egal Anzahl der Merkmale ist beliebig (endlich) Anzahl der Datensätze ist beliebig (endlich) Die Reihenfolge der Datensätze ist beliebig Mit jedem Merkmal wird ein Datentyp verknüpft Schlüsselfeld dient der eindeutigen Identifikation eines Datensatzes Es gibt keine 2 Datensätze mit identischen Schlüsselwerten Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Atomare Attributwerte: Für das Relationale Modell gilt folgende wesentliche Einschränkung: Der Wert eines Attributs darf nur aus einem „atomaren“ Attributwert bestehen. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Beispiel: Die Relation Hobby(Name, Hobbies) enthalte die folgenden Tupel: (Huber, {Drachenfliegen,Segeln, Bergsteigen}) (Meier, Musik) (Mueller, {Musik, Literatur, Theater}) Nicht-atomare Attributwerte sind {Drachenfliegen, Segeln, Bergsteigen} und {Musik, Literatur, Theater}. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Definition: erste Normalform Eine Relation ist in erster Normalform (1NF), wenn alle ihre Attribute nur atomare Attributwerte besitzen. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Datenmodellierung im Relationalen Modell Beispiel: Normalisierung in 1NF Die Relation Hobby kann auf einfache Weise in eine Relation „Hob“ in erster Normalform überführt werden: Relationenschema Hob(Name: varchar(20), Hobby: varchar(30)) und folgenden Tupeln (Huber, Drachenfliegen) (Huber, Segeln) (Huber, Bergsteigen) (Meier, Musik) (Mueller, Musik) (Mueller, Literatur) (Mueller, Theater) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Das Entity-Relationship-Modell ERM bzw. E/R-Modell
ERM - Relationales Datenbankschema Das ERM ist optimal für die Modellierung des konzeptionellen Schemas für relationale DB-Systeme. Modellierungen im ERM können „automatisch“ in ein relationales Modell transformiert werden. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ERM - Relationales Datenbankschema Es gibt leider keine eindeutige Normierung der graphischen Darstellung des ERM und deshalb sehr viele unterschiedliche graphische Notationen. Es gibt diverse Erweiterungen des ERM: EERM (Extended Entity Relationship Model) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Entity: Gegenstände; z.B.: „Paul Müller“. Entity-Typ: Klasse von Gegenständen mit gleichen Attributen. z.B.: „Mitarbeiter“, „Kunden“, „Produkte“, „Personen“ Die Attribute „beschreiben“ die Klasse; Graphische Notation Rechteck: Entity-Typ- Name Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiele: Entity-Typen Reisen Kunden Bestellungen Flüge Mitarbeiter Prozesse Vorlesungen Produkte Flugzeuge Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Attribute: sind Eigenschaften, Merkmale von Entities (z.B.: Gewicht, Preis, Farbe, Lieferdatum) Nicht zu verwechseln mit den Eingenschaftsausprägungen (z.B.: 50 kg, 200 Euro, grün, 26.11.2001) Graphische Notation abgerundetes Rechteck: Attributname Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Angestellter Name Angestellter Angest_Nr mit den Attributen: Name Angest_Nr (für Angestellten-Nummer) Gehalt Gehalt Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Relationship: Beziehung zwischen Entities; z.B.: „verheiratet mit“: „Paul Müller“ und „Maria Müller“ . Relationship-Types (Beziehungstypen) zwischen Entity-Typen z.B. zwischen „Kunden“ und „Produkten“ Graphische Notation Raute: Relationship- Type- Name Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beziehungen zwischen Entity-Typen Attribut R-Typ Entity-Typ 1 Entity-Typ 2 Entity-Typ3 Die Darstellung repräsentiert eine dreistellige Beziehung. Möglich sind beliebig viele Stellen. Am häufigsten sind zweistellige (binäre) Beziehungen. Beziehungen können zusätzlich auch Attribute zugeordnet werden Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beziehungen zwischen Entity-Typen Beispiel: Professor empfiehlt Buch für Vorlesung Professor Buch Vorlesung empfiehlt Semester Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Domäne: Zulässiger Wertebereich eines Attributes Graphische Notation: Attributname:Domainname Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Angestellter Name:string A#: int Gehalt:int Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Domäne Standard-Datentypen in MS-Access Zahl Text Datum / Uhrzeit Währung AutoWert Ja/Nein Memo Hyperlink OLE-Objekt Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Grundkonzepte des klassischen ERM Domäne In SQL können neue Domänen definiert werden Mit Integritätsregeln können in SQL die Wertebereiche von Attributen zusätzlich eingeschränkt werden Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Entititypen mit Attributen Textuelle Notation (allgemein): E(A1:D1, ... , An:Dn) (mit Domänen) E: Entitytyp. Ai: Attribute i = 1 ... n. Di: Domänen i = 1 ... n. Kurzform: E(A1, ... , An) (ohne Domänen) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Angestellter Textuelle Notation: Entity-Typ ANGESTELLTER Angestellter(A# : integer, Name : string, Gehalt : integer) -------------------------------------------------------------------------------- Entities vom Typ ANGESTELLTER: Angestellter(523, 'Bill‘, 90.000) Angestellter(122, 'John', 50.500) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Mitarbeiter Personalnr Raum Mitarbeiter Geb-Datum Vorname Einstellungs- termin Name E-Mail Telefon Textuelle Notation: Mitarbeiter(Personalnr,Vorname, Name, E-Mail,Telefon,Raum, Geb-Datum, Einstellungstermin) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Mitarbeiter mit Wertebereichen Personalnr: int Raum: string Mitarbeiter Geb-Datum: date Vorname: string Einstellungs- termin:date Name:string E-Mail:string Telefon:string Textuelle Notation: Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string, Raum:string, Geb-Datum:date, Einstellungstermin:date) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Buchempfehlung Titel liest Professor Vorlesung Name empfiehlt Semester Priorität Fach Telefon Autor Buch Titel ISBN Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Bibliothek Titel ISBN InvNr Leser Buch Verlag Name Adresse ADatum Titel ISBN Ausleihe InvNr Leser Buch Verlag Name Geschrieben von RDatum Adresse Lnr Name Autor Autornr Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Relationships - Funktionale Beziehungen Formulieren Constraints (Integritätsregeln) für faktische Einträge in der Datenbank. und geben Hinweise zur Abbildung der Relationship-Types auf Tabellen Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Relationships - Funktionale Beziehungen R E1 x ... x En wobei Ei (i= 1,...,n) Entity-Typen sind Definitionen für n=2 (R E1 x E2) 1:1 Relationship: ((x,y) R (x,z) R) y = z ((x,y) R (z,y) R) x = z N:1 Relationship: 1:N Relationship: N:M Relationship: keine Einschränkung Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Funktionale Beziehungen / Beispiele Abteilungsleiter leitet Abteilung 1:1-Relationship Angestellter arbeitet in Abteilung N:1-Relationship Person besitzt Haus 1:N-Relationship Student hört Vorlesung N:M-Relationship Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Funktionale Beziehungen / Beispiele Abteilungsleiter Abteilung leitet 1 1 Angestellter Abteilung arbeitet-in N 1 Person Haus besitzt 1 N Student Vorlesung hört N M Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Relationships - Funktionale Beziehungen Abteilungsleiter leitet Abteilung . . 1:1 Angestellter arbeitet in Abteilung . . N:1 Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Relationships - Funktionale Beziehungen Person besitzt Haus . . 1:N hört Student Vorlesung . . N:M Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Relationships - Beispiel wohnt in N 1 Person Stadt N 1 geb. in Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Optional undefinierte Attribute Entity-Typ A Attribut A kann undefiniert sein also „Null-Wert“ haben. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Graphische Bausteine des ERM Entity-Typ E E A Attribut A A Schlüssel-Attribut A Verbindung zwischen Entity-Typ E und Attribut A A kann undefiniert sein E A R E1 E2 Binäre Relationship zwischen den Entity-Typen E1 und E2 Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
E/R-Modell ISA-Relationship
ISA-Relationship Definition Seien E1,E2 zwei Entity-Typen. Die Relationship E1 isa E2 besteht genau dann, wenn E1 eine Spezialisierung von E2 ist. E1 heißt Subtyp des Supertyps E2. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Spezialisierungs- / Generalisierungsbeziehung Synonyme Spezialisierung- / Generalisierung Unter- / Oberbegriff IST-Beziehung is-a-Relationship isa-Relationship Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Besteht die Relationship E1 isa E2, so erbt E1 die Attribute von E2. Dies hat folgende Konsequenzen: Für E1 ist lediglich die Angabe zusätzlicher Attribute notwendig. Die Schlüsselattribute von E2 sind auch die Schlüsselattribute von E1. Auf der Instanzenebene gilt: ein Entity von E1 erbt die zugehörigen Werte aus E2. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship: Beispiel ABTEILUNGSLEITER isa ANGESTELLTER ABTEILUNGSLEITER(Dienstwagen:string) ANGESTELLTER(Personalnr:int, Name:string) In diesem Fall erbt ABTEILUNGSLEITER alle Attribute von ANGESTELLTER (also „Personalnr“ und „Name“) und hat das zusätzliche Attribut „Dienstwagen“. Es besteht auch die Möglichkeit der Mehrfachvererbung, Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship: Beispiel Beispiel Mehrfachvererbung: STUDENT isa PERSON ANGESTELLTER isa PERSON HIWI isa Student HIWI isa ANGESTELLTER STUDENT(Fachrichtung:string) Angestellter(Fachrichtung:String) Bei Mehrfachvererbung gleichbezeichneter Attribute sind Massnahmen zur Konfliktlösung erforderlich Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship total partiell t p Isa-Beziehung: p: partiell t: total nicht disjunkt disjunkt Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Angestellter Partielle nicht-disjunkte isa-Beziehung Pilot Techniker Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Person Totale disjunkte isa-Beziehung (Spezialisierung) t Mann Frau Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Fahrzeug Partielle disjunkte isa-Beziehung (Spezialisierung) p Auto Fahrrad Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Person Partielle nicht disjunkte isa-Beziehung (Spezialisierung) p Mann Angestellter Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Sportler Partielle nicht disjunkte isa-Beziehung (Spezialisierung) p Fussballer Tennisspieler Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ISA-Relationship Person partiell disjunkt p Manager Angestellter Sekretärin p partiell nicht disjunkt Techniker Verkäufer Programmierer Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Disjunkte Klassifikation Beispiel: Mitarbeiter Jeder Mitarbeiter ist entweder (oder) Führungskraft Fachspezialist Lehrling Mitarbeiter t Führungskraft Fachspezialist Lehrling Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
E/R-Modell Schlüsselattribute
ERM - Schlüsselattribute Jede Teilmenge der Attributmenge eines Entity-Typs, mit der die Entities dieses Typs eindeutig identifizierbar sind, heisst Schlüssel dieses Entity-Typs. Jede minimale Menge von Schlüssel-attributen heisst Schlüsselkandidat. Der Primärschlüssel ist der beim Entwurf der DB zur eindeutigen Identifikation der Entities ausgewählte Schlüsselkandidat. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ERM - Schlüsselattribute Schlüsselkandidaten minimaler Schlüssel Primärschlüssel ausgewählter Schlüssel zur Identifikation der Entities in einer Tabelle Fremdschlüssel Attributmenge die in einer anderen Relation Schlüssel ist zusammengesetzter Schlüssel Schlüssel, der aus mehreren Attributen besteht Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ERM - Schlüsselattribute Die Schlüsseleigenschaft kann nicht an der Definition eines Entity-Typs erkannt werden. Die Attribute eines Entity-Typs müssen so gewählt sein, dass dadurch die Entities eindeutig identifizierbar sind. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Schlüsselattribute - Notation Schlüsselattribute werden durch Unterstreichung gekennzeichnet: in der textlichen Notation: Mitarbeiter(Personalnr, Name, Vorname, Gebdatum) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
In der graphischen Notation Mitarbnr Titel Vorlesnr liest Professor Vorlesung Name empfiehlt Semester Priorität Fach Telefon Autor Buch Titel ISBN Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Mitarbeitereigenschaften mit Schlüssel Personalnr: int Raum: string Mitarbeiter Geb-Datum: date Vorname: string Einstellungs- termin:date Name:string E-Mail:string Telefon:string Textuelle Notation: Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string, Raum:string, Geb-Datum:date, Einstellungstermin:date) Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002