Daten – Bank 2. Vorlesung

Werbung
Daten – Bank
2. Vorlesung
Dr. Karsten Tolle – PRG2 – SS 2014
Letzte Vorlesung
• Grundbegriffe
• SQL
– create table
– insert
– select
Dr. Karsten Tolle – PRG2 – SS 2014
2
Heute Übersicht
• Modellierung (ER-Diagramme)
– Entitäten und Entity-Typen
– Beziehungen und Beziehungstypen
– Attribute
• für Entitäten(Typen) und Beziehungen(Typen)
• einfacher oder zusammengesetzter Schlüssel
– Kardinalitäten
– Generalisierung
– Business Rules
• [SQL Datentypen und ‚like‘-Operator]
Dr. Karsten Tolle – PRG2 – SS 2014
3
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 2014
4
Design
Engineering und Kunst
Dr. Karsten Tolle – PRG2 – SS 2014
5
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 2014
6
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 2014
7
ER-Modell
– Strukturebene
trainiert
Trainer
Fußballmannschaft
wird trainiert von
– bei uns (PRG-2, DB1)
Fußballmannschaft
Dr. Karsten Tolle – PRG2 – SS 2014
trainiert
Trainer
8
• 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 2014
9
Achtung!
Im Alltag wird oft gesagt:
• Objekt (Entity) statt Objekttyp (Entity-Typ)
• Beziehung (Relation) statt Beziehungstyp
(Relationship-Typ)
Dr. Karsten Tolle – PRG2 – SS 2014
10
(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 2014
11
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 2014
12
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 2014
Person
Geb.Datum
Geb.Ort
Name des
Vaters
zusammengesetzter Schlüssel
13
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 2014
14
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 2014
15
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 2014
Person
S_Name
Population
Name
Geb_Datum
Person
Stadt
(0,n)
lebt_in
(0,n)
Stadt
S_Name
Population
16
Übung 1
• Aussage:
– Mannschaften werden von mindestens einem
Trainer trainiert.
Dr. Karsten Tolle – PRG2 – SS 2014
17
(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 2014
20
Übung 2 – ER-Diagr. für folgende
Aussage erstellen
• Aussage:
– Bei einem Spiel spielen zwei Mannschaften an
einem bestimmten Tag und Uhrzeit in einem
Stadion gegeneinander.
Dr. Karsten Tolle – PRG2 – SS 2014
21
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 2014
Vorlesung
22
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 2014
besteht
aus
Menge
(1,n)
Name
Lack
Preis
23
Generalisierung
• Hierarchien für Objekttypen (entspricht
Klassenhierarchie in OO)
Person
Mann
Dr. Karsten Tolle – PRG2 – SS 2014
Frau
24
… mit Mehrfachvererbung
Person
Mitarbeiter
Professor
Dr. Karsten Tolle – PRG2 – SS 2014
Student
WiMi
Tutor
25
Übung 3 – WM 2014
• Aussage:
– Eine Mannschaft besteht aus Spielern, die sich
aufteilen in Verteidiger, Mittelfeldspieler, Angreifer
oder Torwart.
Dr. Karsten Tolle – PRG2 – SS 2014
26
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 2014
A
A-D
C
Professor
A-E
E
B
B-E
27
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 2014
28
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 2014
29
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 2014
30
ER Zusammenfassung
• Entitäten und Entity-Typen
• Beziehungen und Beziehungstypen
• Attribute
• für Entitäten(Typen) und Beziehungen(Typen)
• einfacher oder zusammengesetzter Schlüssel
• Kardinalitäten
• Generalisierung
• Business Rules
Dr. Karsten Tolle – PRG2 – SS 2014
31
Herunterladen