Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Relationale und Objekt-relationale Datenbanken

Ähnliche Präsentationen


Präsentation zum Thema: "Relationale und Objekt-relationale Datenbanken"—  Präsentation transkript:

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: FolgenAnomalien
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


Herunterladen ppt "Relationale und Objekt-relationale Datenbanken"

Ähnliche Präsentationen


Google-Anzeigen