Chapter 6 Normalisierung

Größe: px
Ab Seite anzeigen:

Download "Chapter 6 Normalisierung"

Transkript

1 Chapter 6 Lecture Datenbanken Erste 1NF und verfahren und Berner Fachhochschule Technik und Informatik 6.1

2 Contents 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.2

3 Die Lernziele dieses Kapitels. Erste 1NF 1 Kennen der möglichen Updateanomalien 2 Begriff der verstehen 3 Begriffe 1NF, 2NF, 3NF und BCNF kennen 4 Anwenden de en beim Design von Datenbanken 5 salgorithmen verstehen 6 Begriff der n kennen 7 Begriff de und verfahren und 6.3

4 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.4

5 Ziele der Erste 1NF Die ist eine Zerlegung von Relationen nach bestimmten Vorschriften mit den folgenden Zielen: Die gesamte Information in der Datenbank muss redundanzfrei sein. Durch Insert-, Update- und Delete-Operationen sollen keine Widersprüche in der Datenbank auftreten (). Die Abfrage und Bearbeitung der Daten soll einfach und sicher sein. und verfahren und 6.5

6 Unnormalisierte Tabelle Zum illustrieren der en werden wir das folgende Beispiel verwenden. Informationen über Lieferanten Eine Firma möchte die folgenden Daten über jeden Lieferanten speichern: Die Nummer (L)NR, der Wohnort (O)RT und die Entfernung zu diesem Ort (D)IST, für jedes gelieferte Teil dessen Bezeichnung (T)BEZ und die bisher gelieferte Anzahl (A)NZ. (L)NR (O)RT (D)IST (T)BEZ (A)NZ 1 London 1000 T1 300 T2 200 T3 400 T Paris 570 T1 450 T Paris 570 T Berlin 960 T2 150 T4 750 T5 350 Erste 1NF und verfahren und 6.6

7 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.7

8 Tabellen in erster In unserem Beispiel können die Attribute BEZ und ANZ als ein Attribut TEIL angesehen werden, dessen Werte selbst wieder Relationen sind. Im relationalen Modell sind aber relationenwertige Domänen nicht erlaubt. Eine solche Relation muss in erster transformiert werden. Eine Relation R ist in erster (1NF) genau dann, wenn die Domänen aller Attribute nur atomare Werte enthalten. Erste 1NF und verfahren und 6.8

9 Tabellen in erster (2) Unsere Tabelle bringen wir jetzt in 1NF Dazu müssen alle existierenden Tupel kopiert und die mehrfach belegten Attribute auf die Kopien aufgeteilt werden Tabelle in 1NF (L)NR (O)RT (D)IST (T)BEZ (A)NZ 1 London 1000 T London 1000 T London 1000 T London 1000 T Paris 570 T Paris 570 T Paris 570 T Berlin 960 T Berlin 960 T Berlin 960 T5 350 Erste 1NF und verfahren und 6.9

10 Tabellen in erster (3) Die Umwandlung einer nicht normalisierten Tabelle in die 1NF kann komplizierter als im vorigen Beispiel sein. Bücher Beispiel In der nächsten Tabelle ist ein Buch in unnormalisierter Form dargestellt. Zu einem Buch kann es mehrere Autoren und mehrere Stichworte haben. Die unnormalisierte Relation buch ISBN Titel Verlag Autor Stichwort Princ.of DBS Benj./Cummings Elmasri RDBS Navathe Lehrbuch oodbs Die Tabelle in 1NF enthält für dieses eine Buch 6 Tupel Die Relation buch i 1NF ISBN Titel Autor Verlag Stichwort Princ.of DBS Benj./Cummings Elmasri RDBS Princ.of DBS Benj./Cummings Navathe RDBS Princ.of DBS Benj./Cummings Elmasri Lehrbuch Princ.of DBS Benj./Cummings Navathe Lehrbuch Princ.of DBS Benj./Cummings Elmasri oodbs Princ.of DBS Benj./Cummings Navathe oodbs Erste 1NF und verfahren und 6.10

11 Tabellen in erster (4) In der vorigen Tabelle sind alle 6 Tupel notwendig Lässt man ein Tupel weg, so gehen Informationen verloren Wir illustrieren dies mit dem folgenden Beispiel Ein Query Wir schreiben das folgende Query: π Stichwort (σ Autor= Navathe (buch)) Als Resultat erhalten wir die drei Stichworte {RDBS, Lehrbuch, oodbs} Wir lassen in der Tabelle in 1NF zum Beispiel das letzte Tupel weg. Das Resultat ist jetzt aber {RDBS, Lehrbuch} Das Stichwort oodbs ist nun verlorengegangen Erste 1NF und verfahren und 6.11

12 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.12

13 Die Tabelle Lieferant in 1NF enthält viel Redundanz Dies führt zu sogenannten INSERT: Ein Tupel kann nur eingetragen werden, wenn alle 5 Attributwerte bekannt sind. Die Information, dass London 1000km entfernt ist kann nur festgehalten werden, wenn ein Lieferant in London vorhanden ist. Nullwerte helfen nicht weiter, da mindestens der Primärschlüssel {LNR, TBEZ } vorhanden sein muss. Erste 1NF und verfahren und 6.13

14 (2) DELETE: Durch das Löschen einer Information können andere Informationen mitgelöscht werden. Löscht man den letzten Lieferanten in London, so löscht man auch die Tatsache, dass London 1000km entfernt ist. Beim nächsten Erfassen eines Lieferanten in London muss diese Tatsache neu erfasst werden. UPDATE: Falls ein Lieferant umzieht, so muss der Ort und die Distanz in allen Tupeln desselben Lieferanten nachgeführt werden. Erste 1NF und verfahren und 6.14

15 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.15

16 Die Theorie der basiert auf dem Begriff der funktionalen Wir werden dafür kurz auch FD (aus dem englischen functional dependecy) schreiben. Eine FD ist eine lokale Integritätsbedingung und ist folgendermassen definiert. Es sei R eine Attributmenge und X, Y R. Eine funktionale X Y bezeichnet folgende semantische Bedingung: sei r REL(R) { true falls ( t1, t (X Y )(r) := 2 r)(t 1 (X) = t 2 (X) = t 1 (Y ) = t 2 (Y )) false sonst Erste 1NF und verfahren und 6.16

17 (2) Einige Bemerkungen zur : Eine Schlüsselbedingung ist eine spezielle FD. Ist r REL(R)undK R ein Schlüssel, so gilt: (K R)(r) = true = ( t 1, t 2 r)(t 1 (K ) = t 2 (K ) = t 1 (R) = t 1 = t 2 (R)) = t 2 Der Begriff der funktionalen ist ein semantischer Begriff. Das Erkennen von funktionalen ist nur möglich, wenn die Bedeutung der Daten bekannt ist. Die Tatsache, dass der Ort von der Lieferantennummer abhängig ist, modeliert die Tatsache, dass jeder Lieferant an genau einem Ort ansässig ist. Erste 1NF und verfahren und 6.17

18 (3) Das folgende Beispiel soll FDs illustrieren Menge von FDs In unserem Beispiel mit dem folgenden Schema R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } und der folgenden Beschreibung Eine Firma möchte die folgenden Daten über jeden Lieferanten speichern: Die eindeutige Nummer (L)NR, der Wohnort (O)RT und die Entfernung zu diesem Ort (D)IST, für jedes gelieferte Teil dessen Bezeichnung (T)BEZ und die bisher gelieferte Anzahl (A)NZ. können die folgenden funktionalen angenommen werden: LT A O D L O Erste 1NF und verfahren und Dabei ist {LNR, TBEZ} Schlüssel für die Relation. 6.18

19 (4) Erste 1NF Für funktionale vereinbaren wir die folgenden Schreibweisen: Einzelne FDs der Form X Y versehen wir häufig mit einem Namen und schreiben dann: f : X Y Mit L f bzw. R f bezeichnen wir die Attribute der linken bzw. der rechten Seite einer FD f. Mit attr(f ) bezeichnen wir alle Attribute einer FD das heisst, attr(f ) = L f R f. und verfahren und 6.19

20 FDs FDs sind lokale Integritätsbedingungen Für ein Relationenschema R und eine Menge F von FDs mit ( f F)attr(f ) R, ist R = (R, F) ein erweitertes Relationenschema. Wir interessieren uns nun für die Menge aller gültigen Relationen SAT R (F). Seien F und G zwei FD-Mengen über dieselbe Attributmenge R. (i) F und G heissen äquivalent, kurz F G, falls SAT R (F) = SAT R (G) gilt. (ii) F heisst redundant, falls eine FD-Menge F F existiert mit F F. Erste 1NF und verfahren und 6.20

21 FDs (2) Die der Implikation bedeutet in Worten ausgedrückt: Zwei FD-Mengen F und G sind dann äquivalent, wenn sie als semantische Spezifikationen gleich sind. Redundant bedeutet, dass eine gegebene Spezifikation F mehr Bedingungen als nötig enthält. Wir können die Äquivalenz bzw. Redundanz auf einen Grundsätzlicheren Begriff reduzieren: Sei F eine FD-Menge über die Attributmenge R und f eine FD mit attr(f ) R. F impliziert f, kurz F = f, falls SAT R (F ) SAT R (f ) gilt. D.h. jede Relation über R, welche F erfüllt, erfüllt auch f. Erste 1NF und verfahren und 6.21

22 FDs (3) Aus der vorhergehenden ergibt sich sofort der folgende Satz Theorem Seien F und G zwei FD-Mengen über dieselbe AttributMenge R. (i) F G (( f F ) G = f ) (( g G) F = g) (ii) F ist redundant ( f F) F \ {f } = f Im folgenden werden wir uns mit der Frage beschäftigen, wie Implikationen getestet werden können. Aus einer Antwort auf dieser Frage sind dann Äquivalenzund Redundanz-Tests mit obigem Satz herleitbar. Erste 1NF und verfahren und 6.22

23 FDs (4) Äquivalente FD Mengen Die folgende Relation erfüllt die beiden folgenden FD Mengen F = {LT A, O D, L O, L D} G = {LT A, O D, L O} (L)NR (O)RT (D)IST (T)BEZ (A)NZ 1 London 1000 T London 1000 T London 1000 T London 1000 T Paris 570 T Paris 570 T Paris 570 T Berlin 960 T Berlin 960 T Berlin 960 T5 350 Man kann zeigen, dass jede Relation aus REL(R) die F erfüllt auch G erfüllt und umgekehrt. Sei s eine Relation, die G erfüllt, und sei f : L D, so gilt: ( t 1, t 2 s) t 1 (LNR) = t 2 (LNR) = t 1 (ORT ) = t 2 (ORT ), da s L O erfüllt = t 1 (DIST ) = t 2 (DIST ), da s O D erfüllt Erste 1NF und verfahren und Also ist auch L D in s erfüllt und es gilt F G. Ferner ist F redundant, da G F gilt. 6.23

24 Ableiten von FDs Wir suchen nun algorithmische Hilfsmittel, mit denen man Implikationen testen kann. Dazu führen zunächst den folgenden Begriff ein: Sei F eine FD-Mengen über die AttributMenge R, dann heisst F + := {f attr(f ) g F attr(g) F = f } Erste 1NF die Hülle von F Aus der folgt sofort, dass F F + für jede FD-Menge F. Testen einer Implikation bedeutet also festzustellen, ob eine gegebene FD f Element der Hülle einer FD-Menge F ist. Das Problem zu entscheiden, ob zu gegebenem F und f f F + gilt, heisst das Membership-Problem funktionaler. und verfahren und 6.24

25 Ableiten von FDs (2) Erste 1NF Der folgende Satz zeigt wie aus einer Menge F von FDs neue FDs abgeleitet werden können. Theorem Sei R eine Attributmenge und X, Y, Z, W R dann gilt: (A1) Y X = X Y (Triviale ) (A2) X Y Y Z = X Z (Transitivität) (A3) X Y Z W = XW YZ (Erweiterung) Die Regeln (A1) bis (A3) heissen Amstrong Axiome und verfahren und 6.25

26 Ableiten von FDs (3) Wir können den Ableitungsprozess nun folgendermassen formalisieren: Es sei F eine Menge von FDs über R und f : X Y eine FD mit X, Y R. f heisst aus F ableitbar F f, falls eine Folge f 1,..., f n von FDs existiert mit: (1) f n hat die Form X Y (2) Für 1 i n gilt entweder f i F oder, dass f i aus {f 1,..., f i 1 } mit Hilfe der Regeln (A1),(A2),(A3) erzeugbar ist. Erste 1NF und verfahren und 6.26

27 Ableiten von FDs (4) Das Regelsystem bestehend aus (A1), (A2) und (A3) ist korrekt (engl. sound). Das heisst, jede abgeleitete FD führt zu einer implizierten (gültigen) FD. Der folgende Satz sagt nun aus, dass das System auch vollständig ist. Das heisst, dass jede aus F implizierte FD auch aus F ableitbar ist. Theorem Sei F eine Menge von FDs und f eine FD. Dann gilt: F = f F f Erste 1NF und verfahren und 6.27

28 Ableiten von FDs (5) Erste 1NF Aus den Regeln (A1),(A2) und (A3) lassen sich die folgenden Regeln ableiten: (A4) X Y X Z = X YZ (Additivität) (A5) X Y Z Y = X Z (Projektivität) (A6) X X (Reflexivität) (A7) X YZ Z AW = X YZA (Akkumulation) Das Regelsystem (A5),(A6),(A7) ist auch vollständig und korrekt und verfahren und 6.28

29 Um das Membership-Problem für eine FD f zu lösen können wir also im Prinzip die Hülle der FD-Menge F berechnen und testen ob f in der Hülle vorhanden ist. Im allgemeinen Fall ist jedoch F + exponentiell in F wie das folgende Beispiel zeigt. Exponentielle Hülle Sei In diesem Fall gilt: Das heisst, F + 2 n. R = {A, B 1,..., B n } und F = {A B 1,..., A B n } ( Y R) A Y Erste 1NF und verfahren und 6.29

30 (2) Wir zeigen nun wie das Membership Problem in linearer Zeit lösbar ist Dazu führen wir einen weiteren Hüllenoperator cl F (X) ein. Für X R und eine FD-Menge F über R heisst die Hülle von X unter F. cl F (X) := {A R X A F + } Der folgende Satz zeigt nun, dass es genügt cl F (X) zu berechnen um das Membership Problem zu lösen. Theorem Sei F eine FD-Menge über R und X, Y R dann gilt: X Y F + Y cl F (X) Erste 1NF und verfahren und 6.30

31 (3) Der folgende Algorithmus berechnet cl F (X) für gegebene F und X. Algorithmus: Hülle(F, X) Input: Eine FD-Menge F und eine Attributmenge X Output: cl F (X) Methode: Y X while ( S T F) S Y T Y do Y Y T end while Erste 1NF und verfahren und 6.31

32 (4) Mit Hilfe des Algorithmus Hülle(F, X) können wir das Membership Problem lösen. Algorithmus: FD-MEMBERSHIP(F, X, Z ) Input: F {, X, Z true falls X Z F + Output: false sonst Methode: membership false Y Hülle(F, X) if Z Y then membership true end if Der Algorithmus ist linear bezüglich der Länge der Darstellung des inputs von Hülle. Erste 1NF und verfahren und 6.32

33 Berechnen eines Schlüssels Der folgende Algorithmus berechnet für das Relationenschema R, für das eine Menge F von FDs als gefordert ist, einen Schlüssel. Algorithmus: KEY(R, F ) Input: Eine Attributmenge R = {A 1,..., A n } und eine FD-Menge F Output: Ein Schlüssel K R für die Relation R Methode: K R for i = 1 n do if FD-MEMBERSHIP(F,K \ {A i },R) then K K \ {A i } end if end for Erste 1NF und verfahren und 6.33

34 Berechnen eines Schlüssels (2) Wir wollen den Algorithmus an einem Beispiel illustrieren Berechnen eines Schlüssels Wir betrachten unser Lieferantenbeispiel mit: R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } F = {LT A, O D, L O} 1.Schritt: cl F (ODTA) = ODTA = ODTA ist kein Superschlüssel. 2.Schritt: cl F (LDTA}) = LODTA = LDTA ist ein Superschlüssel. 3.Schritt: cl F (LTA) = LODTA = LTA ist ein Superschlüssel. 4.Schritt: cl F (LA) = LODA = LA ist kein Superschlüssel. 5.Schritt: cl F (LT ) = LODTA = LT ist ein Superschlüssel. Erste 1NF und verfahren und = LT ist ein Schlüssel 6.34

35 Berechnen einer Basis Wir wollen das Problem einer Basis für eine Menge von FDs betrachten. Es seien F und G FD-Mengen mit F G. Dann heisst F Überdeckung (engl. Cover) von G (und entsprechend G Überdeckung von F). Nun können wir definieren was eine Basis ist. Es sei F eine FD-Menge und f : X Y F : (i) f heisst l-minimal (l für links) bzw. voll, falls kein X X existiert mit F \ {f } {X Y } F (ii) f heisst r-minimal (r für rechts) falls Y = 1 ist. (iii) F heisst minimal, falls jedes Element von K l- und r-minimal ist. (iv) Eine Überdeckung G von F heisst Basis von F, falls G minimal und nonredundant ist. Erste 1NF und verfahren und 6.35

36 Berechnen einer Basis (2) Der folgende Algorithmus berechnet eine Basis für die FD-Menge F. Algorithmus: BASIS(F) Input: F = {f 1,..., f n} Output: Eine Basis G von F Methode: G r-minimal for all f F do for all A R f do G G {X A} end for end for for all f G do l-minimal for all B L f do if FD-MEMBERSHIP(G, L f \ {B}, R f ) then L f L f \ {B} end if end for end for for all f G do entfernen von redundanten FDs if FD-MEMBERSHIP(G \ {f }, L f, R f ) then G G \ {f } end if end for Erste 1NF und verfahren und 6.36

37 Berechnen einer Basis (3) Finden einer Basis Wir betrachten das folgende Beispiel: R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } F = {LT OA, O D, L OD} 1.Schritt r-minimal G = {LT O, LT A, O D, L O, L D} 2.Schritt l-minimal Weil cl F (L) = LOD und cl F (T ) = T gilt nach diesem Schritt: G = {LT A, O D, L O, L D} 3.Schritt entfernen von Redundanzen Da cl {LT A,O D,L O} (L) = LOD kann die FD L D aus G entfernt werden. Erste 1NF und verfahren und G = {LT A, O D, L O} 6.37

38 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.38

39 en Erste 1NF In diesem Abschnitt betrachten wir ausschliesslich Relationenschemata mit FDs als lokalen Integritätsbedingungen. Ferner sollen alle Schemata in 1NF sein. Sei R = (R, F ). A heisst Schlüsselattribut (bzw. A ist prim) falls es einen Schlüssel K für R gibt mit A K. (Andernfalls heisst A Nichtschlüssel-Attribut oder kurz NSA). und verfahren und 6.39

40 en (2) Wir betrachten nun unser Lieferantenbeispiel etwas genauer Das lieferantenbeispiel R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } F = {LT A, O D, L O} LNR und TBEZ sind prim, ORT, DIST und ANZ sind NSAs. Da {LNR, TBEZ } Schlüssel ist, so sind: LT A, LT O und LT D aus F ableitbar und r-minimal. LT O ist nicht l-minimal auf Grund der existenz von L O in F. Das NSA DIST ist von einem anderen NSA ORT abhängig (wegen O D) Aus den beiden FDs L O und O D ist die transitive FD L D herleitbar. Erste 1NF und verfahren und 6.40

41 en (3) Erste 1NF In unserem Beispiel hat das Schema R = (R, F) zwei Probleme: 1 LT O ist nicht l-minimal und 2 Das Attribut DIST ist transitiv abhängig von LNR. Unsere Relation ist nur in 1NF aber weder in 2NF noch in 3NF und verfahren und 6.41

42 en (4) Als erstes geben wir die genaue der transitiven an. Sei R = (R, F). A R heisst transitiv abhängig von X R falls gilt: (i) X A F + A X (ii) ( Y R)[X Y F + Y X F + Y A F + A Y ] Ist A nicht transitiv von X abhängig und ist X A F +, so heisst A direkt abhängig von X (bzw. X A direkte FD). Bedingung (i) besagt dass die FD X A nicht trivial ist. Bedingung (ii) schliesst aus, dass X und Y äquivalent sind und dass Y A trivial ist. Erste 1NF und verfahren und 6.42

43 en (5) Nun die der en: Es sei R = (R, F) ein Relationenschema in 1NF. (i) R ist in zweiter (2NF), falls für jedes NSA A R und jedem Schlüssel K für R gilt, dass die FD K A l-minimal ist. (ii) R ist in dritter (3NF), falls für jedes NSA A R und jeden Schlüssel K für R gilt, dass die FD K A direkt ist. (iii) R ist in (BCNF), falls jedes Attribut A R von jedem Schlüssel K für R direkt abhängig ist. Erste 1NF und verfahren und 6.43

44 en (6) Der folgende Satz stellt einen Zusammenhang zwischen den verschiedenen en her. Theorem Zusammenhang zwischen en Sei R = (R, F) in 1NF. Dann gilt: (i) R ist in BCNF = R ist in 3NF (ii) R ist in 3NF = R ist in 2NF Proof. (i) Trivial, da die BCNF-Bedingung insbesondere alle Nichtschlüsselattribute erfasst. (ii) Wir zeigen hier die Kontraposition: R sei nicht in 2NF dh. es existiert ein NSA A R und ein Schlüssel K so, dass K A nicht voll ist. Daraus folgt: ( Z K ) Z A F + Weiter gilt Z K F + aufgrund der Minimalität von K und A K, da A nicht prim ist. Insgesamt gilt also K A F + A K [K Z F + Z K F + Z A F + A Z ] Erste 1NF und verfahren und Das heisst, A ist sogar transitiv abhängig von K. Also ist R nicht in 3NF. 6.44

45 en (7) Wir wollen an Beispielen zeigen, dass die Umkehrung des Satzes nicht gilt: In 2NF aber nicht in 3NF Wir nehmen das folgende Beispiel: R = {(L)NR, (O)RT, (D)IST } F = {L O, O D} In diesem Beispiel ist LNR offensichtlich der einzige Schlüssel. L O und L D sind beide l-minimal. Also ist (R, F) in 2NF. Ferner gilt: L D F + D L [L O F + O L F + O D F + D O] Erste 1NF und verfahren Also ist DIST von LNR transitiv abhängig und somit ist (R, F ) nicht in 3NF. und 6.45

46 en (8) Example 3NF aber nicht BCNF Wir betrachten nun das folgende Beispiel: R = {(S)tudent, (F)ach, (D)ozent} F = {SF D, D F} Die beiden FDs bedeuten, dass ein Student in einem Fach von genau einem Dozenten unterrichtet wird und dass ein Dozent nur ein Fach unterrichtet. SF und SD sind die einzigen Schlüssel für (R, F). In diesem Fall sind alle Attribute prim, so dass die Forderung der 3NF trivialerweise erfüllt ist. Andererseits gilt, dass SD F transitiv ist wegen SD F F + F SD [SD D F + D SD F + D F F + F D] Erste 1NF und verfahren und Das heisst, (R, F ) ist nicht in BCNF. 6.46

47 en (8) Die 3NF und BCNF kann man auch folgendermassen charakterisieren. Theorem Sei R = (R, F). Dann gilt: (i) R ist in 3NF ( X R)( A R, A NSA)[X A F + A X = X R F + ] (ii) R ist in BCNF ( X R)( A R)[X A F + A X = X R F + ] (i) heisst in Worten, dass für jede nichtriviale FD X A mit A ist ein NSA X ein Superkey von R ist. (ii) heisst in Worten, dass für jede nichtriviale FD X A X ein Superkey von R ist. Erste 1NF und verfahren und 6.47

48 Prüfen der 3NF und BCNF Die Frage ist, ob es effiziente Tests gibt um zu prüfen, ob eine Rlation in 3NF oder BCNF ist Der folgende Algorithmus prüft die 3NF Algorithmus: TEST-3NF(R, F) input: R { = (R, F) true falls R in 3NF output: false sonst Methode: G BASIS(F) for all g G do if FD-MEMBERSHIP(F, L g, R) = false then if R g ist NSA then return false end if end if end for return true Erste 1NF und verfahren und 6.48

49 Prüfen der 3NF und BCNF (2) Wir wollen die Komplexität des Algorithmus betrachten. Die Berechnung von BASIS und FD MEMBERSHIP sind beide polynomial. Leider kann nicht effizient berechnet werden ob ein Attribut prim ist oder nicht. Theorem Sei R = (R, F). Dann ist das Problem zu entscheiden, ob ein A R prim ist, NP-vollständig. Aus diesem Satz kann durch polynomiale Reduktion gezeigt werden: Theorem Sei R = (R, F). Dann ist das Problem zu entscheiden, ob R in 3NF ist, NP-vollständig. Erste 1NF und verfahren und 6.49

50 Prüfen der 3NF und BCNF (3) Zum prüfen ob eine Relation in BCNF ist, kann der folgende Algorithmus verwendet werden: Algorithmus: TEST-BCNF(R, F) input: R { = (R, F) true falls R in BCNF output: false sonst Methode: G BASIS(F) for all g G do if FD-MEMBERSHIP(F, L g, R) = false then return false end if end for return true Erste 1NF und verfahren und 6.50

51 Prüfen der 3NF und BCNF (4) Wir wollen die Komplexität des Algorithmus betrachten. Die Berechnung von BASIS und FD MEMBERSHIP sind beide polynomial. Da jetzt wir jetzt nicht eintscheiden müssen ob ein Attribut prim ist oder nicht ist der Algorithmus polynomial. Theorem Sei R = (R, F). Dann ist das Problem zu entscheiden, ob R in BCNF ist, in polynomialer Zeit lösbar. Erste 1NF und verfahren und 6.51

52 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.52

53 Entwurf durch normalisieren Wir wollen nun zeigen, wie mann zu einem normalisierten Datenbankschema kommt. Wir betrachten dies zuerst an unserem Beispiel Wir betrachten unser Beispiel: R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } F = {LT A, O D, L O} Nun ersetzen wir dieses Schema durch folgendes Datenbankschema: D = {R 1, R 2, R 3 } mit R 1 = ({(L)NR, (T )BEZ, (A)NZ }, {LT A}) R 2 = ({(L)NR, (O)RT }, {L O}) R 3 = ({(O)RT, (D)IST }, {O D}) Erste 1NF und verfahren und 6.53

54 Entwurf durch normalisieren (2) Im vorherigen Beispiel fällt auf, dass R und D eng verwandt sind. Beide Schemata enthalten dieselben Attributte sowie dieselben. Ferner sind R 1, R 2 und R 3 in BCNF. Die nächste Abbildung zeigt die Projection der urspünglichen Tabelle auf die drei neuen Schemata. r 1 (R 1 ) (L)NR (T)BEZ (A)NZ 1 T T T T T T T T T T5 350 r 2 (R 2 ) (L)NR (O)RT 1 London 2 Paris 3 Paris 4 Berlin r 3 (R 3 ) (O)RT (D)IST London 1000 Paris 570 Berlin 960 Wir stellen fest, dass die folgende Gleichung gilt: r(r) = r 1 (R 1 ) r 2 (R 2 ) r 3 (R 3 ) Erste 1NF und verfahren und 6.54

55 Entwurf durch normalisieren (3) Wir wollen den obigen Ansatz nun etwas genauer betrachten Ein Datenbankschema D = (R,.) ist in 2NF (bzw. 3NF, BCNF), falls jedes R i R in 2NF (bzw. 3NF, BCNF) ist. Wenn ein Schema zerlegt wird müssen die folgenden Kriterien eingehalten werden: Es dürfen keine Attribute verlorengehen. Die Zerlegung muss unabhängig sein. D.h., alle FDs müssen erhalten bleiben Die Zerlegung muss frei von Informationsverlusten sein. Dies bedeutet anschaulich, dass die Ursprüngliche Universalrelation immer exakt aus dem aktuellen Datenbankzustand rekonstruiert werden kann. Erste 1NF und verfahren und 6.55

56 Unabhängigkeit Unabhängigkeit einer Zerlegung Wir betrachten das Beispiel: R = {(S)tudent, (F )ach, (D)ozent} F = {SF D, D F } Die beiden FD bedeuten, dass ein Student in einem Fach von genau einem Dozenten unterrichtet wird und dass ein Dozent nur ein Fach unterrichtet. Wir ersetzen nun R durch das Datenbankschema D = ({R 1, R 2 }, ) mit R 1 = ({(S)tudent, (D)ozent}, ) R 2 = ({(D)ozent, (F )ach}, {D F }) Bei dieser Zerlegung bleibt die FD D F erhalten. Die FD SF D geht hingegen verloren. Student_BCNF Student Dozent Hans Hans Paul Paul Meier Wyss Meier Bracher Dozent_BCNF Dozent Fach Meier Wyss Bracher Mathematik Physik Physik Wenn wir in der Tabelle Student_BCNF das neue Tupel ( Paul, Wyss ) eintragen, so wird Paul nun im gleichen Fach von zwei verschiedenen Dozenten unterrichtet. Erste 1NF und verfahren und 6.56

57 Verlustfreie Zerlegung Verlustfreie Zerlegung einer Relation Gegeben sei das Relationenschema R = (R, F ) mit: R = {(K )UNDE, KONTO (N)UMMER, (S)ALDO, (Z )WEIGSTELLE} F = {K S, N ZS} Wir betrachten nun die folgende Zerlegung: r(r) (K)UNDE KONTO-(N)UMMER (S)ALDO (Z)WEIGSTELLE Peter Bern Paul Zürich r 1 (R 1 ) KONTO-(N)UMMER (S)ALDO (Z)WEIGSTELLE Bern Zürich r 2 (R 2 ) (K)UNDE (S)ALDO Peter Paul Für die beiden Systeme liefert nun die Anfrage zeige alle Zweigstellen, bei denen Peter ein Konto hat die folgenden Resultate. Ursprüngliche Relation: π Z (σ K = Peter (R)) = {Bern} Zerlegte Relationen: π Z (σ K = Peter (R 1 R 2 )) = {Bern, Z ürich} Der Verbund von r 1 und r 2 ist in diesem Fall also verlustbehaftet. Obschon wir mehr Tupel als Antwort erhalten, erhalten wir weniger Informationen. Erste 1NF und verfahren und 6.57

58 Auf Grund der bisherigen Beobachtungen legen wir jetzt fest: Für eine Attributmenge X und eine FD-Menge F sei die Einschränkung von F auf X definiert durch π X (F ) := {f F attr(f ) X} Es sei R = (U, F) und D = (R,.) mit R i = (R i, F i ) für jedes R i R, 1 i k. (i) D heisst Zerlegung von R, falls gilt: (a) k i=1 R i = U (b) ( i, 1 i k)f + i π Ri (F + ) (ii) Eine Zerlegung D von R heisst (a) verlustlos (bzgl. R) falls gilt: ( r SAT (R)) r = k i=1 π R i (r) (b) unabhängig (bzgl. R) falls gilt: ( k i=1 F i ) + = F + Erste 1NF und verfahren und 6.58

59 (2) Der folgende Satz zeigt, dass eine Relation Schrittweise zerlegt werden kann Er motiviert auch das sverfahren (nächster Algorithmus) Theorem Es sei R = (U, F), U = XYZ. Falls X Y F + gilt, so ist die Zerlegung: D = ({R 1, R 2 }, ) mit R 1 = (XY, π XY (F)) und R 2 = (XZ, π XZ (F )) verlustlos. Wir können nun das sverfahren angeben, das zu einem Universalschema R = (U, F) eine verlustlose Zerlegung erzeugt, die in BCNF ist. Erste 1NF und verfahren und 6.59

60 (3) Algorithmus: Input: Ein Universalschema R = (U, F ) Output: Eine verlustlose BCNF-Zerlegung D = (R,.) von R Methode: R {R} while ( R i R) R i nicht in BCNF d.h. ( Y Z F + i Z Y ) Y R i F + i do R i1 YZ R i2 R i \ Z R i1 (R i1, π Ri1 (F + i )) R i2 (R i2, π Ri2 (F + i )) R (R \ {R i }) {R i1, R i2 } end while Erste 1NF und verfahren und 6.60

61 (4) Das sverfahren Wir betrachten unser Beispiel: R = {(L)NR, (O)RT, (D)IST, (T )BEZ, (A)NZ } F = {LT A, O D, L O} Wir wissen schon, dass R nicht in BCNF ist. 1.Schritt: L O F + L LODTA F + also Zerlegen wir in R 1 = ({LO}, {L O}) und R 2 = ({LDTA}, {LT A, L D}) 2.Schritt: R 1 ist in BCNF, R 2 jedoch nicht wegen L LDTA F + 2. Daher wird R 2 ersetzt durch R 21 = (LD, {L D}) und R 22 = (LTA, {LT A}) Nun ist D = ({R 1, R 21, R 22 },.) in BCNF, jedoch gilt O D (F 1 F 21 F 22 ) +. Erste 1NF und verfahren und Die Zerlegung ist verlustlos aber nicht unabhängig. 6.61

62 (5) Erste 1NF Wenn wir im vorigen Beispiel im ersten Schritt die FD O D wählen so entsteht die Zerlegung R 1 = (LTA, {LT A}) R 2 = (LO, {L O}) R 3 = (OD, {O D}) Diese Zerlegung ist unabhängig. Die ist also nicht eindeutig. und verfahren und 6.62

63 Probleme der Bei der gibt es eine Reihe von Problemen: Die ist nicht eindeutig. Sie hängt davon ab, in welcher Reihenfolge die FDs im Algorithmus gewählt werden. Es gibt Fälle, in denen BCNF und Unabhängigkeit nicht gleichzeitig erreichbar sind. Das Studenten, Fach, Dozenten Beispiel ist ein solcher Fall. Das Problem zu entscheiden, ob zu gegebenem R = (U, F) eine verlustlose und unabhängige BCNF-Zerlegung existiert, ist NP-hart. Ein weiteres Problem der besteht darin, dass stets F + (bzw. F + i ) berechnet werden muss. Diese Berechnung ist aber wie wir schon wissen im allgemeinen nur mit exponentiellem Aufwand durchführbar. Erste 1NF und verfahren und 6.63

64 Die von Relationen in BCNF birgt diverse Probleme Daher schwächt man die Bedingung ab und verlangt nur 3NF Dazu gibt es das verfahren, das eine unabhängige und verlustlose Zerlegung in 3NF liefert. Die Idee ist, dass die linke Seite einer FD eine Entität oder Beziehung darstellt und die rechte Seite die dazugehörigen Eigenschaften. Dies wird benutzt um eine Konzepttrennung im Universum vorzunehmen. Diese Art der Trennung bezeichnet man auch als das one fact in one place -Prinzip des Datenbankentwurfs. Erste 1NF und verfahren und 6.64

65 (2) Algorithmus: Input: R = (U, F ) Output: Eine verlustlose, unabhängige 3NF-Zerlegung D von R Methode: G BASIS(F ) R i 0 for all Y A G do i i + 1 R i Y {A U Y A G} R i (R i, π Ri (G)) R R {R i } end for if ( R i R) R i U G + then i i + 1 R i KEY(U, G) R i (R i, ) R R {R i } end if Erste 1NF und verfahren und 6.65

66 (3) : Bankenbeispiel Wir betrachten wieder das Bankenbeispiel mit der folgenden : R = {(K )UNDE, KONTO (N)UMMER, (S)ALDO, (Z )WEIGSTELLE} F = {K S, N ZS} Die erste for Schlaufe liefert die folgenden Relationen: R 1 = (KS, {K S}) R 2 = (NZS, {N Z, N S}) Da KS R F + und NZS R F + gilt, so wird zur Gewährleistung der Verlustlosigkeit noch das folgende Schema als Datenbankschlüssel hinzugenommen. R 3 = (KN, ) Erste 1NF und verfahren und 6.66

67 (4) : Student, Fach, Dozent Beispiel Wir betrachten das Beispiel mit Studenten, Dozenten und Fächer R = {(S)tudent, (F)ach, (D)ozent} F = {SF D, D F} Der algorithmus wird die beiden Relationen erzeugen. R 1 = (SFD, {SF D, D F }) R 2 = (DF, {D F }) Die zweite Relation ist offensichtlich redundant und kann aus dem Schema entfernt werden. Wie erwartet ist das resultierende Schema nicht in BCNF. Erste 1NF und verfahren und 6.67

68 Outline 1 2 Erste 1NF und verfahren Erste 1NF und verfahren und 7 und 6.68

69 Dozenten Bücher Fächer Beispiel Die folgende Relation enthält Informationen über Kurse, Dozenten und Lehrbücher. Kurs-Dozent-Buch-Tabelle Kurs Dozent Buch Physik Green Einführung Mechanik Physik Green Optik Physik Brown Einführung Mechanik Physik Brown Optik Mathematik Green Einführung Mechanik Mathematik Green Vektoranalyse Mathematik Green Trigonometrie Erste 1NF und verfahren In der Relation exitieren nur triviale FDs Der Schlüssel ist {Kurs, Dozent, Buch} und 6.69

70 (2) Die Relation in unserem Beispiel besitzt nur triviale FDs Sie ist daher in BCNF Man kann aber feststellen, dass trotzdem bestehen Der Kurs bestimmt eine Menge von Dozenten, die den Kurs geben. Der Kurs bestimmt eine Menge von Büchern, die verwendet werden. Zwischen den Dozenten und den Büchern besteht aber keine Beziehung. Man stellt auch fest, dass die Relation Redundanzen enthält Die Relation verletzt die Erste 1NF und verfahren und 6.70

71 (3) Die Beobachtungen aus dem Beispiel formalisieren wir wie folgt. Es sei V eine Attributmenge, X, Y V und Z = V \ X Y. Eine mehrwertige (multivalued dependency, kurz MVD) X Y bezeichnet die folgende semantische Bedingung: Sei r REL(V ) true falls ( t 1, t 2 r)(t 1 (X) = t 2 (X) = (X Y )(r) := ( t 3 r)(t 3 (X) = t 1 (X) t 3 (Y ) = t 1 (Y ) t 3 (Z ) = t 2 (Z ))) false sonst Aus Symmetriegründen folgt sofort, dass wenn r die MVD X Y erfüllt, ein weiteres Tupel t 4 existiert mit: t 4 (X) = t 1 (X) t 4 (Y ) = t 2 (Y ) t 4 (Z ) = t 1 (Z ) Erste 1NF und verfahren und 6.71

72 (4) MVDs Im unserem Beispiel gelten die beiden folgenden MVDs: Kurs Dozent und Kurs Buch Wir betrachten die MVD: Kurs Dozent Wir betrachten die beiden Tupel: t 1 = (Physik, Green, Einf ührungmechanik) und t 2 = (Physik, Brown, Optik) aus der können wir nun schliessen, dass ein Tupel t 3 = (Physik, Green, Optik) in der Relation exitiert. Dies ist aber auch tatsächlich der Fall. Erste 1NF und verfahren und 6.72

73 (5) Die Gültigkeit einer MVD lässt sich auch wie folgt charakterisieren: Theorem Es seien X, Y V, Z := V \ Y. Dann gilt: ( r REL(V ))((X Y ) = true r = π XY (r) π XZ (r)) Erste 1NF Aus der der MVD können wir auch folgern, dass eine FD eine spezielle MVD ist. Theorem Sei V eine Attributmenge und X, Y V dann gilt: X Y = X Y und verfahren und 6.73

74 Vierte Wir wollen definieren, wann eine Relation in ist. Dazu brauchen wir zuerst den Begriff der trivialen MVD Eine MVD X Y über eine Attributmenge U heisst trivial, falls entweder Y X oder X Y = U. Sei R = (U, F M). R ist in vierter () falls für jede von F M implizierte nicht triviale MVD der Form X Y gilt, dass X ein Superschlüssel von R ist. Für en können wir nun folgendes festhalten: = BCNF = 3NF = 2NF Erste 1NF und verfahren und 6.74

75 Vierte (2) Zerlegen von Relationen in In unserem Beispiel gelten die MVDs Kurs Dozent und Kurs Buch. Um diese zu eliminieren wird die Relation nach vorigem Satz in die beiden folgenden Relationen zerlegt R 1 = ({Kurs, Dozent}, {Kurs Dozent}) und R 2 = ({Kurs, Buch}, {Kurs Buch}) Erste 1NF Kurs_Dozent_ Kurs Dozent Physik Physik Mathematik Green Brown Green Kurs_Buch_ Kurs Buch Physik Einführung Mechanik Physik Optik Mathematik Einführung Mechanik Mathematik Vektoranalyse Mathematik Trigonometrie und verfahren Die Relationen R 1 und R 2 enthalten jetzt nur noch triviale MVDs und sind daher in und 6.75

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

5. Relationaler Datenbankentwurf. Relationaler DB-Entwurf: Überblick. Bücher-Relation mit Redundanzen

5. Relationaler Datenbankentwurf. Relationaler DB-Entwurf: Überblick. Bücher-Relation mit Redundanzen 5. Relationaler Datenbankentwurf Relationaler DB-Entwurf: Überblick Funktionale Abhängigkeiten Schema-Eigenschaften Transformationseigenschaften Entwurfsverfahren Mehrwertige Abhängigkeiten Weitere Abhängigkeiten

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Formaler Datenbankentwurf 7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen

Mehr

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien?

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien? 3. Normalform Motivation: Man möchte zusätzlich verhindern, dass Attribute von nicht-primen Attributen funktional abhängig sind. Beispiel: LieferAdr (LNr, LName, LStadt, LLand) 001 Huber München Deutschland

Mehr

7.1.2 Membership-Test - fortgesetzt

7.1.2 Membership-Test - fortgesetzt 7. Formaler Datenbankentwurf 7.1. Funktionale Abhängigkeiten Seite 1 7.1.2 Membership-Test - fortgesetzt Membership-Test: X Y F +? (Attribut-)Hülle X + von X (bzgl. F) X + = {A A V und X A F + }. Membership-Test

Mehr

Normalisierung (Dekomposition)

Normalisierung (Dekomposition) Kapitel 6 Normalisierung (Dekomposition) Aufgabe 6.1 [Hülle] gegeben ist: R = {A, B, C, D, E} und F = {A BC, CD E, AC E, B D, E AB} a) Ein Schlüssel für R = (R, F) ist: {E} b) Weitere Schlüssel sind: {A},

Mehr

Teil VI Relationale Theorie

Teil VI Relationale Theorie Teil VI Relationale Theorie Relationale Theorie 1 Formalisierung 2 Rechnen mit FDs 3 Mehr zu Normalformen 4 Entwurfsverfahren Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 6 1 Lernziele für

Mehr

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05. Vorlesung Datenbanktheorie Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Vorlesung vom Mittwoch, 05. Juli 2006 Letzte Vorlesung: Kurze Bemerkungen zum Armstrong-Kalkül The Chase:

Mehr

S.Müllenbach Datenbanken Informationsanalyse Normalformen- 1. Kurse. Name TNR ...

S.Müllenbach Datenbanken Informationsanalyse Normalformen- 1. Kurse. Name TNR ... S.Müllenbach Datenbanken Informationsanalyse Normalformen 1 Datenbanken Normalformentheorie Anomalien e EinfügeAnomalie Es soll ein neuer eingetragen werden : =, = V, ++ preis = ++ => Dies geht jedoch

Mehr

Relationale Entwurfstheorie (Teil 2)

Relationale Entwurfstheorie (Teil 2) Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken (Teil 2) Dr. Gerd Gröner Wintersemester 2013/14 Gliederung Funktionale Abhängigkeiten Dekomposition der Relationenschemata:

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Zerlegung einer Relation

Zerlegung einer Relation Normalformen Normalisierung Normalformen definieren Qualitätskriterien (Vermeidung der Inkonsistenzen) Redundanz ist oft die Ursache von Schemata Probleme (keine FDs keine Redundanz) Normalisierung: Jede

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 26. IV. 2016 Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte

Mehr

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax funktionale Abhängigkeiten: Syntax < R U F > ein Relationenschema mit R ein Relationensymbol, U eine Menge von Attributen, F eine Menge von funktionalen Abhängigkeiten (über R und U) Eine funktionale Abhängigkeit

Mehr

Rückblick: Relationale Entwurfstheorie

Rückblick: Relationale Entwurfstheorie Rückblick: Relationale Entwurfstheorie Redundanzen führen zu Anomalien beim Einfügen, Löschen und Ändern Gute Relationenschemata vermeiden Redundanzen und damit Anomalien Funktionale Abhängigkeiten zwischen

Mehr

Themenübersicht Relationale Entwurfstheorie. Inhalt

Themenübersicht Relationale Entwurfstheorie. Inhalt Themenübersicht Relationale Entwurfstheorie Datenbanken Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Richtlinien für den relationalen

Mehr

Verfeinerung des relationalen Schemas

Verfeinerung des relationalen Schemas Verfeinerung des relationalen Schemas Ein schlechtes Schema Filmliste Titel Regisseur Kino Telefonnummer Zeit The Hobbit Jackson Cinema City 441111 11:30 The Lord of the Rings3 Jackson Cinema City 441111

Mehr

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? Beispiel: Kunde(KName, KAdr, Kto) Auftrag(KName,

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 12: Relationale Entwurfstheorie Oliver Vornberger Institut für Informatik Universität Osnabrück Funktionale Abhängigkeiten ist funktional abhängig von r, t R : r. = t. r.

Mehr

Relationale Entwurfstheorie. Kapitel 5 201 / 510

Relationale Entwurfstheorie. Kapitel 5 201 / 510 Kapitel 5 Relationale Entwurfstheorie 201 / 510 Relationale Entwurfstheorie Ein schlecht entworfenes Schema führt zu folgenden Anomalien Updateanomalien: bei Änderungen eines Fakts müssen viele Tupel angefaßt

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

Datenbanken Unit 5: Funktionale Abhängigkeit

Datenbanken Unit 5: Funktionale Abhängigkeit Datenbanken Unit 5: Funktionale Abhängigkeit 19 IV 2016 Outline 1 Organisatorisches 2 SQL 3 Funktionale Abhängigkeit 4 Anomalien 5 Datenbank Normalisierung Zerlegung von Relationen Organisatorisches Heute

Mehr

Kapitel DB:VII (Fortsetzung)

Kapitel DB:VII (Fortsetzung) Kapitel DB:VII (Fortsetzung) VII. Entwurfstheorie relationaler Datenbanken Informelle Entwurfskriterien für Relationenschemata Funktionale Abhängigkeiten Normalformen Dekompositionseigenschaften von Relationen

Mehr

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 1 Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2015 Version: 23. Juni

Mehr

Datenbanken Unit 7: Normalisierung ctd.

Datenbanken Unit 7: Normalisierung ctd. Datenbanken Unit 7: Normalisierung ctd. 4. IV. 2017 Outline 1 Organisatorisches 2 SQL 3 Normalisierung ctd Wiederholung 1NF bis 3NF/BCNF Organisatorisches Zweiter Zwischentest in der ersten UE nach den

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 27 III 2017 Outline 1 SQL 2 Überblick Datenbankdesign 3 Anomalien 4 Datenbank Normalisierung Zerlegung von Relationen 5 Normalisierung Erste Normalform Zweite Normalform Dritte

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 1. Zentralübung Harald Lang FAQs Ist der Prüfungtermin schon bekannt? Termin: Mi. 18.02.2015, 08:00 Uhr FAQs Gilt der Bonus auch für die Nachholklausur? Ja. Selbst dann, wenn die

Mehr

8. Tutorübung zu Grundlagen: Datenbanken

8. Tutorübung zu Grundlagen: Datenbanken 8. Tutorübung zu Grundlagen: Datenbanken Chaoran Chen chaoran.chen@in.tum.de 01.12-07.12.2014 Relationale Entwurfstheorie Normalformen 1. Normalform 2. Normalform 3. Normalform Boyce-Codd Normalform (BCNF)

Mehr

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen:

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen: Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2003/2004 Abteilung für Datenbanksysteme 2002 Christian

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Normalisierung II. Ziele

Normalisierung II. Ziele Normalisierung II Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Verlustlosigkeit Abhängigkeitsbewahrung Algo: Dekomposition Algo: Basis Algo: Synthese Lehr- und Forschungseinheit

Mehr

DBS1: Übungsserie Normalformen und relationale Algebra Structured Query Language (SQL)

DBS1: Übungsserie Normalformen und relationale Algebra Structured Query Language (SQL) DBS1: Übungsserie 3 + 4 Normalformen und relationale Algebra Structured Query Language (SQL) Sascha Szott Fachgebiet Informationssysteme Aufgabe 1a: Bestimmung von 2 gegeben: Relation R mit Attributen

Mehr

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 1 Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2016 Version 29. Juni

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1 Wiederholung Relationaler Datenbankentwurf

Mehr

Kapitel DB:VII. VII. Entwurfstheorie relationaler Datenbanken

Kapitel DB:VII. VII. Entwurfstheorie relationaler Datenbanken Kapitel DB:VII VII. Entwurfstheorie relationaler Datenbanken Informelle Entwurfskriterien für Relationenschemata Funktionale Abhängigkeiten Normalformen Dekompositionseigenschaften von Relationen Relationale

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2008/2009 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

Eigenschaften von Datenbanken, insbesondere

Eigenschaften von Datenbanken, insbesondere Eigenschaften von Datenbanken In diesem Abschnitt beschreiben wir wünschenswerte Eigenschaften von Datenbanken, insbesondere Relationenschemata: Normalformen, die auf mathematischen Modellen beruhen und

Mehr

4.1 Relationale DB-Entwurfstheorie, Normalformen

4.1 Relationale DB-Entwurfstheorie, Normalformen 4 Relationaler Datenbankentwurf 4.1 Relationale DB-Entwurfstheorie, Normalformen Vorgaben des Relationalen Datenmodells: Attributwerte von Relationen sind atomar ( 1. Normalform ) Entities und Beziehungen

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2005/2006 Vorlesung: Dr. Matthias Schubert Übungen: Elke

Mehr

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester Informationssysteme Sommersemester 2016 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Normalformen Wiederholung: Normalisierung von Relationen Um Qualitätsprobleme im ursprünglichen

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Relationaler Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra Relationale

Mehr

Wir haben folgende Ausprägung der Relation Studenten:

Wir haben folgende Ausprägung der Relation Studenten: Übungen Aufgabe Wir haben folgende Ausprägung der Relation Studenten: SID Name Email Age Note 2833 Jones jones@scs.ubbcluj.ro 9 9 2877 Smith smith@scs.ubbcluj.ro 2 8 2976 Jones jones@math.ubbcluj.ro 2

Mehr

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 9 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Datenbanksysteme 1 Sommersemester Juni 2006

Datenbanksysteme 1 Sommersemester Juni 2006 Lehrstuhl für Praktische Informatik III Prof. Dr. Carl-Christian Kanne Email: cc@pi3.informatik.uni-mannheim.de Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de

Mehr

Kapitel DB:IV (Fortsetzung)

Kapitel DB:IV (Fortsetzung) Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-46 Relational Design

Mehr

Chapter 3 Das Relationenmodell

Chapter 3 Das Relationenmodell Chapter 3 Lecture Datenbanken 28.02.2014 Berner Fachhochschule Technik und Informatik 3.1 Contents 1 2 3 4 5 3.2 Die Lernziele dieses Kapitels. 1 Begriff des relationalen Datenmodells 2 Kennenlernen der

Mehr

Datenbanksysteme Übungsblatt 1

Datenbanksysteme Übungsblatt 1 Datenbanksysteme Übungsblatt 1 Sommersemester 2003 AIFB Institut für Angewandte Informatik und Formale Beschreibungsverfahren 1 Aufgabe 1a (1/2) Änderungsanomalie: Wenn eine Änderung nicht überall ordnungsgemäß

Mehr

An approximation of Edgar Codd's definition of 3NF:

An approximation of Edgar Codd's definition of 3NF: 4 Datenbank-Entwurf Informationssysteme für Ingenieure Herbstsemester 2016 4-2 Normalisierung An approximation of Edgar Codd's definition of 3NF: Every non-key attribute must provide a fact about the key,

Mehr

2. Logischer DB-Entwurf

2. Logischer DB-Entwurf 2. Logischer DB-Entwurf Vorgehensweisen beim Entwurf eines relationalen Schemas - Normalisierung - Synthese Definitionen und Begriffe - Funktionale Abhängigkeiten, Schlüssel - Bestimmung funktionaler Abhängigkeiten

Mehr

Kapitel 11. Normalisierung

Kapitel 11. Normalisierung Kapitel 11 Normalisierung Ziel: Ziel und Idee der Normalisierung Anpassen an die Erfordernisse des Relationenmodells (1. Normalform) Vermeidung von Redundanz (weitere Normalformen) Keine Fehler (Anomalien)

Mehr

Vorlesung Datenbank-Entwurf Klausur

Vorlesung Datenbank-Entwurf Klausur Dr. Stefan Brass 3. Juli 2002 Institut für Informatik Universität Giessen Vorlesung Datenbank-Entwurf Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien Normalformen Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich Keine Einfüge-, Lösch-, Änderungsanomalien IX-19 Erste und Zweite Normalform Beispiel: (nicht 1. Normalform) vorrat

Mehr

4. Normalisierung von Relationenschemata

4. Normalisierung von Relationenschemata 4. Normalisierung von Relationenschemata Ziel: Vermeidung von Anomalien in Relationenschemata wird erreicht durch systematische Vorgehensweise beim Datenentwurf vom eerm zum Relationalen Modell (s. voriges

Mehr

Czap, Grundlagen betrieblicher IS - 1. Inhalt

Czap, Grundlagen betrieblicher IS - 1. Inhalt Czap, Grundlagen betrieblicher IS - 1 Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf Kap. 3 Datenbankarchitektur Kap. 4 Die Datenbanksprache SQL Kap. 5 Konzepte

Mehr

Grundlagen von Datenbanken SS 2010

Grundlagen von Datenbanken SS 2010 Grundlagen von Datenbanken SS 2010 2. Formalisierung des relationalen Datenmodells Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Das Relationenmodell

Mehr

Das Relationenmodell. Contents. Pierre Fierz. Attribute und Domänen. 1 Attribute und Domänen. Relationenschema, Relation und Tupel

Das Relationenmodell. Contents. Pierre Fierz. Attribute und Domänen. 1 Attribute und Domänen. Relationenschema, Relation und Tupel Contents Chapter 3 Lecture Datenbanken 28022014 1 2 3 4 5 Berner Fachhochschule Technik und Informatik 31 32 Die Lernziele dieses Kapitels Modell 1 Begriff des relationalen Datenmodells 2 Kennenlernen

Mehr

Introduction to Data and Knowledge Engineering. 3. Übung. Funktionale Abhängigkeiten und Normalformen

Introduction to Data and Knowledge Engineering. 3. Übung. Funktionale Abhängigkeiten und Normalformen Introduction to Data and Knowledge Engineering 3. Übung Funktionale Abhängigkeiten und Normalformen Bemerkungen zu Normalformen 1NF 1NF: alle Attribute sind atomar. Bemerkungen: Nur teilweise formal überprüfbar:

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 06.05.2014 Matrikelnr.

Mehr

Grundlagen: Datenbanken WS 15/16

Grundlagen: Datenbanken WS 15/16 Grundlagen: Datenbanken WS 15/16 2. Zentralübung / Wiederholung / Fragestunde Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss. Termine Klausur 24.02.2016,

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: ProfVorl PersNr Name Rang Raum VorlNr Titel SWS 2125 Sokrates C4 226 5041

Mehr

Design Theorie für relationale Datenbanken

Design Theorie für relationale Datenbanken Design Theorie für relationale Datenbanken Design von relationalen Datenbanken alternativen Datenabhängigkeiten Normalisierung Ziel: automatisches Datenbankdesign IX-1 Schlechtes Datenbank Design Frage:

Mehr

Kapitel DB:IV (Fortsetzung)

Kapitel DB:IV (Fortsetzung) Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-45 Relational Design

Mehr

Relationale Datenbanken

Relationale Datenbanken Ramon A. Mata-Toledo, Pauline K. Cushman Relationale Datenbanken Schaum's Repetitorien Übersetzung aus dem Amerikanischen von G&U Technische Dokumentation GmbH Z Die Autoren 9 Vorwort 9 1 Ein Überblick

Mehr

Fuzzy Funktionale Abhängigkeiten (FFD) Julie Orzea Betreuer: Heiko Schepperle

Fuzzy Funktionale Abhängigkeiten (FFD) Julie Orzea Betreuer: Heiko Schepperle Fuzzy Funktionale Abhängigkeiten (FFD) Julie Orzea Betreuer: Heiko Schepperle Fuzzy Funktionale Abhängigkeiten Fuzzy Datenbanken (FFD) Verschiedene (fuzzy) Funktionale Abhängigkeiten Inferenz-Regeln, Schlüssel

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 11 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

Übung Datenbanksysteme I Relationaler Datenbankentwurf. Thorsten Papenbrock

Übung Datenbanksysteme I Relationaler Datenbankentwurf. Thorsten Papenbrock Übung Datenbanksysteme I Relationaler Datenbankentwurf Thorsten Papenbrock Willkommen: Vorstellung 2 Übung: Thorsten Papenbrock Email: thorsten.papenbrock@hpi.uni-potsdam.de Raum: A-1.8 Tutoren: Kathrin

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

Mehr

Seminar: Imperfektion und Datenbanken

Seminar: Imperfektion und Datenbanken Universität Karlsruhe Betreuer: Heiko Schepperle Seminar: Imperfektion und Datenbanken Fuzzy funktionale Abhängigkeiten (FFD) Inhaltsverzeichnis I) EINFÜHRUNG ZU FUZZY DATENBANKEN... 3 1) MOTIVATION...

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 03.12.2015 Matrikelnr.

Mehr

Logischer DB-Entwurf. Prof. Dr. T. Kudraß 1

Logischer DB-Entwurf. Prof. Dr. T. Kudraß 1 Logischer DB-Entwurf Prof. Dr. T. Kudraß 1 Ziel: Entwurf eines relationalen DB-Schemas Theoretische Grundlage für den Entwurf eines guten relationalen DB-Schemas (Normalisierungslehre, Entwurfstheorie)

Mehr

Programmierung und Datenbanken II

Programmierung und Datenbanken II Programmierung und Datenbanken II Wiederholung Was haben wir bisher getan? Anwendungsbereich analysiert Datenobjekte + Beziehungen identifiziert Modelle erstellt Modellhafte Aufbereitung der Analyse (ERM/SERM)

Mehr

2. Normalisierung von Relationen

2. Normalisierung von Relationen 2. Normalisierung von Relationen Einführung Funktionale Abhängigkeiten Bestimmung von Schlüsselkandidaten Äquivalenzbeziehungen Zerlegung von Relationen zur Beseitigung von Anomalien Korrektheitskriterien

Mehr

Datenbanken (Übung 12)

Datenbanken (Übung 12) Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas

Mehr

5. Normalisierung von Relationen

5. Normalisierung von Relationen 5. Normalisierung von Relationen Einführung Funktionale Abhängigkeiten Bestimmung von Schlüsselkandidaten Äquivalenzbeziehungen Zerlegung von Relationen zur Beseitigung von Anomalien Korrektheitskriterien

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2012/2013 Kapitel 2: Das Relationale

Mehr

Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden?

Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? (QWZXUIVWKHRULHUHODWLRQDOHU 'DWHQEDQNHQ Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? %HLVSLHO.XQGHKName.$GU.WR $XIWUDJ(KName,

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 9 Übung zur Vorlesung Grundlagen: Datenbanken im WS4/5 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws45/grundlagen/

Mehr

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen 4. Normalformen Qualitätsanforderungen an Tabellen Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen 79 Normalisierungsgründe Verständlicheres Datenmodell für Anwender und Entwickler Vermeidung

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Grundlagen der Datenbanken Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Charakterisierung "guter" relationaler Schemata: - jede Relation entspricht genau einer Objektmenge - eventuell unter Einbezug

Mehr

Kapitel 11: Relationale Entwurfstheorie

Kapitel 11: Relationale Entwurfstheorie Kapitel 11: Relationale Entwurfstheorie Ziele: - Charakterisierung "guter" relationaler Schemata - jede Relation entspricht genau einer Objektmenge - eventuell unter Einbezug von N:1- oder 1:1-Relationships

Mehr

Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell)

Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell) In der Regel werden Diskursbereiche durch mehrere Relationen (Tabellen) abgebildet. Ziele: Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell) Vermeiden von Redundanz in Relationen

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann Datenbanksysteme I Übung: Normalformen und Relationale Algebra 29.11.2007 Jana Bauckmann Organisatorisches 2 Zur Abgabe: Eine Aufgabe pro Blatt sonst -1Punkt Namen auf jedes Blatt sonst -1Punkt Übungstermine

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE B 22.06.2012 Matrikelnr. Familienname

Mehr

Lösungen der Übungsaufgaben von Kapitel 12

Lösungen der Übungsaufgaben von Kapitel 12 Lösungen der Übungsaufgaben von Kapitel 12 1. Betrachten Sie wieder unsere Telefondatenbank aus dem Abschnitt 5.6 des 5. Kapitels. Ich modelliere unsere Tabelle PERSONTELEFON jetzt folgendermaßen: Hier

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 8 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

4.2.2.2 Funktionale Abhängigkeiten

4.2.2.2 Funktionale Abhängigkeiten Funktionale Abhängigkeiten 4.2.2.2 Funktionale Abhängigkeiten 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Spezielle Formen von FDs Ist die linke Seite einer FD nicht mehr verkleinerbar (reduzierbar),

Mehr