Relationale Datenbanken: eine anwendungsorientierte Einführung

Werbung
Relationale DB: Einführung
Kapitel 2
Relationale
RelationaleDatenbanken:
Datenbanken:
eine
eineanwendungsorientierte
anwendungsorientierte
Einführung
Einführung
– Kapitel 2 –
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
1
Vorgehensweise in Kapitel 2
Kapitel 2
Methodische Vorgehensweise in diesem Kapitel:
Grundbegriffe
Grundbegriffe
relationaler
relationaler
Datenbanken
Datenbanken
Microsoft
MicrosoftAccess
Access
for
forBeginners
Beginners
•
•
•
• Praxis
• anwendungsorientiert
• "Schnupperkurs"
Beide Seiten sind wichtig:
© 2002 Prof. Dr. Rainer Manthey
Theorie
Prinzipdiskussion
wissenschaftliches
Fundament
Lernen
Lernenohne
ohneAnwenden
Anwendennützt
nütztnicht
nichtviel
viel!!
Informationssysteme
2
Relationale Datenbanken: Allgemeines
Kapitel 2
• Der DB-Markt wird heute völlig dominiert von DB-Systemen, die das relationale
Datenmodell unterstützen.
• Führende (kommerzielle) Hersteller von relationalen DB-Produkten:
Oracle
Microsoft (Access, SQL Server)
IBM (DB2, Informix)
Sybase
Postgres (Freeware)
MySQL (Freeware)
• Bezeichnung "relational" ist motiviert durch das mathematische Konzept der
Relation.
• Relationale Datenbanken sind im wesentlichen Sammlungen von Relationen.
• Man kann sich Relationen praktisch als Tabellen vorstellen, die aus einzelnen
Datensätzen bestehen, die alle dieselbe (homogene) Feldstruktur aufweisen.
• In der Wissenschaft gibt es ein weites Spektrum an theoretischen Grundlagen
für relationale Datenbanken.
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
3
Relationen: etwas "Nachhilfe"
Kapitel 2
mathematisches
mathematischesRelationskonzept
Relationskonzept
• Jede Teilmenge R eines Produkts D1 × . . . × Dn von n (n > 1) nicht notwendig
verschiedenen Mengen D1, . . . , Dn heisst (n-stellige) Relation über D1, . . . , Dn.
• Das (kartesische) Produkt (oder: Kreuzprodukt) von D1, . . . , Dn ist die Menge
aller (n-)Tupel, die aus Elementen von D1, . . . , Dn gebildet werden können:
DD1 ×
. . . × Dn ==def {{((aa1, ,. .. .. ., ,aan )) | | aai ∈∈DDi }}
1 × ...× D
n
def
1
n
i
i
• Mengen sind duplikatfreie, ungeordnete Sammlungen von Objekten.
"Unter
"Untereiner
einerMenge
Mengeverstehen
verstehenwir
wireine
eineZusammenfassung
Zusammenfassung von
von
bestimmten
bestimmtenwohlunterschiedenen
wohlunterschiedenenObjekten
Objektenunserer
unsererAnschauung
Anschauung
oder
oderunseres
unseresDenkens
Denkenszu
zueinem
einemGanzen."
Ganzen."
Georg Cantor (1845-1918), Begründer der Mengenlehre
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
4
Beispiel für Produktbildung bei Mengen
Kapitel 2
B
5
1
7
A
A
×
B
© 2002 Prof. Dr. Rainer Manthey
(
, 1)
(
, 5)
(
, 7)
(
(
, 1)
, 1)
(
(
, 5)
, 5)
(
(
, 7)
, 7)
(
, 1)
(
, 5)
(
, 7)
Informationssysteme
5
Relation als Teilmenge eines Produkts und Tabellendarstellung
Kapitel 2
2-stellige Relation
über A, B
A
×
B
(
, 1)
(
, 5)
(
, 7)
(
(
, 1)
, 1)
(
(
, 5)
, 5)
(
(
, 7)
, 7)
(
, 1)
(
, 5)
(
, 7)
A
Darstellung dieser Relation
im Tabellenformat:
B
5
5
5
5
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
6
Relationale Datenbanken: Geschichte
Kapitel 2
• Die Idee, Daten in Tabellen zu halten,
ist uralt.
•
Die Idee, diese Form der Darstellung
mit Mitteln der Relationentheorie zu
untersuchen, stammt von diesem Mann:
Edgar F. Codd
• Er veröffentlichte 1970 eine bahnbrechende Arbeit mit dem Titel
Edgar F. Codd
Für
Fürdiese
diesePionierleistung
Pionierleistungerhielt
erhieltCodd
Codd
1982
1982den
denTuring
TuringAward
Awardder
derACM,
ACM,
den
den"Nobelpreis
"Nobelpreisder
derInformatik".
Informatik".
© 2002 Prof. Dr. Rainer Manthey
"A Relational Model of Data for Large
Shared Data Banks",
in der er alle Grundlagen der heutigen
relationalen DB in bestechender Klarheit
niederlegte.
Informationssysteme
7
Microsoft Access: Allgemeine Informationen
Kapitel 2
• Access ist ein DBMS für relationale Datenbanken, das seit 1992 von Microsoft
(weiter-)entwickelt und vertrieben wird.
• "Access-Homepage" bei Microsoft:
http://www.microsoft.com/office/access/default.asp
• aktuelle Version in Office-Paketen von MS: Access 2000
• Access ist sehr gut geeignet für kleine bis mittlere DB-Anwendungen ohne Mehrbenutzerbetrieb.
• nützliche Internet-Tutorien zu Access
(Links auf der entsprechenden Seite zur Vorlesung):
•
•
Michael Brydons Tutorium an der Simon Fraser University, Canada
http://mis.bus.sfu.ca/tutorials/MSAccess/tutorials.html
• Maggie Straplands Access-Seiten an der University of Bristol, UK
http://www.bris.ac.uk/is/services/software/packages/access/
• Jakob Lindenmeyers Access-Tutorium an der ETH Zürich, Schweiz
http://www.inf.ethz.ch/personal/lindenme/publications/access/AccessTutorial.html
Im Buchhandel gibt es sehr viele Bücher über den Umgang mit Access.
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
8
Access-Selbststudium mit der Online-Hilfe
Kapitel 2
Zu allen Konzepten von Access finden Sie ausführliche, gut verständliche Erklärungen
durch Aufrufen der Online-Hilfe ("Office Assistent"), z. B. zum Thema "Tabellen":
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
9
Warum Access ?
Kapitel 2
Warum
Warumwird
wirdAccess
Accessin
indieser
dieserVorlesung
Vorlesungverwendet
verwendet??
• Access ist proprietär, kommerziell . . . und dazu noch von Bill Gates!
aber . . .
• fast jeder private PC-Nutzer hat heutzutage Access auf seinem Computer.
• Access bietet einen idealen Einstieg in die Thematik ohne grossen Aufwand.
• praktisches Arbeiten mit Datenbanken ist essentiell für jeden Hörer !
• es gibt reichlich frei verfügbares Material zum Selberlernen.
• heutzutage gehört das Kennen von Office-Tools fast schon zur Allgemeinbildung.
•
Access ist in seiner Leistungsfähigkeit beschränkt und hat Schwächen,
aber . . .
• Access bietet auch Funktionalitäten, die (fast) kein anderes DBMS bietet.
• Access reicht für die Bedürfnisse eines individuellen Studierenden völlig.
• Access ist leicht zu installieren und benötigt keinen DB-Administrator.
•
Sollte jemand von Ihnen irgendwelche Vorurteile gegenüber Access haben:
Es ist keineswegs "unter der Würde" eines Uni-Informatikers,
ein solches "einfaches" System zu kennen und zu beherrschen!
And
, ititcan
Andby
bythe
theway
way,
canbe
begreat
greatfun,
fun,folks
folks!!
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
10
Tabelle vs. Relation
Kapitel 2
• terminologischer "Konflikt" bei der Bezeichnung für die wichtigste Form von
Datenbankobjekten:
Tabelle
Tabelleoder
oderRelation
Relation??
• in der Praxis (z.B. bei Access): Betonung auf optischer Darstellung in Tabellenform
• in der Wissenschaft: Betonung der mathematischen Grundlage als Relation
• prinzipielle Unterschiede zwischen beiden Bezeichnungen:
Tabelle
Tabelle
−− 2-2-dim.
dim. Array
Arrayaus
ausZeilen/Spalten
Zeilen/Spalten
−− geordnet
geordnet
−− doppelte
doppelteZeilen
Zeilenmöglich
möglich
Relation
Relation
−−Menge
Mengevon
vonTupeln
Tupeln
geordnet
−−un
ungeordnet
−−duplikat
frei
duplikatfrei
• aber:
• Relationen lassen sich in Tabellenform visualisieren, wenn man eine
bestimmte Anordnung wählt.
• Tabellen lassen sich als Relationen formalisieren, wenn man keine Duplikate
zulässt und von der Anordnung absieht.
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
11
Bundesliga-DB
Kapitel 2
1. Beispiel-Datenbank:
Bundesliga-Datenbank
Bundesliga-Datenbank
• . . . enthält Ergebnisse aller Spiele der 1. FußballBundesliga in der aktuellen Saison 2002/03.
• . . . wird während des Semesters stets aktualisiert.
• . . . stets als Access-Datenbank in der Datei
bundesliga02.mdb
über die Vorlesungs-Webseiten zur Verfügung.
• . . . darf natürlich heruntergeladen und verändert
werden.
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
12
Bundesliga-DB: Ergebnisdaten
Kapitel 2
Ergebnisübersicht des 8. Spieltags am 5.10.2002:
Hertha
HerthaBSC
BSCBerlin
Berlin --1.1.FC
FCNürnberg
Nürnberg
VfL
VfLWolfsburg
Wolfsburg--Bayer
BayerLeverkusen
Leverkusen
Bayern
BayernMünchen
München --VfL
VfLBochum
Bochum
Werder
Bremen
FC
Hansa
Werder Bremen - FC HansaRostock
Rostock
Hannover
Hannover96
96--Borussia
BorussiaDortmund
Dortmund
Mönchengladbach
Mönchengladbach--Arminia
ArminiaBielefeld
Bielefeld
FC
FCSchalke
Schalke04
04--Hamburger
HamburgerSV
SV
VfB
VfBStuttgart
Stuttgart--TSV
TSV1860
1860München
München
1.1.FC
Kaiserslautern
Energie
FC Kaiserslautern - EnergieCottbus
Cottbus
Heimspiel
2:1
2:1
2:0
2:0
4:1
4:1
0:0
0:0
0:3
0:3
3:0
3:0
3:0
3:0
4:1
4:1
4:0
4:0
Ergebnisse
Auswärtsspiel
(pro Spieltag 9 Spiele Þ bis inklusive 8. Spieltag 72 Spiele)
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
13
DB-Tabellenformat für Fußballergebnisse
Kapitel 2
Hertha
HerthaBSC
BSCBerlin
Berlin --1.1.FC
FCNürnberg
Nürnberg
. .. .. .
2:1
2:1
Feldnamen
Tabellenname
Spiele2002
Heim
Hertha
Hertha
. .. .. .
Felddatentypen
© 2002 Prof. Dr. Rainer Manthey
Text
ToreH
22
Zahl
Auswärts ToreA Datum
Nürnberg
Nürnberg
Text
Informationssysteme
11
5.10.02
5.10.02
Zahl
Datum
Datensatz
14
Access-Tabelle für Spiele: Datenblattansicht
Kapitel 2
Access-Tabelle
"Spiele2002":
Datenblattansicht
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
15
Access-Tabelle für Spiele: Entwurfsansicht
Kapitel 2
Access-Tabelle
"Spiele2002":
Entwurfsansicht
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
16
Access-Pragmatik
Access-Pragmatik:: Menüleisten für Tabellenentwurf und -manipulation
-manipulation
Kapitel 2
• in der Entwurfssicht:
1
2
Wechseln in die alte Datenblattsicht (vor Entwurfsänderung)
Abspeichern des aktuellen Entwurfs (vor Öffnen des Datenblatts)
• in der Datenblattsicht:
1
12/13
17
© 2002 Prof. Dr. Rainer Manthey
Wechseln in die Entwurfssicht
Ordnen der Daten nach einem oder mehreren Feldern
Suchen mittels "pattern matching" im Datenblatt
Informationssysteme
17
DB-Begriffe: Schema und Zustand einer Datenbank
Kapitel 2
• Den beiden unterschiedlichen "Ansichten" einer Tabelle in Access entsprechen
zwei grundlegende Begriffe der relationalen Datenbanken:
Entwurfsansicht
Schema
Schemaund
undZustand
Zustand
Datenblattansicht
• Schema einer Relation: Festlegung von Name und Struktur der Relation
• Zustand einer Relation: Gesamtheit aller aktuell in der Relation enthaltenen Tupel
• Die Struktur jedes Zustands einer Relation wird festgelegt durch deren Schema.
(Zustände werden auch Instanzen des Schemas genannt)
• Im allgemeinen bleibt bei Zustandsübergängen (DB-Änderungen) das Schema fix.
• In seltenen Fällen treten auch Schemaänderungen auf, denen sofortige Zustandsanpassungen folgen: Schemaevolution
• Plural von Schema: Schemata (nicht etwa "Schemen") !
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
18
Schemata und Zustände
Kapitel 2
Schema1
Schema2
Instanzen
des Schemas
Zustände
aktueller
Zustand
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
19
Bundesliga-DB: Bundeliga-Tabelle
Bundeliga-Tabelle
Kapitel 2
Bundesliga-Tabelle nach dem 8. Spieltag:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Verein
Spiele
Bayern
8
Dortmund
8
Werder
8
Schalke
8
Rostock
8
Wolfsburg
8
Hertha
8
Gladbach
8
Bochum
8
1860
8
Stuttgart
8
Bielefeld
8
Nürnberg
8
HSV
8
Leverkusen
8
Hannover
8
1.FCK
8
Cottbus
8
S
6
4
5
4
4
4
3
3
3
3
2
3
3
3
2
2
1
1
© 2002 Prof. Dr. Rainer Manthey
U
1
4
1
3
1
1
3
2
2
2
4
1
0
0
2
1
3
1
N Punkte Tordifferenz Tore Gegentore
1
19
14
22
8
0
16
7
12
5
2
16
3
14
11
1
15
6
12
6
3
13
5
11
6
3
13
1
8
7
2
12
2
9
7
3
11
4
10
6
3
11
2
16
14
3
11
-1
11
12
2
10
3
14
11
4
10
-6
9
15
5
9
-4
10
14
5
9
-6
9
15
4
8
-4
12
16
5
7
-7
11
18
4
6
-4
7
11
6
4
-15
5
20
Informationssysteme
Punkteberechnung:
• pro Sieg:
3 Punkte
• pro Unentschieden:
1 Punkt
Platzierungskriterien:
• Punktzahl
• Tordifferenz
• erzielte Tore
S: Siege
U: Unentschieden
N: Niederlagen
20
DB-Tabellenformat für die Bundesliga-Tabelle
Kapitel 2
Auch die (Bundesliga-)Tabelle liesse sich mit einer (Datenbank-)Tabelle modellieren:
die doppelte Verwendung des Begriffs geschieht bewusst,
der Unterschied zwischen beiden Bedeutungen ist wesentlich!
Tabelle
Verein
Bayern
Bayern
. .. .. .
Text
Spiele S U N Punkte Tordifferenz
88
66 11 11
19
19
14
14
Tore Gegentore
22
22
88
Zahl Zahl . . .
Aber es ist keine so gute Idee, dies zu tun . . . (mehr dazu später) !
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
21
Terminologievergleich:
Terminologievergleich: relationale Grundkonzepte
Kapitel 2
Leider werden für die relationalen Grundkonzepte unterschiedliche Bezeichnungen
verwendet, die als Synonyme zu betrachten sind:
Theorie
Praxis
Access
Relation
Relation
Tabelle
Tabelle
Datenblatt
Datenblatt
Tupel
Tupel
Zeile
Zeile
Datensatz
Datensatz
Attribut
Attribut
Spalte
Spalte
Feldbezeichner
Feldbezeichner
Wertebereich
Wertebereich
Datentyp
Datentyp
Felddatentyp
Felddatentyp
Es wird dringend empfohlen, Begriffe immer konsistent aus einem der drei
Begriffssysteme zu wählen - welches ist egal, Hauptsache konsequent!
© 2002 Prof. Dr. Rainer Manthey
Informationssysteme
22
Herunterladen