1 / 63

Datenmodellierung

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.

becka
Download Presentation

Datenmodellierung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datenmodellierung

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. Datenmodellierung im Relationalen Modell Beispiel Mitarbeiter Spalte / Attribut Datensatz Datenelement / Datenwert Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  8. Datenmodellierung im Relationalen Modell Beziehung Tabelle / Relationen R= {(M1, Becker, Basel), (M2, Meier, Lörrach)} Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. Das Entity-Relationship-Modell ERM bzw. E/R-Modell

  15. 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

  16. 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

  17. 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 NotationRechteck: Entity-Typ- Name Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  18. Beispiele: Entity-Typen Reisen Kunden Bestellungen Flüge Mitarbeiter Prozesse Vorlesungen Produkte Flugzeuge Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  19. 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 Notationabgerundetes Rechteck: Attributname Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  20. 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

  21. 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

  22. 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

  23. Semester empfiehlt Professor Vorlesung Buch Beziehungen zwischen Entity-Typen Beispiel: Professor empfiehlt Buch für Vorlesung Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  24. Grundkonzepte des klassischen ERM Domäne: Zulässiger Wertebereich eines Attributes Graphische Notation: Attributname:Domainname Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  25. Name:string Angestellter A#: int Gehalt:int Beispiel: Angestellter Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Beispiel:Mitarbeitermit 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

  32. Beispiel: Buchempfehlung Titel liest Professor Vorlesung Name empfiehlt Semester Priorität Fach Telefon Autor Buch Titel ISBN Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  33. Beispiel: Bibliothek ADatum Titel ISBN Ausleihe InvNr Leser Buch Verlag Name Geschrieben von RDatum Adresse Lnr Name Autor Autornr Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  34. 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

  35. 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: ((x,y)  R  (x,z)  R)  y = z 1:N Relationship: ((x,y)  R  (z,y)  R)  x = z N:M Relationship: keine Einschränkung Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  36. 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

  37. besitzt hört leitet arbeitet-in Abteilungsleiter Angestellter Person Student Vorlesung Haus Abteilung Abteilung Funktionale Beziehungen/ Beispiele 1 1 N 1 1 N N M Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  38. Relationships - Funktionale Beziehungen Abteilungsleiter leitet Abteilung . . . . . . . . . . . . 1:1 Angestellter arbeitet in Abteilung . . . . . . . . . N:1 Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  39. Relationships - Funktionale Beziehungen Person besitzt Haus . . . . . . . . . 1:N hört Student Vorlesung . . . . . . . . . . . N:M Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  40. Relationships - Beispiel wohnt in N 1 Person Stadt N 1 geb. in Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  41. Optional undefinierte Attribute Entity-Typ A Attribut A kann undefiniert sein also „Null-Wert“ haben. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  42. Attribut A Schlüssel-Attribut A A A Graphische Bausteine des ERM Entity-Typ E E 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

  43. E/R-Modell ISA-Relationship

  44. ISA-Relationship • Definition • Seien E1,E2 zwei Entity-Typen. • Die Relationship • E1isaE2 • besteht genau dann, wenn E1 eine Spezialisierung von E2 ist. • E1 heißt Subtyp des SupertypsE2. Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  45. Spezialisierungs- / Generalisierungsbeziehung Synonyme • Spezialisierung- / Generalisierung • Unter- / Oberbegriff • IST-Beziehung • is-a-Relationship • isa-Relationship Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  46. ISA-Relationship Besteht die Relationship E1isaE2, so erbtE1 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

  47. ISA-Relationship: Beispiel • ABTEILUNGSLEITER isa ANGESTELLTERABTEILUNGSLEITER(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

  48. 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

  49. ISA-Relationship total partiell t p Isa-Beziehung: p: partiell t: total nicht disjunkt disjunkt Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

  50. ISA-Relationship Angestellter Partielle nicht-disjunkte isa-Beziehung p Pilot Techniker Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

More Related