Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bauinformatik II Softwareanwendungen 1

Ähnliche Präsentationen


Präsentation zum Thema: "Bauinformatik II Softwareanwendungen 1"—  Präsentation transkript:

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

2 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
Normalisierung Ziel: Redundanzfreie Speicherung der Daten und keine Nullwerte Ablauf: in mehreren (Normalisierungs-)Stufen Vorteil: keine Mutationsanomalie, die zu kontrollieren wären 2. geringerer Speicherplatzbedarf (evtl.) 3. erhöhte Schnelligkeit (evtl.) Methode: Buttom Up Datenbankentwurf Mutationsanomalie entsteht durch unvollständige Änderung redundanter Daten 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 PNr Name Vorname Baumaschine Typ 1324 2345 4347 5352 Anders Berger Lehmann Schulze Sven Paul Andreas Jens Bagger Kipper LKW BG 20 KPx/5 DL 38 A/2 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

3 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
Buttom-UP Ansatz Der Buttom UP-Ansatz ist eine Entwurfsstrategie für einen Routine-Entwurf, der ausgeht von der Beobachtung. Beobachten und aufschreiben (Analog der Statistik: beob. + zählen) Nach vorgegebenen Regeln um-ordnen und um-strukturieren Ergebnis: allgemeingültiger Erst-Entwurf / Modell 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) Problemen Anmerkung: unter Zeitdruck sind auch schon einfache Probleme komplex. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

4 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
Redundanz Redundanz entsteht durch : Mehrfachspeicherung derselben Entität oder Attribute einer Entität Abhängigkeiten innerhalb einer Entität, d. h. zwischen den Attributen. Zu entscheiden ist zwischen 3 Arten von Abhängigkeiten: Funktionale Abhängigkeit Volle Abhängigkeit Transitive Abhängigkeit Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

5 Funktionale Abhängigkeit
Ein 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 Arbeitskräfte: Der Name des Arbeiters ist funktional von der Personal_Nr. abhängig. PNr Name Vorname 1123 1234 1125 Müller Büttner Max Felix Peter Alle Attribute einer Entität sind von jedem Schlüsselattribut (-kombination) funktional abhängig. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

6 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
Volle Abhängigkeit Ein 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 Einkauf von Materialien: Baul.Objekt Adresse Material Bem. Mat.-Nr. Verkäufer Datum Einf.haus Stadtvilla Villa Waldweg 8 Talstr. 19 Bergstr. 5 Feldstr. 12 Fenster Türen Fenstertüren Alu Holz Holz-Alu Plast 567483 678862 580081 768321 680083 Schmidt Müller Meyer Bach Schenk Alle Attribute sind vom ID-Schlüssel voll abhängig. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

7 Transitive Abhängigkeit
Ein Attribut C ist von einem Attribut A transitiv abhängig, wenn das Attribut B von A und 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 aber transitiv A C ANr GNr Gw ANr aber transitiv ANr C Das Attribut Gewerkname ist von der Arbeiter-Nr. transitiv abhängig, weil GNr Gewerkname und ANr GNr, jedoch Gewerkname ANr. ANr GNr Gewerkname 5230 5383 6858 7564 8850 230 340 360 400 Maurer Zimmerer Dachdecker Gerüstbauer Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

8 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
1. Normalform Eine 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 Stadtvilla Villa Wallstr. 8 Talstr. 19 Bergstr. 5 Feldstr. 2 Fenster Türen Fenstertüren Alu Holz Holz-Alu Plast 567483 678862 580081 768321 680083 F & T B. Müller Meyer Bau-Holz ONr Objekt Adresse ENr Elemente Material SNr FNr Liefer-Fa L-Datum 1 2 3 4 Einf.haus Stadtvilla Villa Waldweg 8 Talstr. 19 Bergstr. 5 Feldstr. 12 1 2 3 4 5 6 Fenster Türen Fenstertüren Alu Holz Plast 567483 678862 580081 768321 680083 1 2 3 4 F & T B. Müller Meyer Bau-Holz 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. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

9 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
2. Normalform Eine 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. c m Elemente 1 Lieferung Objekte FNr L-Fa L-Datum ENr ONr 1 2 3 4 F & T B. Müller Meyer Bau-Holz 1 2 3 4 5 1 2 3 4 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 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

10 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
3. Normalform Eine 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 Lieferung Lieferfirma mc Objekte ONr ENr L-Datum FNr 1 2 3 4 1 2 3 4 5 1 2 3 FNr Lieferfirmen 1 2 3 4 F & T B. Müller Meyer Bau-Holz Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

11 Bauinformatik 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ören Globale Attribute: Attribute, die in mindestens einer Tabelle den ID mit bilden Schwimmkran müsste 2mal aufgenommen werden Transformation: Generalisieren Kran Schwimmfahrzeug Baumaschinen Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

12 Normalisierungsprozess
c m Baul. Objekte Fenster / Türen 1 1 m c Lieferung Buttom-UP Entwurfsstrategie mc 1 Lieferfirmen Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

13 Problem der Normalisierung
 immer mehr Tabellen Reduziert die Übersichtlichkeit Erhöht den Eingabeaufwand und macht ihn komplexer (viele IDs, die i. d. R. nur Kodenummern sind) 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) Verringert die Geschwindigkeit Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

14 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung
Optimale Normalform Eine Mischung zwischen Übersichtlichkeit und Einfachheit und der Redundanzfreiheit Vergleichsweise: Redundanzfreiheit  4. Normalform erfüllt Redundanzkompromisse festlegen, um die Konsequenzen ´ überblicken zu können Konsequenz: alle Redundanzen müssen durch Zusatzprogramme 100prozentig kontrolliert werden, so dass keine Mutationsanomalien entstehen können. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

15 Wertebereiche von Attributen
Statischer Wertebereich: der Wertebereich ist festgelegt: a) begrenzte vorgegebene Menge von Werten, z. B. Farben b) 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 Integerzahlen c) 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 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

16 Strukturregeln für den Datenbankentwurf
Jede Tabelle muss einen ID besitzen Eine Datenbasis muss in der 3. Normalform sein (Ausnahmen) Lokale Attribute müssen statische Wertebereiche verwenden Globale Attribute dürfen nur in 1 Tabelle einen statischen Wertebereich besitzen und sind der ID Rekursive Relationen sind verboten Fremdschlüssel nur von Tabellen (B), die von aktueller Tabelle (A) unabhängig sind Generalisierung / Spezialisierung immer angeben diskreminierendes Attribut muss bei vollständiger Überdeckung angegeben werden. Bei Fremdschlüssel diejenigen Bezugstabellen bezeichnen die größtmögliche Wertebereichsbeschränkungen bringen Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

17 Vorgehensweise beim Datenbankentwurf Buttom-UP Entwurfsstrategie
Globale Normalisierung Lokalattribute definieren Konsistenzbedingungen Transaktionen formulieren Ende Start Aufgabe definieren Entitätsmengen bilden Beziehungen festlegen Identifikationsschlüssel durchführen formulieren definieren Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

18 Bauinformatik 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 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

19 B.) Globale Normalisierung (NF4)
.schrittweise durchführen rekursive Abhängigkeit entfernen volle Spezialisierung konditionelle und netzwerkförmige Beziehungen 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 .. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

20 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 Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

21 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.) Dokumentieren Berichte erstellen (s. Transaktionen - Teilbereich davon) Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

22 Bauinformatik 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. Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung

23 Bauinformatik 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 Welche Berichte werden benötigt wie ist mit dem System zu arbeiten wer soll das System wie benutzen dürfen Bauinformatik II, Softwareanwendungen 1; 5. Vorlesung


Herunterladen ppt "Bauinformatik II Softwareanwendungen 1"

Ähnliche Präsentationen


Google-Anzeigen