Kein Folientitel

Werbung
Bauinformatik II
Softwareanwendungen 1
Relationale Datenbanken
für Bauingenieurprobleme
5. Semester
4. Vorlesung
Assoziations- Relationen, Teil I
Prof. Dr.-Ing.
R. J. Scherer
TU Dresden - Institut für Bauinformatik
Nürnberger Str. 31a
2. OG, Raum 204
Relationen 1
definieren die Dinge der Welt
Die Relation formt eine Einheit, die uns ermöglicht,
Dinge erkennen zu lassen,
z.B. ist es ein Kommunikationsmittel oder eine Kommunikationsform
Baumaschinen
Arbeiter
Sprache
Schrift
Grafik
Mimik
Gestik
• Name
• Typ
• Leistung
• Alter
• Name
• Beruf
•
Kommunikationsformen
• Name
• Form
• Leistung
Baumaterialien
• Name
•
•
Audio
Video
Fax
Telefon
E-mail
Brief
Techn.Zeichn.
Kommunikationsmittel
• Name
• Typ
• Leistung
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 2
Relationen 2
Jetzt gibt es noch eine zweite Stufe von Relationen,
welche die Relationen zwischen den Entitäten,
die Beziehungen zwischen den Dingen der Welt darstellen.
Arbeiter
beeinflussen
Baumaschinen
bedient
einsetzen
Kommunikationsformen
verarbeitet
Baumaterial
Kommunikationsmittel
benötigen
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 3
Relationen 2
Sie prägte den Begriff
Entity-Relationship Model = ER Model
Die Relationen werden
• nicht explizit durch „semantische“ Zeiger,
• sondern über Attribute, die in beiden Entititäten in
identischer Form vorkommen, umgesetzt.
Arbeiter
• Arb-Nr
• Name
•
•
Arb.Nr  Fahrer
Baumaschine
• Masch.-Nr.
• Name
•Arb-Nr(Fahrer)
•
Die Entitäten können so eindeutig verknüpft werden,
die Relation selber ist nicht eindeutig festgelegt.
Obige Relationen könnte sowohl „besitzt“, als auch „bedient“ bedeuten.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 4
Einsatz
Eine Datenbank erlaubt uns
•Dinge zu verwalten
(Datenverwaltung, Personalverwaltung, Buchführung)
als auch
• Dinge und Zusammenhänge zu erkennen
(Data-Mining, Information-Mining)
und vor allem
• Vorhersagen zu machen und voraus zu schauen ( = Planen!)
(Risikomanagement)
Datenbanken sind nicht nur für Betriebe und Verwaltungen nützlich,
sondern auch
für jeden Einzelnen, um seine persönliche Arbeit zu organisieren
für die er keine fertige Datenbank zur Verfügung gestellt bekommt,
sondern die er selbst ad hoc kreieren muss,
die alt bekannte Tabelle(n!).
Nun aber mit dem Mehrwert der Verknüpfung.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 5
Relationen 2 sind Assoziation
Eine Assoziation legt fest,
wie viele Tupel (= Datensätze = Relationen 1) einer Tabelle 2
zu einem Tupel einer anderen Tabelle 1 gehören.
Baufahrzeuge (Tabelle 2)
FNr Bezeich- Typ
nung
1 Kran
Bau- ANr
-jahr
AK-90 1995 3
2 Bagger
R 124 1997
1
3 Kipper
KF-36 1996
4
4 LKW
BR 7
2
5 LKW
6 Kipper
7
LKW
1999
RX-20 1997
KF-37 2000
L-186 1999
5
1
2
Kardinalität = 2
Arbeitskräfte (Tabelle 1)
ANr
Name
Vorname
1
2
Müller Andy
Lehmann Jens
3
Berger Paul
Altmann Peter
Meyer
Jens
4
5
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 6
Relationen 2: Assoziationstyp
Wir unterscheiden zwischen 4 Assoziationstypen:
Assoziationstyp
1
c
m
mc
Anzahl Tupel der Tabelle 2
einfache Assoziation
konditionelle Assoziation
multiple Assoziation
multipel-konditionelle
Assoziation
genau 1 Tupel (1)
kein oder genau 1 Tupel (0/1)
mindestens 1 Tupel ( 1)
beliebig viele Tupel ( 0)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 7
Grafische Darstellung des Assoziationstyps
Entitätenblockdiagramm
Tabelle 1
(T1)
Assoziationstype Assoziationstyp
T1 zu T2
T2 zu T1
Tabelle 2
(T2)
Beispiel:
Arbeitskräfte
ANr
1
2
3
4
...
Name
Müller
Lehmann
Berger
Altmann
...
1
Vorname
Andreas
Jens
Paul
Peter
...
c
Baufahrzeuge
FNr Bezeichng. Typ Baujahr ANr
4
1 Kran
AK-570 1995
2 Bagger
1997 1
R 124
3 Kipper
KF-365 1996 2
...
...
...
...
...
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 8
Aus den
4 Assoziationstypen
ergeben sich 16 Relationstypen:
R2/R1 1
1
1-1
c
1-c
m
1-m
mc
1-mc
.
c
c-1
c-c
c-m
c-mc
m
m-1
m-c
m-m
m-mc
die klassifiziert werden in:
mc
mc-1  1.hierarchische Beziehungen
mc-c  2.konditionelle Beziehungen
mc-m  3.netzwerkförmige Beziehung.
mc-mc
Da die Matrix symmetrisch ist,
ergeben sich 10 verschiedene Relationstypen.
Zusätzlich gibt es noch rekursive Beziehungen, die in einen der
16 Relationstypen umgewandelt werden können.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 9
Die Relationstypen bestimmen
Abhängigkeit zwischen den Tabellen
 Komplexität der Grundfunktionen (Datenbanksoftware)
 Komplexität einer Transaktion (Zusatzprogramme)
Daher beschränkt man sich im voraus auf einige wenige
einfache Relationstypen.
Dies ist möglich, da sich die
• konditionellen
• netzwerkförmigen
in
• hierarchische Relationstypen umwandeln lassen.
Im ER-Modell sind nur hierarchische Relationen erlaubt:
1–1
1–c
1–m
1- mc
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 10
Hier geht es weiter
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 11
Attribute
Es gibt 3 Arten von Attributen (min:max-Anzahl von Attributen)
• Identifikationsschlüssel (1 : n)
• Fremdschlüssel (0 : n)
• Weitere beschreibende (0 : n)
Teile des Fremdschlüssels können Teile oder den gesamten ID-Schlüssel
bilden
Schreibweise: Entitätsname (Id-Schlüssel, Fremdschlüssel, Attribut i, . .)
T1 (F-T2, F-T3, F-T4, x, y, z)
Beispiel: T1=Baustelle,
T2=Arbeiter, T3=Baumaschinen, T4= Einsatzort
F-T2
1
1
2
2
3
F-T3
1
2
1
2
5
F-T4
2
3
4
1
5
A-1
...
...
...
...
...
...
...
...
...
...
...
Zur Kennzeichnung werden die IDAttribute unterstrichen
T1 (F-T2, F-T3, F-T4, x, y, z)
Attribute im ID, die nicht doppelt
vorkommen dürfen werden 2-fach
unterstrichen, etc.
T1 (F-T2, F-T3, F-T4, x, y, z)
ID sollte auf F-T4 begrenzt werden=> Info-Verlust bei F-T2,F-T3
T1 (F-T4, F-T2, F-T3, x y, z)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 12
ID-Schlüssel
Der ID-Schlüssel soll die Identität eines Tupels eindeutig bestimmen.
1. Eindeutigkeit:
Der Schlüssel muß eindeutig sein. Es darf
• kein Wert doppelt vorkommen, falls der Schlüssel aus 1 Attribut besteht.
• keine Wertekombination doppelt vorkommen, falls der Schlüssel aus n
Attributen besteht.
2. Redundanz :
Es darf keine Redundanz bestehen.
•Der ID-Schlüssel darf nur aus so vielen Attributen bestehen, dass nur einmal
einmalige Kombinationen möglich sind.
Daraus ergibt sich, dass Attribute oder Attribut-Kombinationen, die keine
doppelten Werte aufweisen dürfen, nicht einfach dem ID-Schlüssel zugeschlagen werden können.
Ihre Einmaligkeit ist durch andere Maßnahmen zu sichern.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 13
Fremdschlüssel
Der Fremdschlüssel ist ein Zeiger und daher die Kopie des Id-Schlüssels der
Tabelle auf den der Zeiger verweist.
Für den Fremdschlüssel gelten dieselben Kriterien wie für den Id-Schlüssel.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 14
1-1 Relation
Arbeitskräfte
Baufahrzeuge
BezeichVorANr Name name FNr FNr nung Typ
Arbeits- 1
kräfte
1 Baufahrzeuge
2
4
1 Kran
3
Müller
Andy
Lehmann Jens
Paul
Berger
1
3 Kipper
4
5
Altmann Peter
Meyer
Jens
3
5
4 LKW
5 LKW
1
2
2 Bagger
Bau-jahr ANr
AK-90 1995 1
R 124 1997 2
KF-36 1996 3
BR 7 1999 4
RX-20 1997 5
Kurzschreibweise:
Arbeitskräfte (ANr, Name, Vorname, FNr)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr, ANr)
Vereinfachung: Beide Tabellen können zu einer Tabelle zusammengefasst werden.
Nachteil: Baufahrzeuge würde zu einer Eigenschaft des Arbeiters werden.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 15
Arbeitskräfte
1-c Relation
Arbeits- 1
kräfte
ANr
c Baufahrzeuge
1
2
3
4
5
Name
Vorname
Müller Andy
Lehmann Jens
Paul
Berger
Altmann Peter
Meyer
Jens
Baufahrzeuge
FNr Bezeich- Typ
nung
ANr
1 Kran
Bau-jahr
AK-90 1995
2 Bagger
R 124 1997
1
3 Kipper
KF-36 1996
4
3
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr, ANr)
oder auch: VORSICHT
Arbeitskräfte (Anr, Name, Vorname)
Baufahrzeuge (ANr, Bezeichnung, Typ, Baujahr)
ANr
1
2
3
4
5
Name
FNr
Müller 2
Lehmann leer
1
Berger
Altmann 3
Meyer
leer
Arbeitskräfte (Anr, Name, Vorname, FNr)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
ist nicht erlaubt, da Nullwerte entstehen.
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 16
1-m Relation
Jede Arbeitskraft kann 1 oder mehrere Baufahrzeuge bedienen
Arbeitskräfte
1
2
Müller Andy
Lehmann Jens
1 Kran
Bau-jahr
AK-90 1995
2 Bagger
R 124 1997
1
3
Berger Paul
Altmann Peter
Meyer
Jens
3 Kipper
KF-36 1996
4
4 LKW
BR 7
2
ANr
Arbeits- 1 m Baukräfte
fahrzeuge
Baufahrzeuge
4
5
Name
Vorname
FNr Bezeich- Typ
nung
5 LKW
6 Kipper
7
LKW
ANr
1999
RX-20 1997
KF-37 2000
L-186 1999
3
5
1
2
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 17
1-mc Relation
Jede Arbeitskraft kann 0,1 oder mehrere Baufahrzeuge bedienen
Arbeitskräfte
Arbeits- 1 mc Baufahrzeuge
kräfte
ANr
1
2
3
4
5
Name
Vorname
Müller Andy
Lehmann Jens
Paul
Berger
Altmann Peter
Meyer
Jens
Baufahrzeuge
FNr Bezeichnung Typ
Bau-jahr
AK-90 1995
ANr
5
3 Kipper
R 124 1997
KF-36 1996
4 LKW
5 LKW
6 Kipper
BR 7 1999
RX-20 1997
KF-37 2000
2
L-186 1999
2
1 Kran
2 Bagger
7
LKW
3
1
2
1
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 18
c-c Relation
Jede Arbeitskraft kann kein oder 1 Baufahrzeug bedienen.
Jedes Baufahrzeuge kann von keiner oder 1 Arbeitskraft bedient werden.
Baufahrzeuge
Arbeitskräfte
Arbeits- c
kräfte
ANr
c Baufahrzeuge
1
1
c
c
Baufahrzeugfahrer
Name
Vorname FNr
1
Müller
2
Lehmann Jens
3
Berger
Paul
4
5
Altmann Peter
Meyer
c-c Relation erzwingt Nullwerte
 VERBOTEN
Umwandlung (Transformation)
von (c-c) in 2 (1-c)
bedingt Einführung einer Entität
Andy
FNrBezeichnung
Typ
Bau-jahr ANr
1
Kran
AK-90 1995
3
2
Bagger
R 124
1997
1
1
3
Kipper
KF-36
1996
4
3
4
LKW
BR 7
1999
5
LKW
RX-20 1997
2
Jens
neue Entität: Baufahrzeugfahrer
ANr
1
3
4
FNr
2
1
3
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufharzeugfahrer ( ANr, FNr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 19
c-m Relation
Jede Arbeitskraft kann ein oder mehrere Baufahrzeuge bedienen.
Jedes Baufahrzeuge kann von keiner oder 1 Arbeitskraft bedient werden.
Arbeits- c
kräfte
m Baufahrzeuge
1
1
m
c
Baufahrzeugfahrer
c-m Relation erzwingt Nullwerte
 VERBOTEN
Umwandlung (Transformation)
in (1-m) und (1-c)
bedingt Einführung einer Entität
Arbeitskräfte
Baufahrzeuge
ANr Name Vorname
FNrBezeichnung Typ
1
2
3
Müller Andy
Lehmann Jens
Berger Paul
Baufahrzeugfahrer
FNr
2
6
4
7
1
ANr
1
1
2
2
3
2 Bagger
Bau- ANr
-jahr
AK-90 1995 3
R 124 1997 1
3 Kipper
KF-36 1996
4 LKW
5 LKW
6 Kipper
BR 7 1999
RX-20 1997
KF-37 2000
2
L-186 1999
2
1 Kran
7
LKW
1
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufahrzeugfahrer (FNr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 20
c-mc
Relation
Jede Arbeitskraft kann kein, 1 oder mehrere Baufahrzeuge bedienen.
Jedes Baufahrzeuge kann von keiner oder 1 Arbeitskraft bedient werden.
Arbeits- c
kräfte
mc Bau-
Baufahrzeugfahrer
ANr Name Vorname
FNrBezeichnung Typ
Müller Andy
Lehmann Jens
3 Berger Paul
2 Altmann Peter
2 Meyer
Jens
1
mc
Baufahrzeuge
1
2
fahrzeuge
1
Arbeitskräfte
c
Baufahrzeugfahrer
c-mc Relation erzwingt Nullwerte
 VERBOTEN
FNr
1
6
2
3
5
ANr
1
1
2
2
3
2 Bagger
Bau- ANr
-jahr
AK-90 1995 1
R 124 1997 2
3 Kipper
KF-36 1996
2
4 LKW
5 LKW
6 Kipper
BR 7 1999
RX-20 1997
KF-37 2000
3
1
1 Kran
7
LKW
L-186 1999
Umwandlung (Transformation)
in (1-mc) und (1-c)
Arbeitskräfte (ANr, Name, Vorname)
bedingt Einführung einer Entität Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufahrzeugfahrer (FNr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 21
m-m Relation
Jede Arbeitskraft kann 1 oder mehrere Baufahrzeuge bedienen.
Jedes Baufahrzeuge kann von 1er oder mehreren Arbeitskräften bedient werden.
Arbeitskräfte
Arbeits- m m Baufahrzeuge
kräfte
1
1
m
m
Baufahrzeugfahrer
Baufahrzeuge
BezeichANr Name Vorname FNr nung
Typ
1
2
Müller Andy
Lehmann Jens
1 Kran
2 Bagger
Bau- ANr
-jahr
AK-90 1995 3
R 124 1997 1
3
Berger
3 Kipper
KF-36 1996
1
4 LKW
1 Kran
6 Kran
BR 7 1999
AK-90 1995
AK-90 1995
3
R 124 1997
3
Paul
Baufahrzeugfahrer
ANr
1
1
1
2
3
3
3
FNr
2
3
1
1
1
4
2
2
Bagger
1
2
m-m Relation erzwingt
Redundanzen
 VERBOTEN
Umwandlung (Transformation)
in (1-m) und (1-m)
Arbeitskräfte (ANr, Name, Vorname)
bedingt Einführung einer Entität Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufahrzeugfahrer (FNr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 22
m-mc Relation
Jede Arbeitskraft kann kein, 1 oder mehrere Baufahrzeuge bedienen.
Jedes Baufahrzeuge kann von 1er oder mehreren Arbeitskräften bedienen werden.
BauArbeits- m mc
fahrzeuge
kräfte
1
1
mc
m
Baufahrzeugfahrer
Arbeitskräfte
Baufahrzeuge
ANr Name Vorname
FNrBezeichnung Typ
1
2
Müller Andy
Lehmann Jens
1
2
3
4
Berger
Paul
Altmann Peter
3
Bau- ANr
-jahr
Kran
AK-90 1995 2
Bagger R 124 1997 1
Kipper KF-36 1996 leer
1
Kran
AK-90 1995
1
2
Bagger
R 124 1997
2
Baufahrzeugfahrer
ANr
1
1
2
3
3
FNr
2
3
1
1
2
m-mc Relation erzwingt
Redundanzen
 VERBOTEN
Umwandlung (Transformation)
in (1-m) und (1-mc)
Arbeitskräfte (ANr, Name, Vorname)
erfordert Einführung einer Entität Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufahrzeugfahrer (FNr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 23
mc-mc Relation
Jede Arbeitskraft kann 1 oder mehrere Baufahrzeuge bedienen.
Jedes Baufahrzeuge kann von 1er oder mehreren Arbeitskräften bedienen werden.
Arbeitskräfte
Arbeits- mc mc Baufahrzeuge
kräfte
mc
mc
Baufahrzeugfahrer
mc-mc Relation erzwingt
Redundanzen
 VERBOTEN
Umwandlung (Transformation)
in 2 (1-mc)
bedingt Einführung einer Entität
1
2
Müller Andy
Lehmann Jens
1
2
3
4
Berger
Paul
Altmann Peter
3
Bau- ANr
-jahr
Kran
AK-90 1995 2
Bagger R 124 1997 1
Kipper KF-36 1996 leer
1
Kran
AK-90 1995
1
2
Bagger
R 124 1997
2
2
Bagger
R 124 1997
4
ANr Name
1
1
Vorname
Baufahrzeuge
Baufahrzeugfahrer
ANr
1
1
2
2
4
FNr
2
1
1
2
2
FNr Bezeichnung Typ
Arbeitskräfte (ANr, Name, Vorname)
Baufahrzeuge (FNr, Bezeichnung, Typ, Baujahr)
Baufahrzeugfahrer (FNr, ANr)
TU Dresden - Institut für Bauinformatik
Bauinformatik II, Softwareanwendungen 1; 2. Vorlesung
Folie-Nr.: 24
Herunterladen