Präsentation herunterladen
Veröffentlicht von:Han Landau Geändert vor über 10 Jahren
1
Relationale und Objekt-relationale Datenbanken
Daten- und Informationsmodellierung Relationales Datenmodell SQL Objekt-relationale Datenbanken Vorlesung “Grundlagen der Datenbanken” von Prof. Dr. Staab und Dr. Sizov Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
2
Daten- und Informationsmodellierung
Kapitel 2 Daten- und Informationsmodellierung
3
Informationsmodellierung
Objekte " Miniwelt " Zusammenhänge Attribute Gegenstände Sachverhalte Formalisierung Informationen Tatsachen Personen Beziehungen Vorgänge, Veränderungen.. Darstellungselemente + Regeln: Objekte und Beziehungen (Relationships) Klassen von Objekten / Beziehungen Eigenschaften (Attribute) Informationen über Objekte und Beziehungen nur wenn: relevant unterscheidbar und identifizierbar, selektiv beschreibbar Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
4
Abstraktionskonzepte
Informations- und Datenmodelle basieren auf drei grundlegenden Abstraktionskonzepten: Klassifikation: fasst Objekte (Entities, Instanzen) mit gemeinsamen Eigenschaften zu einem neuen (Mengen-) Objekt (Entity-Menge, Klasse, Objekttyp) zusammen. – Instanzen/Objekten einer Klasse unterliegen gleicher Struktur (Attribute), gleichen Integritätsbedingungen, gleichen Operationen – mathematisch: Mengenbildung Aggregation: Zusammenfassung potentiell unterschiedlicher Teilobjekte (Komponenten) zu neuem Objekt – mathematisch: Bildung von kartesischen Produkten Generalisierung: Teilmengenbeziehungen zwischen Elementen verschiedener Klassen – mathematisch: Bildung von Potenzmengen (bzw. Teilmengen) – wesentlich: Vererbung von Eigenschaften an Teilmengen Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
5
Entity/Relationship-Modellierung (ERM)
Konzepte: Entity-Mengen Beziehungsmengen (Relationship-Mengen) Attribute Wertebereiche Primärschlüssel unterstützt die Abstraktionskonzepte der Klassifikation und Aggregation graphische Darstellung durch Diagramme zahlreiche Erweiterungsvorschläge entwickelt von P. P. Chen (ACM Transactions on Database Systems 1976) MatrNr Name Semester Studenten Hörer hören Lehrveranstaltung Vorlesungen VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
6
Minimale Menge von identifizierenden Attributen
Schlüssel Minimale Menge von identifizierenden Attributen {Matrikelnummer} {Vorname, Nachname, Geburtsdatum, Geburtsort} Oft künstlicher Schlüssel bestehend aus einem Attribut (Vorlesungsnummer, Kundennummer, Personalausweißnummer,…) Mehrere Schlüssel möglich; dann Auswahl eines Primärschlüssel Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
7
Grundlagen des relationalen Datenmodells
Kapitel 3 Grundlagen des relationalen Datenmodells
8
Relationales Datenmodell
Seien D1, D2, ..., Dn Domänen (~ Wertebereiche) Relation: R D1 x ... x Dn Beispiel: Telefonbuch string x string x integer Tupel: t R Beispiel: t = („Mickey Mouse“, „Main Street“, 4711) Schema: legt die Struktur der gespeicherten Daten fest Beispiel: Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]} Darstellungsmöglichkeit für R: n-spaltige Tabelle (Grad der Relation: n) Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
9
Telefonbuch Name Straße Telefon#
Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 Ausprägung: der aktuelle Zustand der Datenbasis Kardinalität: Anzahl der Sätze (Tupel) in der Datenbasis Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren Primärschlüssel: wird unterstrichen Einer der Schlüsselkandidaten wird als Primärschlüssel ausgewählt Hat eine besondere Bedeutung bei der Referenzierung von Tupeln Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
10
Die Ordnung der Zeilen ist ohne Bedeutung
RM: Grundregeln Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt (Entity) der Miniwelt Die Ordnung der Zeilen ist ohne Bedeutung Die Ordnung der Spalten ist ohne Bedeutung, da sie eindeutigen Namen (Attributnamen) tragen Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement Alle für Benutzer relevanten Informationen sind ausschließlich durch Datenwerte ausgedrückt Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
11
Verwendung von drei Relationen
Assoziationen N:1 Professoren lesen Vorlesungen 1 * Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, PersNr ) Besser: Verwendung von zwei Relationen Vorlesungen ( VorlNr, Titel, SWS, PersNr ) Regel: Bei n:1 Assoziationen können Relationen mit gleichem Schlüssel zusammengefasst werden - aber nur diese und keine anderen! PersNr Name Rang Raum VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
12
Ausprägung von Professoren und Vorlesungen
VorlNr Titel SWS Gelesen Von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Professoren lesen Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
13
Vorsicht: So geht es NICHT
Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Professoren lesen Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
14
Vorsicht: So geht es NICHT: FolgenAnomalien
Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfällt Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
15
Verwendung von drei Relationen
N:M Assoziationen Studenten hören Vorlesungen Verwendung von drei Relationen Studenten ( MatrNr, Name, Semester ) Vorlesungen ( VorlNr, Titel, SWS ) hören ( VorlNr, MatrNr ) Regel: Eine n:m-Assoziation muss durch eine eigene Relation dargestellt werden. Die Primärschlüssel der zugehörigen Klassen treten als Fremdschlüssel auf. * * MatrNr Name Semester VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
16
Ausprägung der Beziehung hören
MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 Studenten MatrNr ... 26120 27550 Vorlesungen VorlNr ... 5001 4052 Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
17
Eine Klasse mit N:M Assoziation
* Darstellungsmöglichkeit: Vorlesung (VorlNr, Titel, SWS) Voraussetzungen (NeueVorlNr, AlteVorlNr, obligatorisch) Regel: Die n:m-Assoziation muss auch hier durch eine eigene Relation dargestellt werden. Primärschlüssel der zugehörigen Klasse soll auch als Fremdschlüssel auftreten. Voraussetzungen Vorlesung * obligatorisch VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
18
Eine Klasse mit 1:1 Assoziation
Darstellungsmöglichkeit: Person (PNr, Name, Geburtsdatum) Ehe (PNr, Gatte, Seit) Verwendung von einer Relation: Person (PNr_Ehemann, Name_Ehemann, GD_Ehemann, PNr_Ehefrau, Name_Ehefrau, GD_Ehefrau, Seit) Alternative (wie bei N:1 Relationen): Person (PNr, Name, Geburtsdatum, PNr_Gatte, Seit) Ehe Person 1 Seit PNr Name Geburtsdatum Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
19
N-stellige Assoziationen
Seminarthemen Professoren ( PersNr, Name, Rang, Raum ) Studenten ( MatrNr, Name, Semester ) Seminarthemen ( Titel ) Belegung ( MatrNr, PersNr, Titel, Vortragsdatum, Raum ) .. weitere Alternativen möglich Titel 0..1 Studenten 0..* 1 Professoren MatrNr Name Semester PersNr Name Rang Raum Belegung Vortragsdatum Raum Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
20
Schwache Entitymengen
Schwache Entitäten sind Entitäten, die von einer anderen, übergeordneten Entität abhängig sind. Sie sind oft nur in Kombination mit dem Schlüssel der übergeordneten Entität eindeutig identifizierbar. Beziehung zwischen "starkem" und schwachem Typ ist immer 1:* (oder 1:1 in seltenen Fällen) Warum kann das keine * : * Beziehung sein? RaumNr ist nur innerhalb eines Gebäudes eindeutig Schlüssel ist: GebNr und RaumNr Gebäude Räume GebNr Höhe RaumNr Größe Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
21
RM sieht keine Unterstützung der Abstraktionskonzepte vor
Generalisierung RM sieht keine Unterstützung der Abstraktionskonzepte vor keine Maßnahmen zur Vererbung (von Struktur, Integritätsbedingungen, Operationen) „Simulation“ der Generalisierung und Aggregation eingeschränkt möglich Generalisierungsbeispiel: Uni-Angehörige ID Name Angestellte TV-L Gruppe Beamte Techniker Wiss. Mitarbeiter Erfahrung Diplom Spezialgebiet Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
22
Lösungsmöglichkeit 1: vertikale Partitionierung
Generalisierung in RA Lösungsmöglichkeit 1: vertikale Partitionierung jede Instanz wird entsprechend der Klassenattribute in der IS-A-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen (Relationen) gespeichert. nur das ID-Attribut wird dupliziert Uni-Angehörige (ID, Name) Angestellte (ID, TV_L_Gruppe) Techniker (ID, Erfahrung) WissMA (ID, Diplom, Spezialgebiet) Beamte (ID, … ) Eigenschaften geringfügig erhöhte Speicherungskosten, aber hohe Aufsuch- und Aktualisierungkosten Integritätsbedingungen: TECHNIKER.ID ANGESTELLTE.ID, usw. Instanzenzugriff erfordert implizite oder explizite Verbundoperationen :: Problembeispiel: Finde alle TECHNIKER-Daten Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
23
Generalisierung in RA (1)
Lösungsmöglichkeit 2: horizontale Partitionierung jede Instanz ist genau einmal und vollständig in ihrer „Hausklasse“ gespeichert. keinerlei Redundanz Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften niedrige Speicherungskosten und keine Änderungsanomalien Eindeutigkeit von ID zwischen Relationen aufwendiger zu überwachen Retrieval kann rekursives Suchen in Unterklassen erfordern. :: Problembeispiel: Finde alle ANGESTELLTE Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
24
Generalisierung in RA (3)
Lösungsmöglichkeit 3: volle Redundanz eine Instanz wird wiederholt in jeder Klasse, zu der sie gehört, gespeichert. sie besitzt dabei die Werte der Attribute, die sie geerbt hat, zusammen mit den Werten der Attribute der Klasse Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften höherer Speicherplatzbedarf und Auftreten von Änderungsanomalien. einfaches Retrieval, da nur die Zielklasse (z. B. ANGESTELLTE) aufgesucht werden muss Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
25
Folgendes Buch liegt der Vorlesung zugrunde:
Alfons Kemper und Andre Eickler Oldenbourg Verlag, München, 2006 6. aktualisierte und erweiterte Auflage Die Folien wurden weitgehend von den Autoren übernommen. (Siehe auch )
26
Literatur A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung, 6. aktualisierte und erweiterte Auflage. Oldenbourg Verlag, 2006. A. Silberschatz, H. F. Korth und S. Sudarshan Database System Concepts, 3. Auflage, McGraw-Hill Book Co., 1997. R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Benjamin Cummings, Redwool City, Ca, USA, 2. Auflage, 1994 G. Vossen : Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Addison Wesley, 1994.
27
D. Maier: The Theory of Relational Databases. Computer Science Press
S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer Verlage, 1995. C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design, Benjamin Cummings, Redwood City, Ca, USA, 1992. C. J. Date: An Introduction to Database Systems. McGraw-Hill, 6. Aufl., 1997. J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill, 1997.
28
A. Kemper, G. Moerkotte: Object-Oriented Database Management: Applications in Engineering and Computer Science, Prentice Hall, 1994 E. Rahm: Mehrrechner-Datenbanksysteme. Addison-Wesley, 1994. P. Dadam: Verteilte Datenbanken und Client/Server Systeme. Springer Verlag, 1996
29
Grundlagen der Datenbanken, WS 08/09
Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
30
Schwache, existenzabhängige Entities
Höhe GebNr RaumNr Größe N 1 Gebäude liegt_in Räume Schwache Entitäten sind Entitäten, die von einer anderen, übergeordneten Entität abhängig sind. Sie sind oft nur in Kombination mit dem Schlüssel der übergeordneten Entität eindeutig identifizierbar. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
31
Schwache, existenzabhängige Entities
Höhe GebNr RaumNr Größe N 1 Gebäude liegt_in Räume Beziehung zwischen "starken" und schwachem Typ ist immer 1:N (oder 1:1 in seltenen Fällen) Warum kann das keine N:M-Beziehung sein? RaumNr ist nur innerhalb eines Gebäudes eindeutig Schlüssel ist: GebNr und RaumNr Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
32
Relationale Modellierung schwacher Entitytypen
Studenten ablegen Prüfungen 1 N Note PrüfTeil MatrNr Vorlesungen umfassen VorlNr abhalten Professoren PersNr M Prüfungen: {[MatrNr: integer, PrüfTeil: string, Note: integer]} umfassen: {[MatrNr: integer, PrüfTeil: string, VorlNr: integer]} abhalten: {[MatrNr: integer, PrüfTeil: string, PersNr: integer]} Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
33
Fremdschlüssel auf ein schwaches Entity
Man beachte, dass in diesem Fall der (global eindeutige) Schlüssel der Relation Prüfung nämlich MatrNr und PrüfTeil als Fremdschlüssel in die Relationen umfassen und abhalten übernommen werden muß. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
34
Relationale Modellierung der Generalisierung
Fachgebiet Assistenten is_a Angestellte Professoren PersNr Name Raum Rang Angestellte: {[PersNr, Name]} Professoren: {[PersNr, Rang, Raum]} Assistenten: {[PersNr, Fachgebiet]} Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.