23
1 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester 7. Vorlesung Datenbankentwurf- Normalisier Prof. Dr.-Ing. R. J. Scherer Nürnberger Str. 31a 2. OG, Raum 204 TU Dresden - Institut für Bauinformatik Relationale Datenbanken für Bauingenieurprobleme

TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

Embed Size (px)

Citation preview

Page 1: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 1Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Bauinformatik IISoftwareanwendungen 1

5. Semester 7. Vorlesung Datenbankentwurf- Normalisierung

Prof. Dr.-Ing. R. J. Scherer

Nürnberger Str. 31a2. OG, Raum 204

TU Dresden - Institut für Bauinformatik

Relationale Datenbankenfür Bauingenieurprobleme

Page 2: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 2Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

NormalisierungZiel: Redundanzfreie Speicherung der Daten

und keine NullwerteAblauf: in mehreren (Normalisierungs-)Stufen

Vorteil: 1. keine Mutationsanomalie, die zu kontrollieren wären 2. geringerer Speicherplatzbedarf (evtl.) 3. erhöhte Schnelligkeit (evtl.)

Mutationsanomalieentsteht durch unvollständige Änderung redundanter Daten

1324234543475352

PNr Name Vorname Baumaschine Typ

AndersBergerLehmannSchulze

SvenPaulAndreasJens

BaggerKipperLKWLKW

BG 20KPx/5DL 38A/2

Beispiel: Wenn es keine seperate Relation Baumaschinen gäbe und Relation Bagger-Baggerfahrer gelöscht werden soll, dann wird auch die Person gelöscht.Baufahrzeugfahrer

Methode: Buttom Up Datenbankentwurf

Page 3: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 3Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Buttom-UP AnsatzDer Buttom UP-Ansatz ist eine Entwurfsstrategie für einen Routine-Entwurf, der ausgeht von der Beobachtung.

1. Beobachten und aufschreiben (Analog der Statistik: beob. + zählen)2. Nach vorgegebenen Regeln um-ordnen und um-strukturieren3. Ergebnis: allgemeingültiger Erst-Entwurf / Modell4. Ergänzen auf Grund von Tests in der Praxis

Definition: Routine-Entwurf :Der Problemraum ist vollständig bekannt, d. h. mit den vorhandenen Regeln ( = Wissen) sind alle auftrettenden Probleme richtig zu lösen(=Voraussetzung zur Anwendung des Buttom-UP Ansatzes)

Der Routine-Entwurf kann sowohl zu einem routine als auch zu einem innovativen Ergebnis führen (innovativ = neuartig, vorher so noch nicht da gewesen)Anwendung: bei komplexen ( schwierigen) ProblemenAnmerkung: unter Zeitdruck sind auch schon einfache Probleme komplex.

Page 4: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 4Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Redundanz

Redundanz entsteht durch :

1. Mehrfachspeicherung derselben Entität oder Attribute einer Entität2. Abhängigkeiten innerhalb einer Entität, d. h. zwischen den Attributen.

Zu entscheiden ist zwischen 3 Arten von Abhängigkeiten:

1. Funktionale Abhängigkeit2. Volle Abhängigkeit3. Transitive Abhängigkeit

Page 5: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 5Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Funktionale AbhängigkeitEin Attribut B ist von einem Attribut A funktional abhängig,wenn zu einem bestimmten Attributwert von A genau ein Attributwert von B gehört.

Gleiches gilt für Attribut-Kombinationen von A und B

Der Name des Arbeiters ist funktional von der Personal_Nr. abhängig.

Alle Attribute einer Entität sind von jedem Schlüsselattribut (-kombination) funktional abhängig.

Arbeitskräfte:

PNr Name Vorname

1123 12341125

MüllerBüttnerMüller

MaxFelixPeter

Page 6: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 6Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Volle AbhängigkeitEin Attribut B ist von einer Attributkombination A voll abhängig,wenn B nur von A, nicht jedoch schon von einem Teil der Attribut-Kombination A funktional abhängig ist.Gleiches gilt für eine Attributkombination von B.

Das Kaufdatum ist vom ID-Schlüssel abhängig, jedoch nicht von nur einem der beiden Schlüsselattribute Lieferant, bzw. Material

Alle Attribute sind vom ID-Schlüssel voll abhängig.

Einkauf von Materialien:

Baul.Objekt Adresse Material Bem. Mat.-Nr. Verkäufer DatumEinf.haus

Einf.hausStadtvillaVilla

Waldweg 8 Talstr. 19Bergstr. 5Feldstr. 12

FensterTürenFensterFensterFenstertürenTüren

AluHolzAluHolz-AluHolzPlast

567483678862580081580100.768321680083

SchmidtMüllerMeyerSchmidtBach

Schenk

05.01.0115.02.0116.03.0103.04.01.14.05.01

Page 7: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 7Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Transitive AbhängigkeitEin Attribut C ist von einem Attribut A transitiv abhängig, wenn das Attribut B von Aund das Attribut C von B,aber das Attribut A nicht von C funktional abhängig sind.Das gleiche gilt für Attributkombinationen von A, B, C

A B C A

Das Attribut Gewerkname ist von der Arbeiter-Nr. transitiv abhängig,weil GNr Gewerkname undANr GNr,jedochGewerkname ANr.

ANr GNr Gewerkname

MaurerZimmererDachdeckerGerüstbauerMaurer

230340360400230

52305383685875648850

ANr GNr Gw ANr

aber transitiv A C

aber transitiv ANr C

Page 8: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 8Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

1. NormalformEine Tabelle befindet sich in der 1. Normalform, wenn alle Attribute nur noch einfache Attributwerte enthalten.

Objekt Adresse Elemente Material SNr. Lieferf-Fa L-Datum

Einf.haus

Einf.hausStadtvillaVilla

Wallstr. 8 Talstr. 19Bergstr. 5Feldstr. 2

FensterTürenFensterFensterFenstertürenTüren

AluHolzAluHolz-AluHolzPlast

567483678862580081580100.768321680083

F & TB. Müller MeyerF & TMeyer

Bau-Holz

05.01.0115.02.0116.03.0103.04.0114.05.01

ONr Objekt Adresse ENr Elemente Material SNr FNr Liefer-Fa L-Datum

Einf.haus Einf.hausEinf.hausStadtvillaVilla

Waldweg 8 Waldweg 8Talstr. 19Bergstr. 5Feldstr. 12

1 2 3 4 5 6

AluHolzAluAluHolzPlast

567483678862580081580100.768321680083

F & TB. MüllerMeyerF & TMeyer

Bau-Holz

05.01.0115.02.0116.03.0103.04.01.14.05.01

11234

12313

4

Es werden zusätzlich die Attribute 0Nr, ENr, FNr eingefügt, welche die baulichen Objekte,die einzubauenden Artikel (Fenster und Türen) und die Lieferfirmen klar definieren.

FensterTürenFensterFensterFenstertürenTüren

Page 9: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 9Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

2. NormalformEine Tabelle befindet sich in der 2. Normalform, wenn sie schon in der.1. Normalform ist und jedes nicht zum ID-Schlüssel gehörende Attribut voll abhängig vom ID-Schlüssel ist.

Durch die Aufteilung in 3 Tabellen ist für jede der 3 Tabellen die 2. Normalform erreicht.Aber: eine der Lieferfirmen kann nicht erfasst werden

c m Elemente

1

m

1

Lieferung

c

ObjekteFNr L-Fa L-Datum ENr ONr

F & TB. MüllerMeyerF & TMeyer

Bau-Holz

05.01.0115.02.0116.03.0103.04.01.14.05.01

12313

4

11234

1 2 3 4 5

Page 10: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 10Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

3. NormalformEine Tabelle befindet sich in der 3. Normalform, wenn sie schon in der.2. Normalform ist und kein Nichtschlüsselattribut vom ID-Schlüssel transitiv abhängt,d. h. keine Abhängigkeit untereinander außer zum ID.Tabellen in der 3. Normalform werden als normalisiert bezeichnet

Ergebnis:• 4 Tabellen• Redundanzen so aufgeteilt, dass jede Tabelle in sich redundanzfrei ist

c m Elemente

1

1m

1

Lieferung

Lieferfirma

c

mc

ObjekteONr ENr L-Datum FNr

1 2 3 4 5

05.01.0115.02.0116.03.0103.04.0114.05.01

11234

12313

FNr Lieferfirmen

1234

F & TB. MüllerMeyerBau-Holz

Page 11: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 11Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

4. Normalform(Höhere Normalform, Globale Normalisierung)

Eine Tabelle befindet sich in der 4. Normalform, wenn sie schon in der.3. Normalform ist und nur noch lokale und globale Attribute existieren.

Definition:Lokale Attribute: Attribute die nur in einer Tabelle vorkommen und die nicht zum ID gehörenGlobale Attribute: Attribute, die in mindestens einer Tabelle den ID mit bilden

Schwimmkran müsste 2mal aufgenommen werden

Transformation:Generalisieren

KranSchwimmfahrzeugBaumaschinenKranSchwimmfahrzeug

Page 12: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 12Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Normalisierungsprozess

c mFenster / Türen

1

1

m

1

Lieferung

Lieferfirmen

c

mc

Baul. Objekte

Buttom-UPEntwurfsstrategie

Page 13: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 13Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Problem der Normalisierung immer mehr Tabellen1. Reduziert die Übersichtlichkeit2. Erhöht den Eingabeaufwand und macht ihn

komplexer(viele IDs, die i. d. R. nur Kodenummern sind)

3. Erhöht die Komplexität der Abfragen(die verschachtelte Struktur muss in der Abfrage abgebildet werden, so sind z. B. die Türen eines Geschosses in sehr vielen Spezialtabellen zerstreut Abhilfe: Ontologie)

4. Verringert die Geschwindigkeit

Page 14: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 14Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Optimale NormalformEine Mischung zwischen Übersichtlichkeit und Einfachheit und der Redundanzfreiheit

Vergleichsweise:

1. Redundanzfreiheit 4. Normalform erfüllt

2. Redundanzkompromisse festlegen, um die Konsequenzen ´ überblicken zu können

1. Konsequenz: alle Redundanzen müssen durch Zusatzprogramme 100prozentig kontrolliert werden, so dass keine Mutationsanomalien entstehen können.

Page 15: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 15Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Wertebereiche von Attributen• Statischer Wertebereich: der Wertebereich ist festgelegt:a) begrenzte vorgegebene Menge von Werten, z. B. Farbenb) begrenzte, vorgegebene Elemente, aus denen die Werte gebildet werden können, z. B. Anzahl der Zeichen für die Namen, Anzahl der Bytes für Integerzahlenc) zusätzliche Anschlusskriterien: Plausibilitätsbedingung

• Dynamischer Wertebereich:ist der Wertebereich für einen Fremdschlüssel.Der Fremdschlüssel wird aus einem ID-Schlüssel gebildet.Der Wertebereich ist durch die Werte, die die ID Schlüsselattribute bisher besitzen, begrenzt.Es können aber neue ID-Schlüssel-Werte eingegeben werden dynamisch

Page 16: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 16Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Strukturregeln für den Datenbankentwurf

1. Jede Tabelle muss einen ID besitzen2. Eine Datenbasis muss in der 3. Normalform sein (Ausnahmen)3. Lokale Attribute müssen statische Wertebereiche verwenden

Globale Attribute dürfen nur in 1 Tabelle einen statischen Wertebereich besitzen und sind der ID

4. Rekursive Relationen sind verboten Fremdschlüssel nur von Tabellen (B), die von aktueller Tabelle

(A) unabhängig sind5. Generalisierung / Spezialisierung immer angeben

diskreminierendes Attribut muss bei vollständiger Überdeckung angegeben werden.

6. Bei Fremdschlüssel diejenigen Bezugstabellen bezeichnen die größtmögliche Wertebereichsbeschränkungen bringen

Page 17: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 17Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Vorgehensweise beim DatenbankentwurfButtom-UP Entwurfsstrategie

Start

Aufgabe definieren

Entitätsmengen bilden

Beziehungen festlegen

Identifikationsschlüssel

Globale Normalisierung

Lokalattribute definieren

Konsistenzbedingungen

Transaktionen formulieren

Ende

formulieren

durchführen

definieren

Page 18: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 18Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

.A.) Grobentwurf

.1. WER – WEN - WAS

.2. Beziehungen festlegen

• alles hinschreiben,• auch Widersprüche

(um sie anschließend schrittweise auflösen zu können

Page 19: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 19Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

B.) Globale Normalisierung (NF4).schrittweise durchführen

1. rekursive Abhängigkeit entfernen2. volle Spezialisierung3. konditionelle und netzwerkförmige Beziehungen4. NF4 nur noch lokale und globale Attribute

auch innerhalb eines Schritt(bereich)es ist schrittweise vorzugehen, da sonst

.a) etwas übersehen wird

..

.b) unnötige Entitäten entstehen

Page 20: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 20Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

C.) Jede Tabelle mindestens in 3. NF bringen„Ob eine Tabelle als normalisiert betrachtet werden kann, hängt weitgehend von der Aufgabenstellung und den Anforderungen an die Datenkonsistenz ab.“

D.) Sinnvolle Auslagerungen /Untertabellen für Attribute mit kleinem Wertebereich (= Unterthemen)

E.) Wertebereiche festlegen schriftlich in Tabelle dokumentieren

Page 21: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 21Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

F.) Transaktionen definieren.kann aus mehreren Operationsschritten bestehen „Alles-oder-Nichts“ = wenn ein Transaktionsschritt fehlschlägt, ist der Zustand von der Transaktion wieder herzustellen und alle vorherigen Schritte wieder rückgängig zu machen (oder alles wurde zwischengespeichert)Komplexität von Beziehungen vorgeben

G.) DokumentierenBerichte erstellen (s. Transaktionen - Teilbereich davon)

Page 22: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 22Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Beispiel:Verwaltung der Personen, die auf einer Baustelle tätig sind

.1. Welche Arbeiter sind auf welcher Baustelle zu welcher Arbeit wann eingesetzt und wer war ihr Bauleiter

.2. Die Personaldaten werden von der Personalabteilung, die Bauarbeiten vom Bauleiter und der Baustelleneinsatz von dem Projektleiter verwaltet

.3. Jede Person ist mit P-NR, Name, Vorname, Funktion und Lohnstufe zu erfassen

.4. Bauarbeiten, sind mit BA-Nr, Gewerk, Ort und Art der Arbeit anzugeben

.5. Einige Arbeiter können auch Bauleiter sein. Bei diesen internen Bauleitern ist die Berufserfahrung in Jahren anzugeben. Jeder Baustelleneinsatz ist mit Arbeiter, Bauleiter und Einsatzdatum abzuspeichern.

Page 23: TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung Bauinformatik II Softwareanwendungen 1 5. Semester

TU Dresden - Institut für Bauinformatik

Folie-Nr.: 23Bauinformatik II, Softwareanwendungen 1; 5.

Vorlesung

Beispiel

.7. Externe Bauleiter sind mit Name, Vorname, Firmenname zu erfassen.

Sie werden erst dann abgespeichert, wenn sie auf einer der Baustellen eingesetzt werden.

.8. Es ist weiterhin festzulegen

a) Welche Berichte werden benötigt

b) wie ist mit dem System zu arbeiten

c) wer soll das System wie benutzen dürfen