Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)

Größe: px
Ab Seite anzeigen:

Download "Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)"

Transkript

1 Rückblick: Datenbank-Entwurfsprozess Semantische Datenmodellierung (vgl. Kapitel 2) Überführung des semantischen Datenmodells in das relationale Modell (vgl. Kapitel 3) Das relationale Modell wird in eine normalisierte Form gebracht. 1

2 Normalisierung von relationalen Datenbanken Anomalien: Datenbanken ändern ihren Zustand ständig durch Einfügen, Ändern oder Löschen von Tupeln. Wie wir im 1. Kapitel gesehen haben, sind Inkonsistenzen von Datenbanken, also Zustände, die die Realität nicht richtig wiedergeben, unerwünscht. So führen z.b. Redundanzen häufig zu Inkonsistenzen. Nur bei den genannten Zustandsänderungen können nicht gewünschte Zustände entstehen, die man mit dem Begriff Anomalie bezeichnet. Hingegen braucht das Lesen (also Informieren) nicht im Bezug auf Anomalien betrachtet werden, da Leseoperationen den Datenbank-Zustand nicht verändern. Normalisierung: Die Normalisierung ist ein Vorgehen, das auf vorhandene relationale Datenbanken angewendet werden kann. Das Verfahren garantiert angewendet auf Relationen im Ergebnis eine Menge von Relationen mit der gleichen Semantik wie zu vor, die jedoch normalisiert sind. Die Menge der Relationen nimmt durch den Normalisierungsprozess zu. Mit der Kenntnis der Normalisierung und durch den Prozess der guten Modellierung können Anomalien zu einem großen Teil bereits beim Entstehungsprozess des Datenmodells vermieden werden. Insofern empfiehlt es sich, den Datenmodellierungs-Prozess richtig zu durchlaufen. 2

3 Anomalien (Beispiel): Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Die Einfüge-Anomalie beschreibt eine Anomalie, die auftritt, wenn ein Tupel eingefügt wird. Was passiert, wenn ein neuer Verkaufsmarkt eingefügt werden soll, für den noch keine Produkte existieren? Was passiert, wenn ein neues Produkt erzeugt wird, das noch auf keinem Markt existiert? 3

4 Anomalien (Beispiel): Töpferprodukt Markt Beispiel: Einfügen des Produktes (33033, Schüssel, Gebrauch) in die Tabelle ohne zugehörigen Markt: Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach Schüssel Gebrauch????????? Problematik (Einfüge-Anomalie): Die neue (letzte) Zeile ist nicht vollständig. Der Teilschlüssel Verkaufsmarkt erhält keinen Wert (nicht zulässig). Angenommen es existiert noch kein Markt, aber sehr viele Produkte: Der benötigte Speicher ist etwa doppelt so hoch wie die Menge der Daten. 4

5 Anomalien (Beispiel): Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Die Änderungs-Anomalie beschreibt eine Anomalie, die auftritt, wenn ein Tupel geändert wird. Was passiert, wenn der Marktstandort eines Verkaufsmarktes (z.b. Odenwälder Töpfermarkt) geändert werden soll? Was passiert, wenn die Funktion eines Produktes (z.b von Deko zu Gebrauch) geändert werden soll? 5

6 Anomalien (Beispiel): Töpferprodukt Markt Beispiel: Ändern des Produktes mit Nummer 20131: Funktion ist jetzt Gebrauch Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Problematik (Änderungs-Anomalie): Die zu ändernde Information ist redundant gespeichert, weil jedes Produkt so häufig vorkommt wie es auf Märkten existiert. Obwohl nur eine Änderung in der Realität durchgeführt werden soll, sind hier mehrere (3) Änderungen vorzunehmen. 6

7 Anomalien (Beispiel): Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Die Lösch-Anomalie beschreibt eine Anomalie, die auftritt, wenn ein Tupel gelöscht wird. Was passiert, wenn ein Produkt gelöscht wird? Was passiert, wenn ein Produkt gelöscht wird, das das einzige (aktuelle) auf einem Markt ist? Was passiert, wenn ein Markt gelöscht wird? Was passiert, wenn ein Markt gelöscht wird, auf dem ein Produkt angeboten wird, das auf keinem anderen angeboten wird? 7

8 Anomalien (Beispiel): Töpferprodukt Markt Beispiel: Löschen des Produktes mit Nummer gelöschte Zeilen Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Problematik (Lösch-Anomalie): Nur ein Produkt soll gelöscht werden, aber 3 Zeilen müssen dafür wegfallen. Obwohl nur ein Produkt zu löschen ist, wird ein Markt (Rheinischer Tonmarkt) komplett verschwinden, weil dieses Produkt das einzige auf dem Markt war. 8

9 Ursachen der Anomalien Die Ursache von Anomalien liegt in der Redundanz der Daten. Sobald ein Faktum mehrfach (also redundant) gespeichert ist, läuft man Gefahr, bei Änderungen (Löschungen, Einfügungen) Fehler zu machen. Die Tatsache, dass man ein Faktum mehrfach abspeichert (bzw. wie in dem Beispiel abspeichern muss), liegt darin begründet, dass die Relationen ungünstig gewählt werden. So erscheint es bei näherer Betrachtung unsinnig, dass man Produkte und Märkte in einer Relation unterbringt. Das Erkennen von ungünstigen Relationen sollte nicht nur intuitiv erfolgen. Das Konzept der funktionalen Abhängigkeit ermöglicht es, systematisch solche Relationen zu finden. 9

10 Funktionale Abhängigkeit Funktion zwischen einer Menge A und B: Abbildung einer Menge A auf eine Menge B, für die gilt: Für alle a A gibt es genau ein b B. Funktionale Abhängigkeit: Eine Menge B von Attributen B1, B2, Bn ist funktional abhängig von einer Menge A von Attributen A1, A2, An, wenn eine Funktion zwischen A und B besteht, d. h. für alle {a1,a2, an} A gibt es genau ein {b1, b2, bn } B. Mit anderen Worten: In einer Relation ist Attribut(-kombination) B ist funktional abhängig von Attribut(-kombination) A, wenn für gleiche A-Werte jeweils gleiche B-Werte vorhanden sind. Darstellung: A B bedeutet: B hängt funktional von A ab, wobei A und B jeweils ein(e) Attribut(-menge) ist. 10

11 Funktionale Abhängigkeit (Beispiel): A B C Mögliche Aussagen: A B gilt aktuell. Jedoch könnte zu einem anderen Zeitpunkt eine Zeile (1, 3, 3) eingefügt werden, so dass A B nicht mehr gelten würde. B C gilt nicht, da es für den gleichen B-Wert (2) verschiedene C-Werte (3 und 2) gibt. C B gilt aktuell. Jedoch könnte zu einem anderen Zeitpunkt eine Zeile (1, 3, 2) eingefügt werden, so dass C B nicht mehr gelten würde. A, B C gilt nicht, weil es für eine gleiche A,B-Kombination (1, 2) zwei verschiedene C- Werte (3 und 2) gibt. A A gilt immer (trivial). Der Primärschlüssel einer Relation kann über die funktionale Abhängigkeit wie folgt spezifiziert werden: Ein Attribut (oder eine Kombination von Attributen) K heißt Schlüssel einer Relation, wenn für alle Attribute X aus der Relation gilt: K X. Zusätzlich muss gelten, dass keine echte Teilmenge von K diese Bedingung erfüllt (Minimalitätsbedingung). Die funktionale Abhängigkeit wird aktiv definiert (so wie der Schlüssel), d.h. es wird vor Eintragung von Tupeln festgelegt, welche funktionale Abhängigkeiten gelten und anschließend wird bei jedem Eintrag geprüft, ob diese eingehalten werden kann. Falls nicht, wird der Eintrag nicht akzeptiert. 11

12 1. Normalform (1NF) Ein Relationenschema ist in 1. Normalform (1NF), wenn alle Attribute des Schemas elementar (atomar) sind. Dies bedeutet, dass für die Attribute nur einfache, unstrukturierte Attribute erlaubt sind. Listenartige, mengenwertige oder relationenartige Attribute sind nicht erlaubt. Erlaubte Datentypen: integer, real, string (=char(), =varchar()), enum. Nicht erlaubte Datentypen: array, record, list. Nicht erlaubte Datentypen sind ohne Probleme in erlaubte zu überführen: Ein record ist selbst als Relation der record-elemente zu definieren. Ein array oder eine Liste kann durch eine Einführung einer Relation, die über den Schlüssel der Ursprungsrelation verbunden wird, zu erreichen. 12

13 1. Normalform (Beispiel) Lehrbücher ISBN Titel Autor UML Distilled Fowler Kendall Refactoring Fowler Datenbanken Heuer Saake Nicht-atomare Attributwerte sind verboten! Das Attribut Autor erlaubt pro Tupel (also pro Lehrbuch) für die 1NF nur einen Autor. Jedoch sind mehr Autoren pro Buch in der Realität erwünscht. Es ist nicht erlaubt, etwa den Attribut-Typ array () of string zu wählen, da sonst die 1NF-Eigenschaft verletzt wird. 13

14 1. Normalform (Beispiel) Lehrbücher ISBN Titel UML Distilled Refactoring Datenbanken Buchautoren ISBN Autor Fowler Kendall Fowler Heuer Saake Die Lösung liegt in der Ausgliederung des Attributs, das array-artig war. Ein neues Relationenschema wird erzeugt, in der dieses Attribut zusammen mit dem Primärschlüssel aufgenommen wird. Beide Attribute zusammen bilden den Primärschlüssel des neuen Relationenschemas. Der Schlüssel des ursprünglichen Relationenschemas wird in dem neuen Relationenschema Fremdschlüssel. Haben mehrere Autoren an einem Buch mitgeschrieben, so werden für solche Bücher mehrere Zeilen in der neuen Relation aufgenommen. 14

15 1. Normalform (Aufgabe) Gegeben sei das folgende Relationenschema: ProfName Weber Karczewski Vorlesung , Programmieren 1, 6 SWS , Datenbanken, 4 SWS , Datenbanken, 4 SWS 1. Ist dieses Relationenschema in 1. Normalform? Erläutern Sie hierzu kurz die Inhalte des o.a. Schemas. 2. Wenn nicht: Erstellen Sie 1NF-Schemata mit gleicher Semantik. 3. Nachdem Sie die Inhalte identifiziert und die Schamta normalisiert haben: Erstellen Sie ein EERM, das den Sachverhalt ausdrückt. 15

16 2. Normalform (2NF) Ein Relationenschema ist in 2. Normalform (2NF), wenn es in 1. Normalform ist und jedes Nichtschlüsselattribut voll funktional von jedem Schlüssel abhängt (und nicht nur von einem Teil des Schlüssels) Abhängigkeiten von einem Teilschlüssel führen zu Anomalien. Es gilt: Besteht der Schlüssel nur aus einem Attribut und 1NF ist gegeben, dann liegt stets 2NF vor, weil Teilschlüssel-Abhängigkeit nicht möglich ist. 16

17 2. Normalform (Beispiel) Gegeben sei das Anfangsbeispiel Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Tee-Service Gebrauch Internat. Tonmarkt Strasbourg Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg Schale Deko Rheinischer Tonmarkt Mainz Schale Deko Odenwälder Töpfermarkt Erbach Schale Deko Internat. Tonmarkt Strasbourg Krug Deko Internat. Tonmarkt Strasbourg Krug Deko Odenwälder Töpfermarkt Erbach 80 Bei einem komplexen Relationenschema sollte man zunächst analysieren, welche Inhalte dargestellt werden. Man muss die Sicht der Anwendung (des Kunden) annehmen, um die Schemata anschließend richtig (normalisiert) zu formen. Dieser Prozess des Re-Engineering funktioniert nur über das Verstehen, was gemeint war. Folgende Schritte eignen sich, um zum Ergebnis zu gelangen: 17

18 2. Normalform (Beispiel) 1. Schritt: Identifizieren der funktionalen Abhängigkeiten: Man erkennt, dass in diesem Schema zwei voneinander unabhängige Entitäten abgebildet sind: Produkte und Märkte. Produkte besitzen eine Nummer, eine Art und eine Funktion. Märkte besitzen einen Namen (Verkaufsmarkt) und einen Standort. Der marktspezifische Preis bezieht sich auf Produkt und Markt gleichermaßen. Hieraus ergeben sich folgende funktionalen Abhängigkeiten: Prod-Nr Produktart; Produktart Funktion; Verkaufsmarkt Marktstandort; Prod-Nr, Verkaufsmarkt marktspez. Preis 2. Schritt: Überprüfen auf die Normalformen 1NF ist gegeben, denn jedes Attribut ist atomar (elementar, keine Listen oder Records). 2NF ist nicht gegeben, denn es gibt einige Attribute, die nicht vom ganzen Schlüssel (voll) funktional abhängen, sondern nur von einem Teil, z.b. Produktart und Funktion hängen nur von Prod-Nr, nicht von Verkaufsmarkt ab, Marktstandort hängt nur von Verkaufsmarkt, nicht von Prod-Nr ab. 18

19 2. Normalform (Beispiel) 3. Schritt: Auflösen der Teilabhängigkeiten durch Aufteilen des Relationenschemas Das Relationenschema muss so aufgetrennt werden, dass die gefundenen Teilabhängigkeiten (2. Schritt) nicht mehr auftreten können. Wir definieren ein Schema mit den vom Teilschlüssel Prod-Nr abhängigen Attributen, ein zweites mit den von Verkaufsmarkt abhängigen Attributen und ein drittes mit den von beiden Teilschlüsseln abhängigen Attributen. Also: Ursprungsschema: Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Normalisierte Schemata (2NF): Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort TöpferproduktMarkt Prod-Nr. Verkaufsmarkt Marktspez. Preis 19

20 2. Normalform (Beispiel) 4. Schritt: Überprüfen auf die Verbindungen zwischen den neuen Relationenschemata, so dass gewährleistet ist, dass die Informationen im ursprünglichen Relationenschema noch vorhanden sind. In diesem Schritt muss untersucht werden, dass kein neues Schema isoliert ohne Verbindung zum Rest der Schemata exisitert. Ggfs. muss eine solche Verbindung nachträglich hergestellt werden. Im Beispiel ist in jedem Schema wenigstens eines der beiden Schlüsselattribute des Ursprungsschemas vorhanden. Es ist nur noch dafür zu sorgen, dass entsprechende Fremdschlüssel eingeführt werden. Die Produkt-Nr. in TöpferproduktMarkt wird Fremdschlüssel zur Produkt-Nr. in Töpferprodukt und der Verkaufsmarkt in TöpferproduktMarkt wird Fremdschlüssel zu Verkaufsmarkt in Markt. Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort TöpferproduktMarkt Prod-Nr. Verkaufsmarkt Marktspez. Preis 20

21 2. Normalform (Beispiel) Folgende Regeln müssen bei diesem Vorgehen zur Normalisierung beachtet werden: Funktionale Abhängigkeiten dürfen bei der Aufteilung in verschiedene Relationenschemata nicht zerlegt werden, d.h. es muss nach der Aufteilung jedes Attribut einer funktionalen Abhängigkeit des Ursprungsschemas in einer der zerteilten Schemata komplett vorhanden sein, also müssen z.b. die Attribute Prod-Nr. und Funktion in einem Schema sein, weil sie gemeinsam in der funktionalen Abhängigkeit Prod-Nr. Funktion vorkommen. Der ursprüngliche Schlüssel des Relationenschemas muss in einem der zerteilten Schemata komplett vorkommen. Der Schlüssel darf also nicht selbst zerteilt werden. Man spricht hier von Verbundtreue. Bei Verletzung der Verbundtreue entstehen isolierte Schemata bei der Zerteilung. Im Beispiel ist in dem Schema TöpferproduktMarkt der ursprüngliche Schlüssel vorhanden (Prod-Nr., Verkaufsmarkt ). 21

22 2. Normalform (Beispiel Verlust der Verbundtreue) Ursprungsschema: Töpferprodukt Markt (ohne das Attribut Markspez. Preis ) Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Mit dem Attribut Marktspez. Preis entfällt auch die funktionale Abhängigkeit Prod-Nr., Verkaufsmarkt Marktspez.Preis Normalisierte Schemata (2NF): Töpferprodukt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort TöpferproduktMarkt Prod-Nr. Verkaufsmarkt Marktspez. Preis 22 Das Schema TöpferproduktMarkt wird nicht mehr benötigt wegen der verlorenen funktionalen Abhängigkeit. Der ursprüngliche Schlüssel ist nicht mehr komplett in einem Schema vorhanden. Die Schemata Töpferprodukt und Markt sind nicht mehr miteinander verbunden. Man kann also nicht mehr abbilden, welches Produkt auf welchem Markt angeboten wird.

23 2. Normalform (Beispiel) Alternativ kann man das Reengineering auch so gestalten, dass man aus dem Ursprungsschema versucht ein EERM zu entwickeln, das den Sachverhalt wiedergibt. In unserem Beispiel kann man vermuten, dass es Produkte gibt, die auf Märkten verkauft werden. Produkt (0,*) (1,*) 1 Markt Produkt (Prod-Nr., Produktart, Funktion) Markt (Verkaufsmarkt, Standort) wirdangebotenauf (Marktspez. Preis) Das EERM wird nach den gelernten Regeln (Kap. 3) überführt in ein relationales Datenmodell. Produkt Markt Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort wirdangebotenauf Prod-Nr. Verkaufsmarkt Marktspez. Preis 23

24 2. Normalform (Aufgabe) Gegeben sei das folgende abstrakte Relationenschema, das nicht in 2NF ist. A B C D E F Schlüssel ist A,B. Es gelten: A,B C; A D; B E; B F Überführen Sie das 2NF-Schema in Schemata, die in 2NF sind. 24

25 3. Normalform (3NF) Ein Relationenschema ist in 3. Normalform (3NF), wenn es in 2. Normalform ist (und somit auch in 1. Normalform) und wenn kein Nichtschlüssel-Attribut transitiv von einem Schlüssel abhängt bzw. alle Nichtschlüssel-Attribute direkt vom Schlüssel abhängen. Indirekte Abhängigkeiten vom Schlüssel über Nichtschlüssel-Attribute führen zu Anomalien. Transitive Abhängigkeiten sind Abhängigkeiten über andere Attribute, also z.b. C hängt transitiv von A ab, wenn es ein B gibt, so dass gilt: A B und B C. 25

26 3. Normalform (Beispiel) Gegeben sei vom Anfangsbeispiel die Relation Töpferprodukt Prod-Nr. Produktart Funktion Tee-Service Gebrauch Kaffee-Service Gebrauch Schale Deko Schale Deko Schale Deko Krug Deko Krug Deko Auch hier (wie bei 2NF) kann man systematisch die 3. Normalform herstellen. 26

27 3. Normalform (Beispiel) 1. Schritt: Identifizieren der funktionalen Abhängigkeiten: Prod-Nr. Produktart; Produktart Funktion ergibt sich aus der bereits bei 2NF vorgenommenen Analyse. 2. Überprüfen auf die Normalformen 1NF ist gegeben, denn jedes Attribut ist atomar (elementar, keine Listen oder Records). 2NF ist gegeben, denn es gibt keine Attribute, die nur von einem Teil des Schlüssels abhängen. Dies ist in diesem Beispiel nicht möglich, da der Schlüssel nur aus einem Attribut besteht. 3NF ist nicht gegeben, da Funktion transitiv von dem Schlüssel Prod-Nr. abhängt. 27

28 3. Normalform (Beispiel) 3. Schritt: Auflösen der transitiven Abhängigkeit(en) Das Relationenschema muss so aufgetrennt werden, dass die gefundene(n) transitive Abhängigkeit(en) (2. Schritt) nicht mehr auftreten können. Wir definieren ein zusätzliches Relationenschema mit dem Attribut, über das die Transitivität entsteht (Produktart ) und dem Attribut, das transitiv vom Schlüssel abhängt (Funktion ). Ersteres wird Schlüssel des neuen Relationenschemas. Das ursprüngliche Relationenschema wird reduziert um das transitiv abhängige Attribut. Das die Transitivität auslösende Attribut wird Fremdschlüssel zu dem neuen Schema. Also: Ursprungsschema: Töpferprodukt Prod-Nr. Produktart Funktion Normalisierte Schemata (3NF): Töpferprodukt ProduktFunktion Prod-Nr. Produktart Produktart Funktion 4. Überprüfung: Keines der Schemta ist isoliert (also nicht erreichbar). 28

29 3. Normalform (Beispiel) Gesamtlösung für das Anfangsmodell Töpferprodukt Markt (nicht normalisiert) Prod-Nr. Produktart Funktion Verkaufsmarkt Marktstandort Marktspez. Preis Normalisierte Schemata (3NF): Töpferprodukt Prod-Nr. Produktart Markt Verkaufsmarkt Marktstandort ProduktFunktion Produktart Funktion TöpferproduktMarkt Prod-Nr. Verkaufsmarkt Marktspez. Preis 29

30 3. Normalform (Aufgabe) Ein Lieferant (L) liefert Teile (T) in einer bestimmten Anzahl (A). Die Teile sind zu liefern an einen Ort (O) des Kunden, der eine Entfernung in Kilometern (K) vom Standort des Lieferanten entfernt ist. LTAOK LNR TNR Anzahl Ort KM-Entf T1 55 Darmstadt T1 44 Darmstadt T2 33 Darmstadt T1 22 Frankfurt 42 Fragen: Welche funktionalen Abhängigkeiten ergeben sich aus dem Text? Ist das Relationenschema in 3NF? Wenn nein: Zerlegen Sie das Schema so, dass anschließend ausschließlich 3NF-Schemata vorhanden sind. Alternative Vorgehensweise: Erstellen Sie ein ER-Diagramm, das den gleichen Sachverhalt ausdrückt und entwickeln Sie daraus Relationenschemata. 30

31 Normalformen (Kritik und praktische Relevanz) Es gibt noch weitere Normalformen (4., 5., Boyce-Codd, konjunktive, Projektion-Verbund), die jedoch in der Praxis weniger relevant sind. Kritik an der Normalisierung wird mitunter geübt. Es wird behauptet: Normalisierung erfordert mehr Speicherplatz. Diese Aussage ist falsch, auch wenn mehr Relationen benötigt werden. Diese sind jedoch kleiner. Normalisierte Relationen sind umständlicher zu handhaben, weil man die Inhalte über so viele Tabellen verteilt. Diese Aussage ist falsch, da es gute Konzepte gibt (z.b. Views), die es ermöglichen, dem Anwender eine einfache Handhabung mit der Menge der Tabellen zu ermöglichen. Normalisierte Tabellen reduzieren die Laufzeit-Performance, da man häufiger einen Vebund zwischen vielen Tabellen vornehmen muss. Dies Aussage ist korrekt, so dass man nach kompletter Normalisierung mitunter eine gezielte Denormalisierung vornimmt, bei der diejenigen Relationen, für die die negativen Auswirkungen der Nicht-Normalisierung (nahezu) ausgeschlossen werden können, wieder zusammengefasst werden. 31 In der Regel wird heute die 3. Normalform verwendet, um die Anomalien zu vermeiden. Bei zu hohem Performance-Verlust, der auf die Normalisierung zurückzuführen ist, wird in seltenen Fällen denormalisiert. Bei Neu-Entwicklungen von Datenbanken versucht man, die Anomalien dadurch zu vermeiden, dass man ein gutes EERM entwirft, bevor man die Relationenschemata erstellt.

32 3. Normalform (Aufgabe) Die folgenden Attribute seien alle in einem Relationenschema zusammengefasst: Kontonummer (K), PLZ (P), Ort (O), Filialnummer (F), Bankname (N), Bankleitzahl (L). Die Attribute hängen folgendermaßen voneinander ab. Durch die Bankleitzahl wird der Bankname festgelegt. Die Postleitzahl legt den Ort fest. Die Filialnummer und die Kontonummer hängen vom Banknamen ab. 1. Zeichnen Sie alle funktionalen Abhängigkeiten auf. Benutzen Sie dabei die Buchstaben in Klammern. 2. Ermitteln Sie den Schlüssel zu dem Relationenschema 3. Begründen Sie, warum das Relationenschema nicht in 2. und nicht in 3. Normalform ist. 4. Zerlegen Sie das Relationenschema in Relationenschemata so, dass diese alle in 3. Normalform sind. 32

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

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

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

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

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

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

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

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

E-R-Modell zu Relationenschema

E-R-Modell zu Relationenschema Raum: LF 230 Nächste Sitzung: 27./30. Oktober 2003 Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/teaching/lectures/dbp_ws03/index.html E-R-Modell zu Relationenschema Als zweiter

Mehr

-08- Arbeitsunterlagen

-08- Arbeitsunterlagen -08- Arbeitsunterlagen DVT LK13.1 2014/2015 Normalformen Lehrkraft: Kurs: 0 Was ist Normalisierung? Überführung komplexer Beziehungen (Tabellen) in einfache Beziehungen durch Aufteilung der Attribute einer

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

D1: Relationale Datenstrukturen (14)

D1: Relationale Datenstrukturen (14) D1: Relationale Datenstrukturen (14) Die Schüler entwickeln ein Verständnis dafür, dass zum Verwalten größerer Datenmengen die bisherigen Werkzeuge nicht ausreichen. Dabei erlernen sie die Grundbegriffe

Mehr

Rückblick: Datenbankentwurf

Rückblick: Datenbankentwurf Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände

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

Informatik 10 Mar Datenbanken: RDM Normalisierung April 2014

Informatik 10 Mar Datenbanken: RDM Normalisierung April 2014 Normalisierung Eine Datenbank gilt als konsistent, wenn sie bestimmten Kriterien, den sog. Integritätsbedingungen genügt. Die Integritätsbedingungen sollen also dafür sorgen, dass keine unkorrekten Daten

Mehr

3. Relationales Modell

3. Relationales Modell 3. Relationales Modell entwickelt von Codd (1970) beruht auf dem mathematischen Begriff der Relation, den man anschaulich mit dem der Begriff Tabelle vergleichen kann alle Informationen sind in Relationen

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

ER-Modell, Normalisierung

ER-Modell, Normalisierung ER-Modell Mit dem Entity-Relationship-Modell kann die grundlegende Tabellen- und Beziehungsstruktur einer Datenbank strukturiert entworfen und visualisiert werden. Das fertige ER-Modell kann dann ganz

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

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

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

Datenmanagement Übung 5

Datenmanagement Übung 5 Datenmanagement Übung 5 Normalisierung (1.-3. NF) AUFGABE 1 1 Definitionen 1. NF Eine Relation befindet sich in 1. NF, wenn jeder Attributwert atomar ist und alle Nicht-Schlüsselattribute funktional vom

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

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

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

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

Normalisierung I. Ziele

Normalisierung I. Ziele Normalisierung I Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Formale Ermittlung von Schlüsselkandidaten Funktionale Abhängigkeiten Normalformen Lehr- und Forschungseinheit Datenbanken

Mehr

Datenmodelle und Datenbanken 2

Datenmodelle und Datenbanken 2 Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C2: Relationenbildung und Normalisierung Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können den

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

Grundlagen zu Datenbanken zu Beginn der Jgst. 13

Grundlagen zu Datenbanken zu Beginn der Jgst. 13 Grundlagen zu Datenbanken zu Beginn der Jgst. 13 Bereits bei der Planung einer Datenbank muss der Datenbankentwickler darauf achten, Nachteile für das spätere System zu vermeiden. Die Strukturen müssen

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

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

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Aufgabe 1: ER-Modellierung 1. Siehe Unterstreichungen in

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

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke Handout zur Unit Web-Technologien 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 3 Indizes und Normalisierung Stefan Maihack Dipl. Ing. (FH) Datum: 01.11.2005 1 MySQL - Normalisierung Durch die Normalisierung von Tabellen soll folgendes erreicht werden Redundanzfreie,

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

konzeptionelles DB-Design

konzeptionelles DB-Design konzeptionelles DB-Design was ist das? Systemunabhängige Darstellung des Datenmodells Was ist bei allen möglichen Datenbanksystemen gleich --> Systemtheorie Informationen über Objekte (Dinge) mit Attributen

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

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

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

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

Abhängigkeiten und Normalisierung

Abhängigkeiten und Normalisierung Abhängigkeiten und Abhängigkeiten als Ursachen für Inkonsistenzen Der sprozess Normalformen (1NF, 2NF, 3NF) Seite 1 Abhängigkeiten Funktionale Abhängigkeit Ein Attribut bzw. eine Attributkombination A

Mehr

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung Vermeiden von Redundanzen Skalierbarkeit Vermeidung von Anomalien Szenario Rechnung Pizza Taxi Brechstr. 12 Rechnung: Datum: 30.05.2008

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

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

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

10. Datenbank Design 1

10. Datenbank Design 1 1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation

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

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

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

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Datenbanken 1. Kapitel 3: Relationenmodell WURDE_VERKAUFT INTEGER PRODNR. <pk,fk1> <pk,fk2> PRODNR = PRODNR SHOPID = SHOPID SHOPID INTEGER INTEGER

Datenbanken 1. Kapitel 3: Relationenmodell WURDE_VERKAUFT INTEGER PRODNR. <pk,fk1> <pk,fk2> PRODNR = PRODNR SHOPID = SHOPID SHOPID INTEGER INTEGER Datenbanken 1 Kapitel 3: Relationenmodell WURDE_VERKAUFT PRODNR = PRODNR PRODNR SHOPID ANZAHL INTEGER INTEGER INTEGER SHOPID = SHOPID PRODUKT SHOP PRODNR BEZEICHNUNG PREIS INTEGER VARCHAR2(20)

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 2014 Kapitel 3: Datenbanksysteme Vorlesung:

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

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 Wintersemester 2006/2007 Kapitel 2: Das Relationale Modell Vorlesung:

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

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

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

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 3: Modellierung von betrieblichen Informationssystemen

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 3: Modellierung von betrieblichen Informationssystemen Folien zum Textbuch Kapitel 2: Planung, Entwicklung und Betrieb von IS Teil 3: Modellierung von betrieblichen Informationssystemen Textbuch-Seiten 185-208 WI Planung, Entwicklung und Betrieb von IS IS-Modellierung

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

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Kapitel 06 Normalisierung von Relationen. 6 Die Normalisierung von Relationen

Kapitel 06 Normalisierung von Relationen. 6 Die Normalisierung von Relationen Kapitel 06 Normalisierung von Relationen 6 Die Normalisierung von Relationen 6 Die Normalisierung von Relationen...1 6.1 Die Problemstellung...4 6.2 Die unnormalisierte Form...5 6.3 Die 1. Normalform...7

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

1. Tabellen-Beziehungen

1. Tabellen-Beziehungen 1. Tabellen-Beziehungen Ein relationales DBMS wie MS ACCESS verteilt, wie in vorherigen Kapiteln gezeigt, die Daten auf verschiedene Tabellen. Trotz dieser sinnvollen und notwendigen Trennung der Daten

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

Datenbanken. Relationales Modell:

Datenbanken. Relationales Modell: Relationales Modell: beruht auf dem mathematischen Konzept der Relation wurde von Edgar F. Codd 1970 bereits entwickelt Alle relevanten Informationen der Datenbank sind in diesem Datenbank-Modell in Relationen

Mehr

Aufgabe 1) Übung 4: 1.2

Aufgabe 1) Übung 4: 1.2 Übung 4: Aufgabe 1) 1.2 Relation: Eine Relation besteht aus Attributen und Tupeln. Sie wird üblicherweise mit Hilfe einer Tabelle beschrieben, welche in zweidimensionaler Anordnung die Datenelemente erfasst.

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

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

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

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Kapitel 1: Wiederholungsfragen Grundlagen DBS Grundlagen DBS 1. Welche zentralen Anforderungen an ein DBS definierte Edgar Codd? 2. Was ist eine Transaktion? 3. Welche Eigenschaften muss das DBMS bei der Transaktionsverarbeitung sicherstellen? 4.

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

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

Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)

Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2) Rückblick: Datenbank-Entwurfsprozess Semantische Datenmodellierung (vgl. Kapitel 2) Überführung des semantischen Datenmodells in das relationale Modell (vgl. Kapitel 3) Das relationale Modell wird in eine

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

Profilunterricht Modul: Modellierung (IT & Medien) Normalisierung. Tobias Liebing 1

Profilunterricht Modul: Modellierung (IT & Medien) Normalisierung. Tobias Liebing 1 Profilunterricht Modul: Modellierung (IT & Medien) Normalisierung Tobias Liebing 1 Ablauf 1. Wiederholung des Stoffes aus der letzten Stunde 2. Normalisierung 3. ER-Modell 4. Datenbank mit Base Tobias

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

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 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

9. Normalformen / Erweiterungen 9.1 Vorbemerkung, Zielsetzung, Inhalt Datenmodellierung und Integritätsaspekte

9. Normalformen / Erweiterungen 9.1 Vorbemerkung, Zielsetzung, Inhalt Datenmodellierung und Integritätsaspekte 9. Normalformen / Erweiterungen 9.1 Vorbemerkung, Zielsetzung, Inhalt Datenmodellierung und Integritätsaspekte Hier betrachtet: Integritätsaspekte beim Entwurf eines relationalen Datenbankschemas (Tabellenentwurf);

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

Vorlesung DBIS I (WS 2005/2006) Teil 4

Vorlesung DBIS I (WS 2005/2006) Teil 4 otivation Das Relationenmodell Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik Humboldt-Universität zu Berlin WS 2005/2006 Ziel des Relationenmodells Hoher Grad an Datenunabhängigkeit

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

Normalformen: Sinn und Zweck

Normalformen: Sinn und Zweck Normalformen: Sinn und Zweck Redundanz und Inkonsistenz vermeiden Anomalien vermeiden Verlustlose Zerlegungen finden Abhängigkeiten bewaren NF2 und NF3 behandeln das Verhältnis zwischen Schlüsselund Nichtschlüssel-

Mehr

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung Grundlagen von Datenbanken B-Bäume, B*-Bäume Normalisierung B-Bäume Definition: Seien k, h ganze Zahlen, h > 0, k > 0. Ein B-Baum B der Klasse τ(k,h) ist entweder ein leerer Baum oder ein geordneter Suchbaum

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Theorie zur Übung 8 Datenbanken

Theorie zur Übung 8 Datenbanken Theorie zur Übung 8 Datenbanken Relationale Datenbanksysteme Ein relationales Datenbanksystem (RDBS) liegt vor, wenn dem DBS ein relationales Datenmodell zugrunde liegt. RDBS speichern Daten in Tabellenform:

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 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

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

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