Daten – Bank 2. Vorlesung

Werbung
Daten – Bank
2. Vorlesung
Dr. Karsten Tolle – PRG2 – SS 2012
Erstellung einer Datenbank:
Erster Schritt …
• Was sind die Anforderungen?
• Was sind die Ziele?
• Ist bekannt was gespeichert werden soll?
Design des Datenmodells
Dr. Karsten Tolle – PRG2 – SS 2012
2
Design
Engineering und Kunst
Dr. Karsten Tolle – PRG2 – SS 2012
3
Entity-Relationship-Modell
(ER-Modell)
•
Siehe auch: C. Maria Keet: A formal comparison of
conceptual datamodeling languages
(http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol337/paper3.pdf)
Picture by: Frank Roeing
Dr. Karsten Tolle – PRG2 – SS 2012
4
ER-Modell
Ziel: Abbildung der Wirklichkeit auf Strukturebene!
Beispiel:
– Instanzebene
trainiert
werden trainiert von
– Strukturebene
trainiert
Trainer
Fußballmanschaft
werden trainiert von
Dr. Karsten Tolle – PRG2 – SS 2012
5
ER-Modell
– Strukturebene
trainiert
Trainer
Fußballmannschaft
wird trainiert von
– in Chen-Notation
Fußballmannschaft
Dr. Karsten Tolle – PRG2 – SS 2012
trainiert
Trainer
6
• Otto Müller lebt in Frankfurt am
Main, in der Robert-Mayer-Str. 11.
Person
lebt_in
Haus
lebt_in
Dr. Karsten Tolle – PRG2 – SS 2012
7
Achtung!
Im Alltag wird oft gesagt:
• Objekt (Entity) statt Objekttyp (Entity-Typ)
• Beziehung (Relation) statt Beziehungstyp
(Relationship-Typ)
Dr. Karsten Tolle – PRG2 – SS 2012
8
(Objekt) Attribute
• Ein Objekttyp ist durch einen bestimmten Satz
von Merkmalen (Attributen) gekennzeichnet.
• Jedes Merkmal kann Werte (values), das sind
in der Umwelt beobachtbare oder messbare
Größen, aus einem bestimmten Wertebereich
(value set) annehmen.
Name
• Beispiel:
Passagier
Freigepäck
Status
Otto Müller
20kg
Economy Class
Dr. Karsten Tolle – PRG2 – SS 2012
9
Prinzipien des digitalen Speicherns
Wenn möglich sollten vorhandene
Identifizierungsmerkmale als Schlüssel
wiederverwendet werden.
ISBN
TITLE
3-12-517154-7
…
ISBN Nummer
Man muss aber auch mögliche Änderungen sinnvoll handhaben:
ISBN 10 ISBN 13
Dr. Karsten Tolle – PRG2 – SS 2012
10
Schlüssel
Ein Schlüssel besteht aus einer Menge von
Attributen, deren Werte eine Instanz (Entity)
eines Objekttyps eindeutig bestimmt.
Name
Person
Personalausweisnummer
Name
einfacher Schlüssel
Dr. Karsten Tolle – PRG2 – SS 2012
Person
Geb.Datum
Geb.Ort
Name des
Vaters
zusammengesetzter Schlüssel
11
Mathematische Betrachtung
Ein Beziehungstyp zwischen zwei Objekttypen
kann als eine mathematische Relation
aufgefasst werden.
Name
Geb_Datum
Person
lebt_in
Stadt
S_Name
Population
Instanz:
Person = { p1, p2, p3 }
Stadt = { c1, c2, c3 }
lebt_in = { <p1,c1>, <p1,c3>, <p3,c3> }
Dr. Karsten Tolle – PRG2 – SS 2012
12
Min/Max Kardinalitäten
(1,1)
Person
•
•
•
•
(0,n)
lebt_in
min_card(Person, Lebt_in) = 1
max_card(Person, Lebt_in) = 1
min_card(Stadt, Lebt_in) = 0
max_card(Stadt, Lebt_in) = n
Stadt
lebt_in = { <p1,c1>, <p2,c3>, <p3,c3> }
als Mengendiagramm
• p1
• c1
• p2
• c2
• p3
• c3
Es gilt immer: min_card <= max_card!
• c4
Person,
verbindlich
Stadt,
optional
Bem.: Es gibt andere Notationen, z.B. wird manchmal nur max_card angegeben.
Dr. Karsten Tolle – PRG2 – SS 2012
13
Kardinalitäten
Instanz:
Person
Stadt
lebt_in
Instanz:
Person
Stadt
lebt_in
= { p1, p2, p3 }
= { c1, c2, c3 }
= { <p1,c1>, <p2,c2>, <p3,c3> }
• p1
• c1
• p2
• c2
• p3
• c3
= { p1, p2, p3, p4}
= { c1, c2, c3, c4, c5 }
= { <p1,c1>, <p2,c1>, <p3,c3>, <p1, c4> }
• p1
• c1
• p2
• c2
• p3
• c3
• p4
• c4
• c5
Person
Name
Geb_Datum
Person
Stadt
(1,1)
lebt_in
(1,1)
Stadt
Dr. Karsten Tolle – PRG2 – SS 2012
Person
S_Name
Population
Name
Geb_Datum
Person
Stadt
(0,n)
lebt_in
(0,n)
Stadt
S_Name
Population
14
Übung 1 – EM 2012
• Aussage:
– Mannschaften werden von mindestens einem
Trainer trainiert.
Dr. Karsten Tolle – PRG2 – SS 2012
15
Mannschaften werden von mindestens
einem Trainer trainiert.
Fußballmannschaft
Dr. Karsten Tolle – PRG2 – SS 2012
trainiert
Trainer
16
(Beziehungs) Attribute
Instanz:
Passagier = { p1, p2, p3 }
Flug
= { c1, c2, c3 }
bucht
= { <p1,c1, „D2“>, <p2,c1, „D3“>}
D2
D1
• p1
D2
• c1
• p2
D3
• c2
• p3
Gebuchter_Passagier
PASSAGIER
• c4
Gebuchter_Flug
bucht
• c3
FLUG
Passagier
Flug
SITZNR.
Dr. Karsten Tolle – PRG2 – SS 2012
18
Übung 2 – EM 2012
• Aussage:
– Bei einem Spiel spielen zwei Mannschaften in
einem Stadion an einem bestimmten Tag
gegeneinander.
Dr. Karsten Tolle – PRG2 – SS 2012
19
Die Uni …
Studenten können sich von Professoren über
eine Vorlesung mündlich prüfen lassen.
Alt. 1:
Name
Geb_Datum
Student
prüft
Prof
Name
Gehalt
Vorlesung
Alt. 2:
Name
Geb_Datum
Student
prüft
Prof
Name
Gehalt
(N-näre Beziehung)
Titel
SWS
Dr. Karsten Tolle – PRG2 – SS 2012
Vorlesung
20
Entity-Typ oder Attribut???
•
•
Möbelstück
Farbe
Möbelstück
hat
Farbe
Entities sind Klassen von Objekten der realen Welt und nehmen keine Werte an.
Attribute dagegen sind beschreibende Eigenschaften und nehmen Werte an.
Die Entscheidung ist abhängig vom Kontext (Situation/Anwendungsfall).
Farbe
Nr.
(1,n)
Name
Intensität
Dr. Karsten Tolle – PRG2 – SS 2012
besteht
aus
Menge
(1,n)
Name
Lack
Preis
21
Generalisierung
• Hierarchien für Objekttypen (entspricht
Klassenhierarchie in OO)
Person
Mann
Dr. Karsten Tolle – PRG2 – SS 2012
Frau
22
… mit Mehrfachvererbung
Person
Mitarbeiter
Professor
Dr. Karsten Tolle – PRG2 – SS 2012
Student
WiMi
Tutor
23
Übung 3 – EM 2012
• Aussage:
– Eine Mannschaft besteht aus Spielern, die sich
aufteilen in Verteidiger, Mittelfeldspieler, Angreifer
oder Torwart.
Dr. Karsten Tolle – PRG2 – SS 2012
24
B
Professor
hält
A
B-D
Lehrveranst.
A-C
A-D
B-E
hält
hält
B-C
D
Ausbilder
hält
Seminar
C
besser so …
besser so …
A-C
Personal
lehrt
Lehrveranst.
Ausbilder
A-E
D
E
B-D
Seminar
B-C
Dr. Karsten Tolle – PRG2 – SS 2012
A
A-D
C
Professor
A-E
E
B
B-E
25
ER-Modell
• Vorteile
– Unabhängig von Implementierungsdetails
– Grafische Darstellung (leicht zu lesen)
–…
• Nachteile
– Abbildung des ER-Modells in das relationale Modell ist
nicht eindeutig nicht automatisch
– ER-Modell ist „statisch“
–…
Dr. Karsten Tolle – PRG2 – SS 2012
26
Ausdruckskraft
• Ein Angestellter einer Abteilung soll nicht mehr
verdienen, als der entsprechende
Abteilungsleiter.
Gehalt
arbeitet_
in
Angesteller
Abteilung
leitet
Benötigt zusätzliche Beschreibung,
sogenannte Business Rules.
Ein Angestellter darf nicht mehr Gehalt bekommen als der Abteilungsleiter,
zu dessen Abteilung der Angestellte gehört.
Ein Abteilungsleiter muss zu der Abteilung gehören, die er leitet.
Dr. Karsten Tolle – PRG2 – SS 2012
27
Business Rules (im weitesten Sinne) können angesehen werden als:
1. Die semantische Definition eines für Anwendungen relevanten Konzeptes,
genauer, die semantische Definition
• eines Objektes,
• eines Attributes,
• einer Relation
des ER-Modells.
Für diesen Fall werden natürlichsprachliche Sätze verwendet, da es unmöglich ist
hierfür eine präzise Syntax zu definieren.
2. Integritätsbedingungen für die Daten einer Anwendung (als zusätzliche
Beschreibung der im ER-Modell enthaltenen Bedingungen oder zusätzliche
Bedingungen).
3. Abgeleitete Bedingungen bzw. Folgerungen aus anderen Bedingungen
(z.B. Brutto ist Summe aus Netto plus Steuer).
Dr. Karsten Tolle – PRG2 – SS 2012
28
ER Zusammenfassung
• Entitäten und Entity-Typen
• Beziehungen und Beziehungstypen
• Attribute
• für Entitäten(Typen) und Beziehungen(Typen)
• einfach oder zusammengesetzt
• ausgezeichnet als Schlüssel
• Kardinalitäten
• Generalisierung
• Business Rules
Dr. Karsten Tolle – PRG2 – SS 2012
29
Erstellung einer Datenbank:
Zweiter Schritt …
• Welches DBMS wird genutzt?
• Wer soll wie auf die Daten zugreifen?
Umsetzung des Datenmodells im DBMS
• Wir verwenden in PRG2:
– relationales DBMS – insb. MySQL
– Zugriff über die Anfragesprache SQL
Dr. Karsten Tolle – PRG2 – SS 2012
30
Relationales Datenbankmodell
• Tabellen mit Zeilen und Spalten um die Daten
darzustellen.
Attribute
Employee
Tupel
EMPNO
FIRSTNME
LASTNME
PHONENO
SALARY
001
Jon
Lucas
2983
2000
003
Jon
Smith
2980
3588
103
Lucas
Jon
4444
3980
999
Jon
Smith
3987
1500
Schema bzw. Relationenschema:
Employee (EMPNO, FIRSTNME, LASTNME, PHONENO, SALARY)
Dr. Karsten Tolle – PRG2 – SS 2012
31
Namensgebung und
Wahl des Schlüssels?
Raum
Tutorium
Name
Name
Raum
Tag
Zeit
NM103
Sadik
NM117
Montag
08:15
NM117
Alina
NM117
Montag
12:15
NM123
Max
NM117
Dienstag
14:15
SR9
Max
SR9
Donnerstag
12:15
Dr. Karsten Tolle – PRG2 – SS 2012
32
Alter Table
Was geschieht, wenn man nun den Raum „SR9“
am Riedberg eintragen möchte?
Raum
Name
NM103
NM117
NM123
SR9 in Bockenheim
vs
SR9 am Riedberg
SR9
Dr. Karsten Tolle – PRG2 – SS 2012
34
ALTER TABLE raum ADD COLUMN `id` INT NOT
NULL AUTO_INCREMENT, CHANGE COLUMN
`name` `name` VARCHAR(40) NULL
, DROP PRIMARY KEY
, ADD PRIMARY KEY (`id`) ;
Raum
Name
Raum
Name
ID
NM103
1
NM117
2
NM123
3
SR9
4
NM103
NM117
NM123
SR9
Dr. Karsten Tolle – PRG2 – SS 2012
35
Datenmodell
Nach Edgar F. Codd definiert sich ein Datenbankmodell aus drei
Eigenschaften:
• Einer generischen Datenstruktur, die die Struktur einer
Datenbank beschreibt.
• Einer Menge von generischen Operatoren, die man bei
beliebigen Schemata auf die Datenstrukturen anwenden kann,
um Daten einzutragen, zu ändern, abzufragen oder abzuleiten.
• Einer Menge von Integritätsbedingungen, mit denen man die
zulässigen Datenbankinhalte über die Grundstrukturen hinaus
weiter einschränken kann.
Dr. Karsten Tolle – PRG2 – SS 2012
36
DBMS Evolution
Datei basiert
Hierarchische DBMS
Netzwerk DBMS
Relationale DBMS
Objektorientierte DBMS
Objektrelationale DBMS
XML DBMS
1960
1970
1980
1990
2000
2005
2010
2012 Zeit
weitere: Deduktive DBMS, Verteilte Datenbanken,
Geoinformationssysteme (GIS), NoSQL (Not only SQL)
Dr. Karsten Tolle – PRG2 – SS 2012
37
Wichtige DBMS
•
•
•
•
•
•
•
•
Oracle
IBM DB2
Microsoft SQL Server
Market share
…
Company Revenue 2007
2007
MySQL
Oracle
8,343 Mrd. Dollar 37,6%
PostgreSQL
IBM
4,879 Mrd. Dollar 22,0%
Caché
Microsoft
4,670 Mrd. Dollar 21,0%
…
aus Computerwoche Nr. 3 vom 16. Januar 2009
Zahlen beziehen sich nur auf DBMS-Geschäft
Dr. Karsten Tolle – PRG2 – SS 2012
38
38
Geschätzte Kosten für Ausfallzeiten
(Downtimes) Stand: 2002!!!!
Geschäftsfeld
Geschätzte Kosten pro Stunde
Aktienhandel
$6,45 Millionen
Kreditkarten-Gesellschaften
$2,6 Millionen
Home Shopping Channel
$113.750
Katalog Verkaufs Center
$90.000
Fluglinien Reservierung
$89.500
Versand Service
$28.250
Geldautomat Service
$14.500
Nach: Craig S. Mullins
Database Administration – The Complete Guide to Practices and Procedures
2002 – Addison-Wesley – ISBN 0-201-74129-6
Kosten für Ausfallzeiten (Downtimes)
Ausfallzeiten pro Jahr
Verfügbarkeit
Minuten
Stunden
Kosten pro Jahr*
99,999%
5
0,08
8.000 $
99,99%
53
0,88
88.000 $
99,9%
526
8,77
887.000 $
99,5%
2628
43,8
4.380.000 $
99%
5256
87,6
8.760.000 $
* Bei Kosten für eine Stunde Ausfallzeit von 100.000 $
Nach: Craig S. Mullins
Database Administration – The Complete Guide to Practices and Procedures
2002 – Addison-Wesley – ISBN 0-201-74129-6
Stand: 2002!!!!
Herunterladen