View
108
Download
1
Category
Preview:
Citation preview
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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)
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.
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
Recommended