Grundlagen von Datenbanken und Informationssystemen

Werbung
Anwendersoftware (AS)
Grundlagen von Datenbanken und
Informationssystemen
Holger
g Schwarz
Wintersemester 2009/10
Teile zu diesem Folienskript beruhen auf einer ähnlichen Vorlesung, gehalten von Prof. Dr. T. Härder am
Fachbereich Informatik der Universität Kaiserslautern und Prof. Dr. N. Ritter am Fachbereich Informatik der
Universität Hamburg. Für dieses Skriptum verbleiben alle Rechte (insbesondere für Nachdruck) bei den
Autoren.
Einführung
Organisatorisches
• Vorlesung:
g Dr. rer. nat. habil. Holger
g Schwarz
ƒ Mittwoch: 11:30 - 13:00 (V38.04)
ƒ Donnerstag: 8:00 - 9:30 (V38.04)
• Übung: Philipp Janowski
ƒ Mittwoch: 11:30 - 13:00 (V38.04)
• Sprechstunde
p
ƒ Mittwoch:13:00 - 14:00
ƒ Zimmer 2.361
ƒ bitte vorher per Email anmelden: [email protected]
holger schwarz@ipvs uni stuttgart de
• Prüfung
ƒ schriftlich oder
ƒ mündlich als Bestandteil der Vertiefungslinie Datenbanken und
Informationssysteme
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
2
Einführung
Vorläufiger Zeitplan (Stand: 22.10.09)
KW
Mittwoch
Donnerstag
43
21 10 -21.10.:
22 10 Einführung
22.10.:
Ei füh
44
28.10.: Motivation, Einführung, Grundbegriffe
29.10.: Informationsmodelle
45
04.11.: Informationsmodelle
05.11.: Informationsmodelle
46
11 11 : Relationenmodell
11.11.:
12 11 : Übung (Modellierung)
12.11.:
47
18.11.: Relationenmodell
19.11.: Relationenmodell
48
25.11.: Standardsprache SQL
26.11.: Übung (ERM, Relationenalgebra)
49
02 12 : Standardsprache SQL
02.12.:
03 12 : Standardsprache SQL
03.12.:
50
09.12.: Standardsprache SQL
10.12.: Übung (SQL)
51
16.12.: Integritäts- und Zugriffskontrolle
17.12.: Integritäts- und Zugriffskontrolle
52
5
23.12.:
3
Logischer
og sc e DB-Entwurf
t u
24.12.: --
1
06.01.: --
07.01.: Übung (SQL, Integrität)
2
13.01.: Logischer DB-Entwurf
14.01.: Logischer DB-Entwurf
3
20.01.: Architektur
21.01.: Übung (FA, DB-Entwurf)
4
27.01.: Architektur
28.01.: Anwendungsprogrammierschnittstelle
5
03.02.: Anwendungsprogrammierschnittstelle
04.02.: Übung (Trigger)
6
10.02.: Transaktionsverwaltung
11.02.: Transaktionsverwaltung
7
17.02.: Informationssysteme
18.02.: Abschluss (Probeklausur)
3
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Ausbildungsstruktur im Überblick
MehrrechnerDBS
IngenieurDBS
MultimediaDBS
Transaktionssysteme
Data-Warehouse,
D
t W h
Data-Mining- und
OLAP-Technologien
Daten- und
Wissensmod.
Datenstrukturen
Advanced
Information
Management
Implementierung
von
on DB & IS
Fachpraktikum
DB
(Haupt-)Seminar
Grundlagen
g von DB & IS
ist Voraussetzung für
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
4
Einführung
Literatur
Bücher
[KE04]
Kemper, A., Eickler, A.: Datenbanksysteme - Eine Einführung,
Oldenbourg 5.
Oldenbourg,
5 Auflage,
Auflage ISBN: 3486273922,
3486273922 2004.
2004
(6. Auflage, ISBN: 3486576909, 2006)
[KW06]
Kemper, A., Wimmer, M.: Übungsbuch Datenbanksysteme,
Oldenbourg, ISBN: 3486579673, 2006.
[Da04]
Date, C.J.: An Introduction to Database Systems, Addison-Wesley
Publ. Comp., Reading, Mass., 8th Ed., ISBN: 0321189566, 2004
[EN04]
Elmasri, R.; Navathe, S.B.: Fundamentals of Database Systems,
Benjamin/Cummings Publishing Company, 4th Ed., ISBN:
0321204484 2004
0321204484,
[GU+02] Garcia-Molina, H., Ullman, J.D., Widom, J.: Database Systems.
The Complete Book, Prentice Hall, ISBN: 0130319953, 2002
[SK+02] Silberschatz, A., Korth, H.F., Sudarshan, S.: Database System
Concepts, 4th Ed. McGraw-Hill Book Comp., New York, ISBN:
0072283637,
00
8363 , 2002
00
5
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Literatur
Weitere Bücher:
[DD93]
[MS99]
Date, C.J., Darwen, H.: A Guide to the SQL Standard, Addison-Wesley Publ. Comp.,
Reading, Mass.,
Reading
Mass 3rd Edition,
Edition 1993
Melton, J., Simon, A.R.: SQL : 1999 - understanding relational language components,
Morgan Kaufmann, ISBN: 1558604561, 2002
[AB+00] Abiteboul, S., Buneman, P., Suciu, D.: Data on the Web, Morgan Kaufmann Publ. San
Francisco, California, 2000
[RV02] Rahm, E., Vossen, G.: Web und Datenbanken. Konzepte, Architekturen,
Anwendungen dpunkt Verlag,
Anwendungen,
Verlag 2002
[HR01] Härder, T., Rahm, E.: Datenbanksysteme - Konzepte und Techniken der
Implementierung, Springer-Verlag, 2001
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
6
Einführung
Literatur
ZEITSCHRIFTEN:
• TODS, Transactions on Database Systems, ACM Publikation (vierteljährlich)
• Information Systems, Pergamon Press (6-mal jährlich)
• The VLDB Journal, Springer (vierteljährlich)
• Informatik - Forschung und Entwicklung, Springer (vierteljährlich)
TAGUNGSBÄNDE:
g g
, jährliche
j
Konferenz der ACM Special
p
Interest Group
p on
• SIGMOD Tagungsband,
Management of Data
• VLDB Tagungsband, jährliche Konferenz „Very Large Data Bases“
g g
, jährliche
j
Konferenz „Int.
„
Conf. on Data Engineering“
g
g
• IEEE Tagungsband,
• GI Tagungsbände der Tagungen der Gesellschaft für Informatik, Tagungen
innerhalb des Fachausschusses 2.5 Informationssysteme
. . . und viele weitere Konferenzreihen
7
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Vorlesungskapitel
Date
(8th Ed.)
Kemper
(5. Aufl.)
Elmasri/
Navathe
4th Ed.
Kap 1: Motivation, Einführung,
Grundbegriffe
Kap 1
Kap 1
Kap 1, 2
Kap 2:
Informationsmodelle
Kap 14
Kap 2
Kap 3, 4
Kap 3: Grundlagen des
Relationenmodells
Kap 6, 7
Kap 3, 8
Kap 5, 6, 7
Kap 4: Die Standardsprache SQL
Kap 3 , 4, 10
Kap 4
Kap 8
Kap 5:
Integritäts- und Zugriffskontrolle
Kap 9
Kap 4, 5
Kap 8
Kap 6: Logischer DB-Entwurf
Kap 11 , 12, 13
Kap 6
Kap 10, 11
Kap. 7: Architektur
Kap 2
Kap 1
Kap 2
Kap 8: Anwendungsprogrammierschnittstelle
Kap 4
Kap 4
Kap 9
Kap. 9: Transaktionsverwaltung
Kap 15, 16
Kap 9
Kap 17, 18, 19
Kap. 10: Informationssysteme
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Kap 1
8
Einführung
Digitales Universum 2007
•
In 2007 entstandene Daten:
ƒ 281 Exabyte weltweit
d.h. 41 Gigabyte pro Mensch
ƒ ca. 10 Exabyte in Deutschland
•
1 Gigabyte (GByte)
= 1000 Megabyte
= 109 Byte
1 Terabyte (TByte)
= 1000 Gigabyte
= 1012 Byte
1 Petabyte (PByte)
= 1000 Terabyte
= 1015 Byte
1 Exabyte (EByte)
= 1000 Petabyte
= 1018 Byte
1 Zettabyte (ZByte)
= 1000 Exabyte
= 1021 Byte
Prognose:
ƒ ca. 60% Wachstum pro Jahr
ƒ 2011: 1800 Exabyte weltweit
ƒ Weltbevölkerung: ≈ 6,8 Mrd.
ƒ Anzahl Galaxien: ≈ 1011
ƒ Anzahl Protonen und Elektronen
im Universum: ≈ 1079
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Quelle: IDC-Studie - The Diverse and Exploding Digital Universe, 2008
9
Einführung
Digitales Universum 2006: Die Daten
•
•
•
•
•
•
150 Mrd. Fotos
6 Exabyte Email (ohne Spam)
Telefon, Film, Fernsehen, Internet, …
70% der Daten werden durch
Privatpersonen erzeugt
85% der Daten durch Unternehmen
gespeichert verarbeitet
gespeichert,
verarbeitet, übermittelt
übermittelt,
etc.
95% der Daten sind unstrukturiert
pro Tag:
ƒ 100 Millionen neue Videos auf YouTube
ƒ >1 Mrd. MP3-Files über Internet ausgetauscht
ƒ 2 TByte neue Daten bei Energiekonzern Chevron
ƒ > 220 Mio.
i Transaktionen
ki
im
i Reisebuchungssystem
i b h
Amadeus
d
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Quelle: IDC-Studie - The Expanding Digital Universe, 2007
10
Einführung
Digitales Universum 2006
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Quelle: IDC-Studie - The Expanding Digital Universe, 2007
11
Einführung
Schlussfolgerungen für die künftige
Entwicklung
Î In wenigen Jahren sind wir in der Lage, „alles“ aufzuheben,
d. h., keine Information muss weggeworfen werden.
Î Die „typischen“
typischen“ Informationen werden nur noch von Rechnern
aufbewahrt, gesucht und aufbereitet; der Mensch sieht weder die Daten,
noch kennt er den Aufbewahrungsort und die genauen
Ableitungsverfahren.
bl
f h
Î Heute konzentriert man sich eher auf das Erfassen und Speichern von
Daten, z.B. bei den „Digitalen Bibliotheken“
Bibliotheken auf die Eingabe, d.h., das
Scannen, Komprimieren und OCR von Informationen.
Î Morgen wird anstelle der Eingabe die „relevante Auswahl“ die wesentliche
Rolle spielen:
Selektion, Suche und Qualitätsbewertung von Informationen.
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
12
Einführung
Übersicht
1. Motivation,, Einführung,
g, Grundbegriffe
g
•
•
•
Daten und Information
Datenbanksysteme
Informationssysteme
13
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Transiente vs. persistente Daten
•
Bisher bekannte Datenstrukturen
ƒ
ƒ
ƒ
ƒ
ƒ
•
•
Felder (Reihungen, Arrays, .... )
Verbunde (Sätze, Records, .... )
Listen
Graphen
Bäume
transiente Daten:
Datenstrukturen im Hauptspeicher,
d. h. Bestand nur für die Dauer einer
g
g
Programmausführung
persistente Daten:
Datenbestand auf Externspeicher,
d.h. Werte bleiben über
Programmende, Sitzungsende,
Betriebssystem-Uptime,
g, etc. hinaus
Rechnereinschaltung,
erhalten
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
AP
Datenstruktur
Datenstruktur
Datenstruktur
AP: Anwendungsprogramm
14
Einführung
Datenhaltung im Dateisystem
•
Isolierte Datenhaltung
ƒ Redundanz
ƒ Konsistenz schwierig zu garantieren
ƒ Integritätsbedingungen schwierig zu
prüfen
ƒ hohe Entwicklungskosten
ƒ eingeschränkte
Verarbeitungsmöglichkeiten
•
Gemeinsame Datenhaltung
Datenhalt ng
ƒ Probleme des Mehrbenutzerbetriebs
ƒ Sicherheitsprobleme
Produktionsplanung
Verkauf
Rechnungswesen
AP
AP
AP
File
File
File
Produktinformationen
Produktionsplanung
Verkauf
Rechnungswesen
AP
AP
AP
File
File
Produktinformationen
15
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Datenbanken
•
•
•
•
•
•
•
•
•
•
große Datenmengen
einfache Handhabung
mächtige Auswertungsoperationen
Mehrbenutzerbetrieb
Datenunabhängigkeit
Anwendungsneutralität
explizite Integritätsbedingungen
Konsistenzüberwachung
Redundanzfreiheit
…
Produktionsplanung
Verkauf
Rechnungswesen
AP
AP
AP
D t b k
Datenbankverwaltungssystem
lt
t
File
File
File
Datenbanksystem
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
16
Einführung
Datenbanksystem (DBS)
• Zentrales Hilfsmittel für Informationssysteme
Anwendungssysteme
DBS = DB + DBMS
Datenbanksysteme
Betriebssystem
• Eine Datenbank (DB)
Hardware
ƒ ist eine Sammlung gespeicherter Daten,
die von Anwendungssystemen benötigt werden.
• Ein Datenbankverwaltungssystem (DBVS, engl. DBMS)
ƒ ist ein standardisiertes Softwaresystem zur Definition, Verwaltung,
Verarbeitung und Auswertung der Daten in einer DB.
ƒ Es kann mittels geeigneter Parametrisierung an die speziellen
Anwendungsbedürfnisse angepasst werden
(hochgradig generisches System).
17
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Nutze
er/Anwendu
ungsprogram
mme
Beispiel: Universität
DB-Administration
Studiensekretariat
Prüfungsamt
DBMS
Uni-DB
Prüfungsdaten
Studierendend
daten
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Institutsdaten
Mitarbeiterdaten
18
Einführung
Übersicht
2. Informationsmodelle
•
•
•
DB-Entwurf und Modellierung
Entity-Relationship-Modell
Erweiterungen und Abstraktionskonzepte
19
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Miniwelt und Informationsmodell
Gegenstände
Miniwelt
Zusammenhänge
Tatsachen
Informationen
Eigenschaften
Sachverhalte
Objekte
Formalisierung,
Formalisierung
Diskretisierung
(Systemanalyse)
Informationsmodell
Attribute
ein-/mehrwertig
i / h
ti
einfach/
zusammengesetzt
Vorgänge
Veränderungen
Beziehungen
Typ, Grad
optional
existenzabhängig
Abstraktionskonzepte
Klassifikation
Schlüssel
Generalisierung
g
Aggregation
Wertebereiche
Assoziation
Nullwerte Methoden (Verhalten) Rollen
Objekte
Attribute
Beziehungen
g
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
20
Einführung
Beispiel Universität: Analyse
•
•
Rektoramt
Studiensekretariat
Prüfungsamt
•
•
Interview
•
•
Vorlesungen werden durch eine
Nummer, den Titel sowie den Prüfer
beschrieben.
Zu jedem Studierenden soll die
Matrikelnummer, das Semester, der
Name, der Wohnort sowie die
zugehörige Postleitzahl gespeichert
werden.
Zu jeder abgelegten Prüfung wird
das Datum und die Note
festgehalten.
Jeder Professor wird beschrieben
durch Name, Fakultät, Lehrstuhl, …
Jeder Fakultät sind mehrere
Institute und Lehrstühle zugeordnet.
…
21
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Beispiel Universität: Modell
•
•
VorlNr
Vorlesung
VorlTitel
Prüfer
Prüfung
Datum
Note
MatrNr
Student
Entity--Relationship--Modell
•
Vorlesungen werden durch eine
Nummer, den Titel sowie den Prüfer
beschrieben.
Zu jedem Studierenden soll die
Matrikelnummer, das Semester, der
Name, der Wohnort sowie die
zugehörige Postleitzahl gespeichert
werden.
Zu jeder abgelegten Prüfung wird
das Datum und die Note
festgehalten.
N
Name
Semester
PLZ
Wohnort
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
22
Einführung
SQL-Umsetzung
SQL
Umsetzung in DBS
VorlNr
Vorlesung
CREATE TABLE Vorlesung (
VorlNr NOT NULL
…)
IN VorlSpace;
CREATE INDEX VorlI1 … ;
CREATE TABLE Student (
MatrNr NOT NULL
… );
CREATE INDEX StudI1 … ;
CREATE INDEX StudI2 … ;
VorlTitel
Prüfer
Prüfung
Datum
Note
MatrNr
Student
Name
Semester
Uni-DBS
PLZ
Wohnort
23
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Übersicht
3. Grundlagen
g des Relationenmodells
•
•
•
Abbildungskonzepte
Integritätserhaltung
Relationenalgebra (Operationen,
(Operationen Algebraische Optimierung)
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
24
Einführung
Relationales Datenmodell
Datenmodell
• Legt die Modellierungskonstrukte fest zur
ƒ Beschreibung der Datenobjekte
(Datentypen Beziehungen,
(Datentypen,
Beziehungen Einschränkungen)
ƒ Festlegung der anwendbaren Operatoren und deren Wirkungen.
relationales Datenmodell
• Datenstruktur: Relation/Tabelle
/
ƒ einzige Datenstruktur (neben atomaren Werten)
ƒ alle Informationen ausschließlich durch Werte dargestellt
25
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Beispiel Universität: Tabellen
VorlNr
Vorlesung
VorlTitel
Prüfer
Prüfung
Vorlesung
VorlNr VorlTitel
Prüfer
02520 Grundlagen der
Mitschang/Schwarz
Datenbanken und
Informationssysteme
02628 Data-Warehouse, Data- Mitschang/Schwarz
Mining- und OLAPTechnologien
h l
Datum
P üf
Prüfung
Note
VorlNr
MatrNr
Datum
Note
02520
100200
01.04.2007
1,7
02628
100300
01.03.2007
1,3
MatrNr
Student
Name
S
Semester
t
PLZ
Wohnort
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Student
MatrNr Name
100200 Albrecht
100300 Bettina
100400 Carl
100500 Daniela
Semester
6
7
7
6
PLZ
70100
80100
70100
80100
Wohnort
Stuttgart
München
Stuttgart
München
26
Einführung
Beispiel Universität: Operatoren
Welche Vorlesungen hat
Bettina prüfen lassen und was war
jeweils das Ergebnis?
π VorlTitel,Note (σ
( NAME = „Bettina“ (Vorlesung
V l
π , σ,
VorlNr
P üf
Prüfung
St
Student))
d t))
MatrNr
: Operatoren der relationalen Algebra
Prüfung
VorlNr
MatrNr
Datum
Note
02520
100200
01.04.2007
1,7
02628
100300
01.03.2007
1,3
Vorlesung
VorlNr VorlTitel
Prüfer
02520 Grundlagen der
Mitschang/Schwarz
Datenbanken und
Informationssysteme
02628 Data-Warehouse, Data- Mitschang/Schwarz
Mining- und OLAP
Mining
OLAPTechnologien
Student
MatrNr Name
100200 Albrecht
100300 Bettina
100400 Carl
100500 Daniela
Semester
6
7
7
6
PLZ
70100
80100
70100
80100
Wohnort
Stuttgart
München
Stuttgart
München
27
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Datenmodelle
• Seit der Einführung
g kommerzieller Datenbanksysteme
y
in den späten
p
1960ern wurden verschiedenste Datenmodelle vorgeschlagen.
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
relationales Modell (RDBMS)
objekt-relationales Modell (ORDBMS)
objekt-orientiertes
bj kt i ti t M
Modell
d ll (OODBMS)
Netzwerkmodell (CODASYL)
hierarchisches Modell
flat files
seit ca. 2000:
semistrukturierte Daten
und XML
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
1990
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
1995
2000
28
Einführung
Übersicht
4. Die Standardsprache
p
SQL
Q
•
•
•
Datendefinition
Abbildung und Warten von Beziehungen
Mengenorientierte Anfragen und Datenmanipulation
5. Integritäts- und Zugriffskontrolle
•
•
•
Semantische Integritätskontrolle
Aktives Verhalten
Datenschutz via Zugriffskontrolle
29
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
SQL: Abfrage und Manipulation
Datenmanipulation
Füge Studierende im 6. Semester in die Tabelle Student ein.
INSERT INTO Student
VALUES ((100500,, Daniela,, 6,, 80100,, München);
);
Datendefinition
Anfragen
CREATE TABLE Vorlesung
g
(VorlNr
INT
Welche Studierende wohnen in München?
PRIMARY KEY,
VorlTitel CHAR (50) NOT NULL,
Prüfer
CHAR(30) NOT NULL)
SELECT
*
FROM
Student
WHERE
Wohnort = ‘München’;
U i DBS
Uni-DBS
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
30
Einführung
SQL: Integritätsbedingungen
• Integritätsbedingungen
g
g g legen
g
fest:
ƒ zulässige Wertebereiche
ƒ Beziehungen
e e u ge de
der Daten,
ate , d
die
e ga
garantiert
a te t
werden müssen
ƒ …
Trage eine Prüfung mit Ergebnis ein.
INSERT INTO Prüfung
VALUES (02520, 100500, 01.03.2008, 5.3);
• Aufgaben des DBMS:
ƒ automatische Überwachung der
Bedingungen
ƒ Zurücksetzen der
Änderungsoperationen
ƒ aktive Folgeänderungen (TRIGGER)
Uni-DBS
Integritätsbedingungen
CREATE ASSERTION Max-Note
CHECK(
(SELECT Max(Note)
FROM Prüfung) ≤ 5.0);
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
31
Einführung
Übersicht
6. Logischer
g
DB-Entwurf
•
•
•
•
Formale Grundlagen
Normalformenlehre
Erste Normalform (1NF)
(1NF), 2NF
2NF, 3NF
3NF, 4NF
Synthese von Relationen
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
32
Einführung
Änderungsanomalien
Student
MatrNr Name
100200 Albrecht
100300 Bettina
100400 Carl
100500 Daniela
Semester
6
7
7
6
PLZ
70100
80100
70100
80100
Wohnort
Stuttgart
München
Stuttgart
München
Student
MatrNr Name
100200 Albrecht
100300 Bettina
100400 Carl
100500 Daniela
Semester
6
7
7
6
PLZ
70100
80100
70100
76100
Datenmanipulation
UPDATE Student
SET
Wohnort="Karlsruhe"
WHERE MatrNr=100500;
Student
MatrNr Name
100200 Albrecht
100300 Bettina
100400 Carl
100500 Daniela
Semester
6
7
7
6
PLZ
70100
80100
70100
80100
Postleitzahlen
PLZ
Wohnort
70100 Stuttgart
80100 München
76100 Karlsruhe
Wohnort
Stuttgart
München
Stuttgart
Karlsruhe
33
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Normalisierung
•
•
•
Normalisierung von Relationen
hilft einen gegebenen Entwurf
zu verbessern
lokales Verfahren auf
existierenden Datenstrukturen
schrittweise Eliminierung von
Änderungsanomalien
g
1NF 2NF 3NF BCNF
4NF
PNR → ANR
ANR → ANAME
funktionale Abhängigkeiten
R (PNR, ANR, ANAME)
anfängliches Relationenschema
Normalisierungsg
prozess
R1 (PNR, ANR)
R2 (ANR, ANAME)
Relationenschema in 3NF
unnormalisierte und normalisierte Relationen
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
34
Einführung
Übersicht
7. Architektur
•
•
•
•
Anforderungen an DBS
Schichtenmodelle für DBS
Drei Schema Architektur
Drei-Schema-Architektur
Dynamischer Ablauf von DB-Operationen
35
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Anforderungen an ein DBS
Kontrolle
e über die
operationalen Daten
Leistung und
Skalierbarkeit
Hoher Grad an
Datenunabhängigkeit
DBS
S
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
36
Einführung
5-Schichten-Modell
5
Schichten Modell
Relationen,
Sichten
ab
...
rec. 1
Externe Sätze
1
rec. 2
aa
2
2
xyz
a
bb
3
xyz
xyz
a
3
xyz
b
rec. 3
ab
3
bb
2
b
Transaktionsprogramme
Interne Sätze
aa
Logische Datenstrukturen
Logische Zugriffspfade
record 1
123
record 2
1
ab
456
record 3
2
bb
789
A
record1
DB-Puffer
record3
record2
S i h
t kt
Speicherungsstrukturen
B
C
A
Segment
Seitenzuordnungsstrukturen
Speicherzuordnungsstrukturen
3
A
1
Datei
B
A'
2
B
3
C
C
4
C'
5
1
Externspeichermedien
3
Externer Speicher
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
4
c
g
f
5
e
d
2
37
Einführung
Übersicht
8. Anwendungsprogrammierschnittstelle
g p g
•
•
•
•
Kopplung von DB- und Programmiersprache
Spracheneinbettung und Übersetzung
Statisches und Dynamisches SQL
Call-Level-Interfaces: CLI, JDBC, …
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
38
Einführung
Datenbankzugriffe
Anweisungen zur
Datendefinition- und
Manipulation
Standardverarbeitung
z.B. am Semesterende
Vordefinierte
Auswertungen
Individuelle Anfragen
in einer Anfragesprache
Studiensekretariat
DB-Administration
Prüfungsamt
Uni-DBS
Unterschiedliche Kopplung
von DB und ProgrammierProgrammier
sprache notwendig.
39
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Kopplungsansätze
Anwendungsprogramm
con = DriverManager.getConnection(url, userid, passwd);
…
Statement stmt = con.createStatement();
con createStatement();
String stmtText = "SELECT projectno, manager FROM projects";
ResultSet rs = stmt.executeQuery(stmtText);
…
stmt = con.createStatement();
stmtText = "UPDATE projects SET budget = 10 000 000
WHERE projectno = 'PJ47'";
int rowsUpdated = stmt.executeUpdate(stmtText);
stmt executeUpdate(stmtText);
…
while (rs.next()) {
String pno = rs.getString(1);
…
System.out.print(" Project = " + pno);
…
rs close();
rs.close();
main () {
exec sql begin declare section;
char X[3] ;
int GSum;
exec sql end declare section;
exec sql connect to dbname;
exec sql insert into Pers (Pnr,
(Pnr Name) values (4711,
(4711 ‘Ernie‘);
Ernie );
exec sql insert into Pers (Pnr, Name) values (4712, ‘Bert‘);
printf (“Anr ? ”) ; scanf ( “ %s” , X);
exec sql select sum (Gehalt) into :GSum from Pers where Anr = :X;
/* Es wird nur ein Ergebnissatz zurückgeliefert! */
printf (“Gehaltssumme: %d\n” , GSum)
exec sql commit work;
exec sql disconnect;
}
SQL-Einbettung:
statisch
i h oder
d dynamisch
d
i h
integrierte Sprachen/
Spracherweiterungen
S
h
i
CALL-Schnittstelle:
z.B.
B JDBC
DBS
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
40
Einführung
Übersicht
9. Transaktionsverwaltung
g
•
•
•
Transaktionskonzept
Synchronisation
Wiederherstellung im Fehlerfall
41
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Klassische Transaktionsverarbeitung
UPDATE accounts
SET balance = balance - 1000€
WHERE K# = 03874;
UPDATE accounts
SET balance = balance + 1000€
WHERE K# = 01099
01099;
TransakttionsProgram
mme
Transaktionssystem
EOT
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Karte ?
PIN ?
Konto ?
Buchung
Ausgabe
Datenbanksystem
#
Kontostand
01099 038
874
BOT
900
-100
1500
2500
OK
42
Einführung
Transaktionskonzept
Transaktionskonzept mit Garantie von ACID-Eigenschaften
• Atomizität (atomicity)
• Konsistenz (consistency)
• Isolation (isolated execution)
• Dauerhaftigkeit
D
h fti k it (durability)
(d bili )
Ausfallsicherheit
• Aufzeichnung redundanter Daten im Normalbetrieb
• Replikation von Datenstrukturen
• automatische Reparatur der Datenbestände nach ProgrammProgramm , System
System- und
Gerätefehlern
• Rückgängigmachen unvollständiger Transaktionen, so dass sie wiederholt werden
können
• Wiederherstellen der Ergebnisse vollständiger Transaktionen, so dass sie nicht
wiederholt werden müssen
43
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
Einführung
Ziele
Vermittlung von Kenntnissen, Fähigkeiten und Fertigkeiten
g von Informations- und Datenmodellen, insbesondere
• in der Nutzung
ƒ Entity/Relationship-Modell und Erweiterungen,
ƒ Relationenmodell und SQL,
ƒ Netzwerkmodell und Hierarchiemodell
•
•
•
in der Modellierung von anwendungsbezogenen
Realitätsausschnitten (Miniwelten, Diskursbereiche)
in der Programmierung von DB
DB-Anwendungen
Anwendungen
im Entwerfen, Aufbauen und Warten von Datenbanken
Voraussetzungen für Übernahme
Ü
von Tätigkeiten:
• Entwicklung von datenbankgestützten Anwendungen
g von Datenbanken unter Verwendung
g von
• Nutzung
(interaktiven) Datenbanksprachen
• Systemverantwortung für Datenbanksysteme, insbesondere Unternehmens-,
Datenbank-,, Anwendungs
Datenbank
Anwendungs- und Datensicherungsadministrator
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
44
Einführung
Top 10 Signs you hired the wrong SQL DBA
10. They can’t understand why changing column names may break the
application
9. Think performance tuning = buy better hardware
8. Believe a Stored Procedure which compiles is production ready
7. Forcefully argue that indexing every field in the databases is the best
way to increase performance (right after buying better hardware)
6. They prefix all stored procedures with ‘sp_’ – so as to be consistent with
the Microsoft naming convention
5. Thinks 9 hours to copy one million records across databases is
‘good performance’
4. Thinks a stored procedure is the best way to copy one million
records across databases
3. Is convinced that the error generated by trying to insert a duplicate
primary key value, is a bug in SQL
2. Thinks adding a new column to a table is a four step process:
create a new table, copy all the data over, drop the old table, and rename the
new table
1. Believe that adding a foreign key constraint with the ‘Enforce
Relationship’ checkbox unchecked is the best of both worlds,
it defines relationships without having to deal with ‘those pesky constraint
errors’ when modifying data
© Prof. Dr. B. Mitschang, Dr. H. Schwarz, Universität Stuttgart
45
Herunterladen