VL2

Werbung
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
1
Kapitel 2
Prof. Dr. Steffen Staab
Dr. Dr. Sergej Sizov
Daten- und
Informationsmodellierung
ISWeb –
Information Systems & Semantic Web
Informationsmodellierung
Objekte
" Miniwelt "
Zusammenhänge
Sachverhalte
Informationen
Personen
Attribute
Gegenstände
Formalisierung
Tatsachen
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
3
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
4
Entity/Relationship-Modellierung (ERM)
Konzepte:
MatrNr
Name Semester
• Entity-Mengen
• Beziehungsmengen
Studenten
(Relationship-Mengen)
• Attribute
Hörer
• Wertebereiche
• Primärschlüssel
hören
• unterstützt die Abstraktionskonzepte
der Klassifikation und Aggregation
Lehrveranstaltung
• graphische Darstellung durch
Diagramme
Vorlesungen
• zahlreiche Erweiterungsvorschläge
entwickelt von P. P. Chen
(ACM Transactions on
Database Systems 1976)
Grundlagen der Datenbanken, WS 08/09
VorlNr
Titel
Kapitel 2: Daten- und Informationsmodellierung
SWS
5
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
6
Kapitel 3
Prof. Dr. Steffen Staab
Dr. Dr. Sergej Sizov
Grundlagen
des relationalen Datenmodells
ISWeb –
Information Systems & Semantic Web
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
8
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Minnie Mouse
Broadway
Donald Duck
Broadway
Telefon#
4711
94725
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
9
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
10
Assoziationen N:1
Professoren
lesen
1
PersNr
Name
Rang
Raum
*
Vorlesungen
VorlNr
Titel
SWS
1. Verwendung von drei Relationen
Professoren ( PersNr, Name, Rang, Raum )
Vorlesungen ( VorlNr, Titel, SWS )
lesen ( VorlNr, PersNr )
2. Besser: Verwendung von zwei Relationen
Professoren ( PersNr, Name, Rang, Raum )
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!
Grundlagen der Datenbanken, WS 08/09
Kapitel 3: Grundlagen des Relationalen Modells
11
Ausprägung von Professoren und Vorlesungen
PersNr
2125
2126
2127
2133
2134
2136
2137
Vorlesungen
VorlNr
Titel
SWS Gelesen
Professoren
Von
Name
Rang Raum
5001
Grundzüge
4
2137
Sokrates
C4 226
5041
Ethik
4
2125
Russel
C4 232
5043 Erkenntnistheorie
3
2126
Kopernikus C3 310
5049
Mäeutik
2
2125
Popper
C3
52
4052
Logik
4
2125
Augustinus C3 309
5052 Wissenschaftstheorie 3
2126
Curie
C4
36
5216
Bioethik
2
2126
Kant
C4
7
5259 Der Wiener Kreis
2
2133
5022 Glaube und Wissen
2
2134
4630
Die 3 Kritiken
4
2137
Professoren
Grundlagen der Datenbanken, WS 08/09
lesen
1
*
Vorlesungen
Kapitel 2: Daten- und Informationsmodellierung
12
Vorsicht: So geht es NICHT
Professoren
PersNr
Name
Rang Raum
2125
Sokrates
C4 226
2125
Sokrates
C4 226
2125
Sokrates
C4 226
...
...
...
...
2134 Augustinus C3 309
2136
Curie
C4
36
Professoren
Grundlagen der Datenbanken, WS 08/09
liest
5041
5049
4052
...
5022
??
Vorlesungen
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
lesen
1
*
Vorlesungen
Kapitel 2: Daten- und Informationsmodellierung
13
Vorsicht: So geht es NICHT: FolgenAnomalien
Professoren
PersNr
Name
Rang
2125
Sokrates
C4
2125
Sokrates
C4
2125
Sokrates
C4
...
...
...
2134 Augustinus C3
2136
Curie
C4
Raum
226
226
226
...
309
36
liest
5041
5049
4052
...
5022
??
Vorlesungen
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
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
14
N:M Assoziationen
Studenten
MatrNr
Name
Semester
hören
*
*
Vorlesungen
VorlNr
Titel
SWS
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.
Grundlagen der Datenbanken, WS 08/09
Kapitel 2: Daten- und Informationsmodellierung
15
Ausprägung der Beziehung hören
hören
MatrNr VorlNr
26120
5001
27550
5001
27550
4052
28106
5041
28106
5052
28106
5216
Studenten
MatrNr
...
26120
...
27550
...
...
...
Studenten
MatrNr
Name
Semester
Grundlagen der Datenbanken, WS 08/09
hören
*
*
Vorlesungen
VorlNr
...
5001
...
4052
...
...
...
Vorlesungen
VorlNr
Titel
SWS
Kapitel 2: Daten- und Informationsmodellierung
16
Eine Klasse mit N:M Assoziation
*
Voraussetzungen
*
Vorlesung
obligatorisch
VorlNr
Titel
SWS
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.
Grundlagen der Datenbanken, WS 08/09
Kapitel 2: Daten- und Informationsmodellierung
17
Eine Klasse mit 1:1 Assoziation
1
Ehe
Seit
Person
1
PNr
Name
Geburtsdatum
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)
Grundlagen der Datenbanken, WS 08/09
Kapitel 3: Grundlagen des Relationalen Modells
18
N-stellige Assoziationen
Seminarthemen
Titel
0..1
Studenten
0..*
MatrNr
Name
Semester
1
Belegung
Vortragsdatum
Raum
Professoren
PersNr
Name
Rang
Raum
Professoren ( PersNr, Name, Rang, Raum )
Studenten ( MatrNr, Name, Semester )
Seminarthemen ( Titel )
Belegung ( MatrNr, PersNr, Titel, Vortragsdatum, Raum )
.. weitere Alternativen möglich
Grundlagen der Datenbanken, WS 08/09
Kapitel 3: Grundlagen des Relationalen Modells
19
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.
Gebäude
Räume
GebNr
Höhe
RaumNr
Größe
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
Grundlagen der Datenbanken, WS 08/09
Kapitel 3: Grundlagen des Relationalen Modells
20
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
21
Generalisierung in RA
Lösungsmöglichkeit 1: vertikale Partitionierung
 jede Instanz wird entsprechend der Klassenattribute in der IS-AHierarchie 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
22
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
23
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
24
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 http://www.db.fmi.uni-passau.de/publications/books/DBMSeinf )
25
Literatur
A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung, 6. aktualisierte und erweiterte
Auflage. Oldenbourg Verlag, 2006.
http://www.db.fmi.uni-passau.de/publications/books/DBMSeinf
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-ManagementSysteme.
Addison Wesley, 1994.
26
D. Maier: The Theory of Relational Databases. Computer Science
Press. 1983.
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.
27
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
28
Grundlagen der Datenbanken, WS 08/09
Kapitel 2: Daten- und Informationsmodellierung
29
Schwache, existenzabhängige Entities
Höhe
GebNr
Gebäude
RaumNr
Größe
N
1
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
30
Schwache, existenzabhängige Entities
Höhe
GebNr
Gebäude
RaumNr
Größe
N
1
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
31
Relationale Modellierung schwacher Entitytypen
Studenten
1
ablegen
N
Note
Prüfungen
PrüfTeil
N
MatrNr
umfassen
VorlNr
M
Vorlesungen
N
abhalten
M
PersNr
Professoren
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]}32
Grundlagen der Datenbanken,
WS 08/09
Kapitel
2: Daten- und Informationsmodellierung
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
33
Relationale Modellierung der Generalisierung
Fachgebiet
Assistenten
is_a
Professoren
Raum
Rang
Angestellte
PersNr
Name
Angestellte: {[PersNr, Name]}
Professoren: {[PersNr, Rang, Raum]}
Assistenten: {[PersNr, Fachgebiet]}
Grundlagen der Datenbanken, WS 08/09
Kapitel 2: Daten- und Informationsmodellierung
34
Herunterladen