Literatur, Quellen Literatur: Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage, 2013. Quellen: Nachfolgende Folien wurden von Prof. Donald Kossmann & Martin Kaufmann freundlicherweise zur Verfügung gestellt. Einführung, Entity-Relationship Modell Weitere Quelle: Folien zu Datenbanksysteme: Eine Einführung, Lehrstuhl III Datenbansysteme, Prof. Kemper, TU München 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL 304 305 Ziele Datenbankverwaltungssysteme Nutzen von Datenbanksystemen verstehen, Modellierungskenntnisse ER Modell (Modellierung der Weltsicht) Ein Datenbankverwaltungssystem (DBMS) ist ein Werkzeug zur Erstellung und Ausführung datenintensiver Anwendungen Relationales Modell (Modellierung für die DB) grosse Datenbanken grosse Datenströme Datenbanksystem anwenden SQL Datenbanksystem von einer Programmiersprache und Umgebung heraus ansprechen JDBC (SQL / Java) 306 307 Typische Anwendungen Wozu Datenbanksysteme? Bank Vermeide Redundanz und Inkonsistenz “ Deklarativer Zugriff auf die Daten und Unabhängigkeit von der Implementation (physische Datenunabhängigkeit) Bibliothek “ Synchronisiere gleichzeitigen Datenzugriff “ Sicherheit, Vertraulichkeit Geoinformationssysteme z.B. Topographische Information, "Erzeuge Karte" Minimiere Kosten und Aufwand Ähnliche Funktionalität selbst zu implementieren würde Jahre in Anspruch nehmen 308 Datenmodellierung Abstraktionsebenen eines Datenbanksystems Sicht1 Sicht 2 ... 309 Sicht 3 Auschnitt der realen Miniwelt Logische Ebene intellektuelle Modellierung konzeptuelles Schema (ER-Schema) Physische Ebene Datenunabhängigkeit: physische Unabhängigkeit XML logische Datenunabhängigkeit 310 relationales Schema halbautomatische Transformation objektorientiertes Schema 311 Beispiel: konzeptuelle Modellierung Logisches Modell: relationales Datenmodell Studenten Studenten Professoren Vorlesungen reale Welt: Universität Studenten Name PersNr Professoren hören Name geben Titel “ Application AppDeveloper DBadmin Ad-hoc Query Compiler Management tools Fichte Jonas ... 25403 26120 ... 5022 5001 ... 5001 Grundzüge 5022 Glaube und Wissen ... ... Titel 313 Legi Entity = Gegenstandstyp Name Semester Studenten Relationship = Beziehungstyp Hörer Runtime Indexes hören Attribut / Eigenschaft DBMS Schema Kurs Schlüssel (Identifikation) Storage Manager Logs 26120 25403 ... DDL-Compiler Query Optimizer TA Management Recovery VorlNr Entity/Relationship (ER) Modell Expert User DML-Compiler VorlNr 312 Komponenten eines DBMS* User Legi update Vorlesungen set Title = `Grundzüge der Logik´ where VorlNr = 5001; VorlNr Vorlesungen Vorlesungen Name select Name from Studenten, hören, Vorlesungen where Studenten.Legi= hören.Legi and hören.VorlNr= Vorlesungen.VorlNr and Vorlesungen.Titel = `Grundzüge´; konzeptuelle Modellierung MatrNr hören Legi DB Rolle Catalogue External Storage Relationship = Beziehungstyp Nr Titel 315 Modell einer Universität vorraussetzen Studenten Vorgänger Legi Name hören hören Studenten Nachfolger Schlüssel (Identifikation) Rolle VorlNr KP Vorlesungen Semester Attribut / Eigenschaft KP 314 Entity/Relationship (ER) Modell Entity = Gegenstandstyp Vorlesungen Titel Name Note lesen prüfen MatrNr PersNr Name Hörer Rang Assistent Fachgebiet 316 ... in natürlicher Sprache Warum ER? Studenten haben LegiNr, Name und Semester. Die LegiNr identifziert einen Studenten eindeutig. Vorteile Vorlesungen haben eine VorlNr, Kreditpunkte und einen Titel. Die VorlNr identifiziert eine Vorlesung eindeutig. Porfessoren haben PersNr, Name, Rang und Raum. Die PersNr identifiziert einen Professor eindeutig. Assistenten haben PersNr, Name und Fachgebiet. Die PersNr. identifiziert einen Assistenten eindeutig. Studenten hören Vorlesungen Professoren arbeitenFür PersNr Raum Name 317 ER Diagramme sind einfach zu erstellen und editieren ER Diagramme sind aufgrund der grafischen Darstellung einfach zu verstehen (vom Laien) ER Diagramme beschreiben alle Informationsanforderungen Allgemeines Vorlesungen können Voraussetzung für andere Vorlesungen sein. Professoren lesen Vorlesungen. Assistenten arbeiten für Professoren Studenten werden von Professoren über Vorlesungen geprüft. Studenten erhalten Noten als Teil dieser Prüfungen. Ist das die einzig mögliche Interpretation? 318 Viele Tools verfügbar Kontroverse, ob ER/UML in der Praxis von Nutzen ist Keine Kontroverse, dass jeder ER/UML lernen sollte 319 Funktionalitätsangaben ... E1 Funktionalitäten bei n-stelligen Beziehungen ... R E2 E1 R E1 x E2 E1 1:1 E2 P N En 1:N M R E2 1 Ek N:M N:1 R : E1 x ... x Ek-1 x Ek+1 x ... x En Ek 320 Beispiel: Seminar 321 Konsistenzbedingungen des Seminar Einschränkungen 1 N Studenten betreuen 1 1. Studenten dürfen bei einem Professor nur ein Seminarthema bearbeiten 2. Studenten können dasselbe Seminarthema nur einmal bearbeiten Professoren Seminarthemen Möglichkeiten Note 1. Professoren können das Seminarthema für andere Studenten wiederverwenden 2. Dasselbe Thema kann von verschiedenen Professoren verwendet werden betreuen: Professoren x Studenten Seminarthemen betreuen: Seminarthemen x Studenten Professoren 322 Universität mit Funktionalitäten Konsistenzbedingungen: graphisch p1 Studenten b1 p2 b2 p3 s2 b3 p4 s3 b4 s1 s4 b5 b6 rot gestrichelte Linien: illegale Ausprägungen 323 vorraussetzen Professoren Vorgänger Legi Name Semester Note t2 hören Name Seminarthemen N arbeitenFür Fachgebiet Daumenregeln Titel lesen 1 1 Rang Professoren Raum PersNr 324 VorlNr KP N 1 Assistent M Vorlesungen prüfen PersNr t3 Nachfolger N M N t1 t4 N Studenten M Name 325 Schwache (existenzabhängige) Entities Wann Attribut, wann Entität? Entität, wenn das Konzept mehr als eine Beziehung hat Attribut, wenn das Konzept nur eine 1:1 Beziehung hat Partitionierung von ER-Modellen Realistische Modelle sind grösser als eine Seite Nach Bereichen / Organisationseinheiten partitionieren Kein gutes automatisches Graphenpartitionierungstool bekannt Tipps Keine Redundanz modellieren, keine vermeintliche Leistungsverbesserung anbringen Je weniger Entitäten desto besser konzis, vollständig, nachvollziehbar, korrekt Höhe GebNr Gebäude RaumNr Grösse N 1 liegt_in Räume Beziehung ist immer 1:N (oder 1:1) Existenz von Raum hängt ab von der Existenz des zugehörigen Gebäudes, daher kann es keine N:M Beziehung sein Raumnummer nur eindeutig im Gebäude Schlüssel eines Raumes: GebNr und RaumNr 327 Prüfung als schwacher Entitytyp 1 Studenten N ablegen Generalisierung Note Prüfungen Name PrüfTeil N Legi N umfassen is-a abhalten M VorlNr Uni-Mitglieder Vorlesungen Angestellte Studenten PersNr M Professoren PersNr is-a Legi Rang Fachgebiet Assistenten Professor Raum Unterschied zur Modellierung mit Beziehung "prüfen"? 328 Generalisierung 329 Universität mit Generalisierung Möglich: vorraussetzen Angestellte, welche weder Assistent noch Professoren sind Vorgänger Legi Name Angestellter, welcher auch Assistent ist Studenten hören Angestellter, welcher auch Professor und Assistent ist Note Im ER Modell kann dies nicht explizit verhindert werden Assistent M N arbeitenFür VorlNr KP N Titel lesen prüfen N Nachfolger M Vorlesungen M N Semester Angestellter, welcher auch Professor ist N 1 1 Rang Professoren 1 Raum Fachgebiet muss separat beschrieben werden. is-a Name Angestellte PersNr 330 Aggregation Konsolidierung Verschiedene Anwender haben verschiedene Sichten Fahrräder Teil-von Teil-von Rahmen Teil-von 331 Sicht 3 Räder Teil-von Teil-von Globales Schema Sicht 1 Sicht 4 Teil-von Sicht 2 Rohre ... Lenker Felgen ... ... Konsolidierung redundanzfrei widerspruchsfrei Synonyme bereinigt Homonyme bereinigt Speichen ... 332 Beispiel Uni-DB, Sicht 1 der Professoren erstellen Studenten Beispiel Uni-DB, Sicht 2 der Bibliotheksverwaltung Titel Fakultät Masterarbeiten betreuen Assistenten 333 schreiben Bibliotheken Dissertationen Signatur Dokumente leiten Autoren entleihen Titel Professoren besitzen UniMitglieder bewerten Titel Jahr Datum 334 335 Beobachtungen Beispiel Uni-DB, Sicht 3 der Dozenten Dozenten und Professoren sind synonym verwendet Entitytyp UniMitglied ist eine Generalisierung von Student, Professor und Assistent. Vorlesungen Bücher Bibliotheken werden von Angestellten (nicht z.B. Studenten) geleitet. Sicht 2 ist hier ungenau. Autoren Titel empfehlen Dissertationen, Masterarbeiten und Bücher sind Spezialisierungen von Dokumenten, welche von Bibliotheken verwaltet werden. Jahr Dozenten Verlag Erstellen und schreiben sind Synonyme in Sicht 1 Titel erstellen Studenten Masterarbeiten betreuen Assistenten Dissertationen schreiben Titel Professoren bewerten Fakultät Bibliotheken besitzen Signatur Dokumente leiten Autoren entleihen UniMitglieder Titel Jahr Datum Vorlesungen Bücher Autoren Titel empfehlen Jahr Dozenten 336 Konsolidiertes Schema Bibliotheken Fakultät Dokumente ER beschreibt eine Miniwelt Titel Das "was" und die Regeln Jahr ER ist statisch. Es beschreibt keine Übergänge Nützlich zum Erstellen von Software zur Beantwortung von (An)fragen über die Miniwelt Verlag schreiben Masterarbeiten entleihen betreuen leiten Datum Dissertationen betreuen Assistenten Studenten Bücher empfehlen es folgt nun: ER-Modell relationales Modell Ähnliche Modellierungsmöglichkeiten bietet UML (mehr auf OOP zugeschnitten) Professor Angestellte UniMitglieder 337 ER Modellierung: Zusammenfassung Signatur besitzen Verlag Auch andere graphische Darstellungen des ER Modells gebräuchlich, z.B. "Krähenfussnotation" optisch näher bei UML Vorlesungen Personen 338 339