Datenbank 3-Ebenenkonzept

Werbung
Datenbank 3-Ebenenkonzept
N
N
N
AP
AP
AP
E
E
E
E/C
Datenbankadministrator
C
C/I
E/C
E/C
17
E/C
E/C
E
E
N
N
I
I
Interne Ebene
C/I Transformation
C konzeptionelle Ebene
E/C Transformation
E externe Ebene
AP Anwendungsprogramm
N Nutzer
Externe Ebene
„
„
„
18
entspricht den Benutzeranforderungen, vom
DBA mit Hilfe der Datendefinitionssprache
(DDL) beschrieben
ist wesentliche Voraussetzung für
Datenunabhängigkeit
Zugriff durch Endbenutzer und
Programmierer
– Endbenutzer :multiple records at a time
– Programmierer : single record at a time
Konzeptionelle Ebene
„
„
„
„
„
basiert auf detaillierter Analyse der realen
Welt)
ist Ergebnis von Systemanalyse und
Datenmodellierung
enthält alle wesentlichen Daten und ihre
Beziehungen, sowie Integritätsbedingungen
sollte nicht/wenig geändert werden
durch DBA mit Hilfe der DDL beschrieben
19
Interne Ebene
„
„
„
„
„
„
20
Verwaltung und Definition durch den DBA
bildet die Schnittstelle zum Betriebssystem
beschreibt, wie die Daten auf den Speichern
abgelegt sind
beinhaltet die Definition der Datenstrukturen
legt die Zugriffsarten auf die Daten fest
zur Definition sind Informationen über
Zugriffs-häufigkeit und Zeitanforderungen
notwendig
Speicherstrukturen (1)
„
21
Datei = Folge von Blöcken fester Länge
(BS-spezifisch)
– logische Sicht: Ablage der Blöcke wird
durch das Betriebssystem (BS) gesteuert,
Blöcke können physisch
zusammenhängend oder getrennt abgelegt
werden (BS-Verwaltung)
Speicherstrukturen (2)
„
„
„
„
„
Extents (Partitionen)=Folge von physisch
aufeinanderfolgenden Blöcken, ==>
log.=physische Abfolge (BS/DBMS)
Segmente=Menge allokierter Extents für die
Speicherung logischer Strukturen (Data-,
Index-, Rollback-, Temporary-Segment)
Datendateien= Folge von Segmenten
Tablespace=logische Verkettung von
Datendateien
Datenbank=besteht aus einem oder
mehreren Tablespaces
22
Datenbankdateien
„
„
„
23
Datendateien
– enthalten alle Datenbankdaten (Tabellen, Indexe,
DB-Prozeduren, ...), physische Speicherung auf BS
Ebene.
Redo Log Dateien
– Protokollierung aller Datenbankoperationen
– Grundlage für DB-Recovery
Control Dateien
– Verwaltung der physischen Struktur der
Datenbank (Datenbankname, Namen, Speicherort
der Datendateien und redo log Dateien)
Verteilung der Datenbankdateien
„
Redo Log Dateien immer auf getrennten
Platten
– Ausfallsicherheit
– keine Behinderung zwischen Log- und
Datendateien durch ständiges Bewegen des
Plattenarmes
„
„
Spiegelung der Redo Log und Control
Dateien
Verteilen der Datendateien auf
unterschiedliche Platten
24
Tablespace
„
25
besteht aus einer oder mehreren
Datendateien, dient der logischen
Speicherung der Datenbankobjekte.
– System-Tablespace: Beinhaltet die
Verwaltungsinformationen der Datenbank
(Tabellen-, Spalteninformationen,
Integritätsregeln, Zugriffsberechtigungen,...)
– Nutzer-Tablespace: Enthält die
„eigentlichen“ Nutzerdaten
Datenbankobjekte
Tabellen, Spalten
„ Views (Sichten)
„ Sequenzen
„ Programm Einheiten
„
– stored procedures, functions, packages
Synonyme
„ Indexe, Cluster
„
26
27
Prozesse und
Speicherstrukturen
eines DBMS am
Beispiel von ORACLE
Datenmodelle
(Beschreibung der konzeptionellen Ebene)
Hierarchisches Modell
„ Netzwerkmodell
„ Relationenmodell
„ Objektorientierte Ansätze
„
28
29
Hierarchisches Modell
Struktur
Datenablage
Meßstelle
Meßstelle A
Meßstelle B
1
m
Messung
(Meßwert,Zeit)
MA 1
MA 2
MB 1
MB 2
30
Netzwerkmodell
Datenablage
Struktur
Meßstelle B
Meßstelle
1
Zeit
1
Z3
Meßstelle A
Z2
Z1
m
Messung
m
MA 1 MA 2 MA 3 MB 1 MB 2 MB 3
31
Hierarchische-/Netzwerk-Datenbanken
„
Vorteile:
– kurze Zugriffszeiten
– geringe Redundanz
„
Nachteile
– Strukturänderung schwierig (besonders
HDB)
– komplexe Programmierung (besonders
NDB)
32
Relationenmodell
Struktur
Messung(Meßwert,Meßstelle,Zeit)
Datenablage
Messung
Meßwert
Meßstelle
Zeit
24.5
36.6
34.1
55.3
48.1
47.9
A
A
A
B
B
B
14.20
14.30
14.40
14.20
14.30
14.40
Begriffe im relationalen Datenmodell
Formale
Bezeichnung
Informelle
Ausdrucksweise
Relation
Tupel, Datensatz
Kardinalität
Attribut, Feld
Gebiet, Domäne
Tabelle
eine Zeile einer Tabelle
Anzahl der Tupel einer Relation
eine Spalte einer Tabelle
Menge aller möglichen Werte eines
Attributes
eindeutiger Bezeichner
Anzahl der beteiligten Attribute
Primärschlüssel
Grad der Relation
33
Definitionen für Relationen
es gibt keine doppelten Tupel (Zeilen)
„ Tupel sind nicht geordnet
„ Attribute (Felder) sind nicht geordnet
„ alle Attribute sind atomar
„
34
Operationen mit Relationen
„
35
Vereinigung
– beide Relationen müssen denselben Grad und dieselben
Wertebereiche der Attribute haben.
„
Differenz
– Subtrahiert man von einer Relation R die Relation S, dann ist das
Ergebnis eine Relation, die alle diejenigen Tupel von R enthält, die
nicht in S sind. Bedingung: wie bei der Vereinigung
„
Projektion
– Die Projektion ermöglicht es, aus einer Relation Attribute (Spalten)
zu entfernen oder Attribute umzuordnen.
„
Selektion
– Die Selektion erzeugt aus einer Relation R eine neue Relation,
indem sie aus allen Tupeln von r diejenigen auswählt, für die eine
Auswahlbedingung zutrifft.
R1
36
R2
K ST
ANR
13
1 12
12
1 19
23
1 98
12
1 55
KST ANR
12
119
23
188
•Vereinigung von R1 und R2 ?
•Differenz: R1-R2 ?
•Projektion des Attributes KST der Relation R1 ?
•Selektion der Tupel von R2, für welche die ANR=119 ist?
•Differenz R2-R1 und anschließende Selektion der Tupel, für welche
die KST=12 ist?
37
Vor- und Nachteile relationaler Datenbanken
„
Vorteile:
– mathematisch fundiert (relationale
Algebra)
– leichte Änderung des Datenbankaufbaus
– leicht programmierbar und verwaltbar
„
Nachteile:
– Abbildung der realen Welt in Tabellenform
– erfordern eine hohe Rechenleistung
– erzeugen häufig Redundanz
A_NR Abteilung
1
SW-Entwicklung
2
Help-Line
3
DB-Entwicklung
A_NR Abteilung
1
1
1
2
2
2
3
SW-Entwicklung
SW-Entwicklung
SW-Entwicklung
Help-Line
Help-Line
Help-Line
DB-Entwicklung
M_NR Mitarbeiter
1
2
3
4
5
1
6
Ralf Löffler
Steffen Moldenhauer
Klaus Küspert
Steffen Köhler
Andreas Hendrich
Ralf Löffler
Georg Helmer
M_NR Mitarbeiter
1
2
3
4
5
1
6
Ralf Löffler
Steffen Moldenhauer
Klaus Küspert
Steffen Köhler
Andreas Hendrich
Ralf Löffler
Georg Helmer
38
Schlüssel im Relationenmodell
„
dienen der Identifikation der Tupel
– Durch Schlüssel ist es nicht notwendig alle Attributwerte
eines Tupels zu nennen, um es aufzufinden.
„
„
„
zur Identifikation eines Tupels gibt es oft
mehrere Schlüssel
müssen eindeutig sein, sind eine minimale,
identifizierende Attributkombination
Festlegung eines Primärschlüssels für jede
Relation
39
40
Das Entity Relationship Modell
„
Entities
– unterscheidbare Dinge der realen Welt, z.B. Autos,
Personen, Städte
– Zusammenfassung der Entities zu sogenannten
Entity-Sets (Gruppen von Entities)
– haben Attribute (Eigenschaften/Werte)
• zugelassene Werte eines Entity-Sets = Wertebereich
– besitzen mindestens einen Schlüssel
– können in Beziehung (Relation) zueinander
stehen
Bücher einer Bibliothek
Entities sind Bücher einer Bibliothek
„ Entity-Set = Gesamtheit aller Bücher
„ Attribute und mögliche Werte:
„
Attribut
Wertebereich
Buch_NR
Autor
Titel
Rubrik
„vierstellige Zahl“
„Zeichenkette der Länge 30“
„Zeichenkette der Länge 30“
„Reiseliteratur“,“Belletristik“
41
Notation im ER-Modell
Entity-Typ
Attribut
Relationship/Beziehung
Beziehungen zwischen Entities:
zwingend optional
•eins-zu-eins (1,1)
(0,1)
•eins-zu-viele (1,n)
(0,n)
•viele-zu-eins (n,1)
(n,0)
•viele-zu-viele (n,m)
Dabei gilt: n,m sind natürliche Zahlen.
Abteilung
(1,n)
hat
(1,1)
Mitarbeiter
42
Spezielle Beziehungstypen
•„Is a“ (ist ein)-Beziehungstyp
•Kardinalitäten ?
Programmiersprachen
Softwareentwickler
Person
Name
Geb.dat
Is a
Geräte
Wartungsingenieur
Fremdsprachen
Sekretär
43
Eine Bibliothek möchte ihren Buchbestand und die Leser mit Hilfe eines
Datenbanksystems verwalten.
Die folgenden Daten sollen für die Bücher der Bibliothek gespeichert werden:
•Autor, Titel, Fachgebiet und Preis.
Die Bücher des Lesesaals können nicht entliehen werden. Die entleihbaren
Bücher haben unterschiedliche Entleihfristen (zwei oder vier Wochen). Zu
statistischen Zwecken soll außerdem die Häufigkeit der Entleihungen für jedes
Buch gespeichert werden. Für jedes entliehene Buch muß der Tag der
Ausleihe, das Rückgabedatum und der Entleiher gespeichert werden.
In der Datenbank sollen von den Lesern der Bibliothek die folgenden Daten
verwaltet werden:
•Name, Wohnort, Anmeldedatum.
Außerdem soll gespeichert werden, wie oft ein Leser seit seiner Anmeldung
Bücher entliehen hat.
Leser können Bücher vorbestellen, der Tag der Vorbestellung und das
vorbestellte Buch müssen also ebenfalls verzeichnet werden.
Säumige Leser können mit Strafgebühren belegt werden, falls der zu zahlende
Betrag einen bestimmten Wert überschritten hat, so soll der Leser gesperrt
werden.
Modellieren Sie das Bibliotheksbeispiel mit Hilfe des ER-Modells
44
ER-Diagramm
Datenbank
Normalisierung des ERD
„ Entity-Typen werden direkt auf
Tabellen abgebildet
„ für 1:n, n:m Beziehungen zwischen
Entity-Typen sind eigene Tabellen
notwendig
„ 1:1 Beziehungen werden direkt in den
Tabellen dargestellt
„
45
Normalformlehre
46
Ziel: Redundanzen und
Zugriffsprobleme zu verhindern
„ durch Normalisierung entstehen neue
Relationen (Tabellen)
„ Vorgehen: Entity-fremde Informationen
Erkennen und Herauslösen
„
Unnormalisierte Relationen
47
Erste Normalform (1)
48
Erste Normalform (2)
„
Definition der ersten Normalform:
– Eine Relation ist in erster Normalform, wenn alle
Attribute nur atomare Werte enthalten.
49
Funktionale Abhängigkeit
„
50
Definition:
– Ein Attribut Y einer Relation R heißt funktional
abhängig vom Attribut X derselben Relation, wenn zu
jedem X-Wert höchstens ein Y-Wert möglich ist.
Schlüssel
Zweite Normalform
„
51
Definition:
– Eine Relation ist in der zweiten Normalform,
wenn sie in der ersten ist, und jedes
Nichtschlüsselattribut voll funktional abhängig
vom Primärschlüssel ist.
„
Wichtig:
– Eine normalisierte Relation mit einem nicht
zusammengesetzten Primärschlüssel
befindet sich immer in der zweiten
Normalform!
Erste Normalform
Zweite Normalform
52
Dritte Normalform
„
53
Definition:
– Eine Relation ist in dritter Normalform
genau dann, wenn sie in der zweiten ist und es
zwischen Schlüsselattributen und
Nichtschlüsselattributen keine transitiven
Abhängigkeiten gibt.
Graphische Veranschaulichung zur transitiven
Abhängigkeit
Schlüssel
Attribut abhängiges
Attribut
54
Zweite Normalform
Dritte Normalform
55
Objektorientierung
„
Vorteile:
– natürliche Modellierung möglich
– Trennung von Funktionen und Daten
entfällt
– Erweiterbarkeit/Wiederverwendbarkeit
– Datenkapselung
56
OO-Begriffe
Klasse
„ Objekt
„ Attribute
„ Methoden
„ Nachricht
„ (Mehrfach-)Vererbung
„ Polymorphismus
„
57
Vererbung
58
Fahrzeug
PKW
Limousine
Kombi
LKW
Pritsche
Pickup
Tankwagen
Polymorphie
Berechne
Flächeninhalt
59
Zeichnen
Geometrisches
Objekt
Programm
A:= geometrisches Objekt;
B:= Kreis;
C:=Rechteck;
:
:
A:=B;
A.Zeichnen;
A.Berechne_Flächeninhalt;
:
:
A:=C;
A.Zeichnen;
:
Rechteck
Kreis
Dreieck
Lebenszyklus von Objekten
60
Klassendefinition
„ Erzeugen von Objekten
„ Anwendung der definierten Methoden
„ Kommunikation mit anderen Objekten
„ Löschen der Objekte
„
ATKIS-objektstrukturiertes Datenmodell für die
61
Modellierung und Erfassung raumbezogener Daten
ATKIS-Objektbereich
3000 Verkehr
3000 Verkehr
3100 Straßenverkehr
3101 Straße
3102 Weg
3103 Platz
FKT,OFM
BRF,BRV,WDM
ZUS
FKT,OFM
BRF,BRV,WDM
ZUS
BEF,KON
FKT,OFM
BDI,BDU,BFS
FSZ,IBD
NTZ
NTZ
62
63
Verkehr
FKT,OFM
Straßenverkehr
Verkehrsnutzung
BRF,BRV,WDM
ZUS
NTZ
Weg
Straße
BEF,KON
BDI,BDU,BFS
FSZ,IBD
Platz
Herunterladen