Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)
|
|
- Klemens Pfeiffer
- vor 7 Jahren
- Abrufe
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 Ziel: Vermeidung von Anomalien in Relationenschemata wird erreicht durch systematische Vorgehensweise beim Datenentwurf vom eerm zum Relationalen Modell (s. voriges
MehrKapitel 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)
Mehrd.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
MehrRü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
MehrDas 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
MehrEigenschaften 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
MehrDieser 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,
MehrRelationale 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:
MehrE-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 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
Mehr3. 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
MehrD1: 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
MehrRü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
MehrRü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
MehrInformatik 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
Mehr3. 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
MehrDatenbanken 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
MehrER-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
MehrKapitel 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:
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1 Wiederholung Relationaler Datenbankentwurf
MehrTU 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)
MehrDatenmanagement Ü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
MehrDatenbanken 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
MehrProgrammierung 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)
MehrEntwurf 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
MehrNormalformen. 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
MehrNormalisierung 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
MehrDatenmodelle 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
MehrARIS 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
Mehr3. 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
MehrKapitel 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
Mehr9. 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
MehrGrundlagen 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
MehrRelationale 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
MehrRelationaler 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
MehrUniversitä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
MehrDatenbanksysteme 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.
MehrHandout 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
MehrDatenbanksysteme 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,
MehrZerlegung 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
Mehrkonzeptionelles 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
MehrKapitel 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
MehrGrundlagen 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
MehrKapitel 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
MehrKapitel 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
MehrAbhä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
MehrErstellen 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
MehrKapitel 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
Mehrfunktionale 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
MehrKapitel 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:
Mehr10. 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
MehrGruppe 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
MehrLö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
MehrKapitel 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
Mehr5. 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
MehrDatenbanken 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
MehrDatenbanken 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)
MehrKapitel 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:
MehrInformationssysteme. 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
MehrKapitel 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:
MehrDatenbanksysteme Ü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äß
MehrVorlesung 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
MehrCzap, 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
MehrFolien 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
MehrDieser 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,
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrKapitel 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
MehrFinalklausur 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
Mehr1. 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
Mehr7.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
MehrDatenbanken. 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
MehrAufgabe 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.
Mehr4. 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
MehrKapitel 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
MehrTag 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
MehrKapitel 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.
Mehr3. 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
MehrEntwurfstheorie 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,
MehrDatenbanken. 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
MehrSoftware-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
MehrKonzeptueller Entwurf
Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen
MehrDatenbanken: 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
MehrProfilunterricht 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
MehrMengenvergleiche: 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
MehrDesign 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:
MehrKapitel 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
Mehr9. 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);
MehrKapitel 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:
MehrVorlesung 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
MehrRelationale 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
MehrNormalformen: 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-
MehrGrundlagen 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
MehrRelationales 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
MehrTheorie 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:
MehrTag 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
MehrDatenbanksysteme 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
Mehr8. 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)
MehrGrundlagen: 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