Studiengang BWL FHDW Vorlesung: Betriebliche Informationssysteme II Datenbanken Teil 2 BI-U2 2. Quartal 2012 Vorlesung: 1 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I Aufbau von Datenbankmanagementsystemen Relationale Datenbanksysteme Normalisierung Entity-Relationship-Diagramme Praxis: Datenbanksystem MySQL SQL-Abfragen mit MySQL Vorlesung: 2 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 2 Aufbau von DatenbankmanagementSystemen Vorlesung: 3 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 3 Beispiele für datenintensive Anwendungen Auftragsabwicklung in einem Unternehmen, Erfassen von Bestellungen, Angeboten, Warenaussendungen, Lagerhaltung Universitätsverwaltung erfasst Studenten, Lehrkräfte, Räume, Vorlesungen, Angestellte Bibliothek: Verwalten von Büchern, verliehenen Büchern, Nutzern Vorlesung: 4 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 4 Datenbanksystem-Generationen 1. 2. 3. 4. 5. 50er J. Dateisystem auf Band, nur sequentieller Zugriff, Batchbetrieb 60er J. Dateisystem auf Platte, Random Access, Dialogbetrieb, Indexdateien, Dateiverwaltungssystem 70er J. Prärelationale Systeme (Netzwerk-, hierarchische Systeme) 80er J. Relationale Systeme 90er J. objektbasierte Systeme Vorlesung: 5 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 5 1. Generation (50er J.) Anwendung 1 – primitive Ein-/Ausgabe... Software Anwendung n – Dateiorganisation 1 Datei 1 ... Datei n Dateiorganisation n anwendungsspezifische Datenorganisation Geräteabhängigkeit der Programme Redundanz, Inkonsistenz der Daten Vorlesung: 6 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 6 50er Jahre: Dateisysteme Daten speichern in einzelne Dateien Dateiorganisation ist anwendungsspezifisch: Öffnen von Dateien zum Lesen und/oder Schreiben Positionieren innerhalb von Dateien auf bestimmte Sätze mit Hilfe von Dateizeigern Lesen von Sätzen aus einer Datei Schreiben von Sätzen in eine Datei Erkennen des Dateiendes Schließen von Dateien. Vorlesung: 7 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 7 Beispiel Dateisystem begin maxgehalt = 0 öffne Datei Personal solange nicht Dateiende lies nächsten Satz falls (Abteilung = 20 und gehalt > maxgehalt) maxgehalt = gehalt schließe Datei Personal gib maxgehalt aus end Vorlesung: 8 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 8 2. Generation (60er J.) Datei(en) 1 Anwendung 1 ... Dateiverwaltungs... mit gemeinsamem system Anwendung n Zugriff Datei(en) n Programmbibliothek teilw. standardisierte Datenorganisation • Dienstprogramme wie z. B. Sortierer • Geräteunabhängigkeit jedoch: Abhängigkeit von Speicherstruktur und Zugriffspfaden • • Vorlesung: 9 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 9 Datenbanksysteme (seit 70er J.) Datenbanksystem (DBS) besteht aus: Datenbankmanagementsystem (DBMS) Software zur Verwaltung von Datenbeständen Schnittstelle zwischen Benutzer und Datenbank, hierzu DB-Sprache, z.B. SQL realisiert Konsistenz und Datenunabhängigkeit Datenbank (DB) integrierter Datenbestand einheitlich gemäß Datenmodell strukturiert Vorlesung: 10 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 10 Aufbau von Datenbanksystemen Anwendungsprogramme Datenbanksystem (DBS) Benutzer, Administratoren Datenbankmanagementsystem (DBMS) Datenbank (DB) Benutzerschnittstelle Betriebssystem Hauptspeicher Sekundärspeicher Vorlesung: 11 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 11 Aufgaben von DBMS Speicherung u. Verwaltung großer Datenbestände Speicherung dauerhaft, frei von Redundanzen, Konsistenzbedingungen genügend Daten vor unberechtigtem Zugriff geschützt Anfragen sowie Aktualisierungen möglich effizienter / schneller Zugriff auf die Daten mehrere Benutzer gleichzeitig aktiv Zugriffe über Netz oder auf mehrere Datenbanken mit Anwendungs-Software koppelbar Vorlesung: 12 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 12 Datenmodelle Hierarchisches Datenmodell IMS (Information Management System) IBM Netzwerkmodell UDS von Siemens Relationales Datenmodell dBase, MySQL, Access, SQL-Server, ... Objektorientiertes Datenmodell teilw. Oracle, O2 von O2 Technology Vorlesung: 13 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 13 Hierarchisches Datenmodell • 1960 entwickelt Baumstruktur mit einem Ausgangselement (Root) • • Jedes Element hat maximal einen Vorgänger (Parent) Jedes Element hat beliebig viele Nachfolger (Children) • Vorlesung: 14 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 14 Beispiel Hierarchisches Modell Vorlesung: 15 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 15 Ausprägung Hierarchisches Modell Vorlesung: 16 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 16 Hierarchisches Modell heute LDAP (Lightweight Directory Access Protocol) organisiert Verzeichnisdienst Verzeichnis- und Dateistrukturen von Betriebssystemen HTML / XML IMS (Information Management System) von IBM Vorlesung: 17 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 17 Netzwerkmodell • • • Ab etwa 1970 fand das hierarchische Datenmodell seine Erweiterung im Netzwerkmodell, das nun auch Querverbindungen zwischen Baumstrukturen zuließ. Jeder Knoten kann mehrere übergeordnete Knoten haben. Jede Netzwerkstruktur lässt sich durch Einführung redundanter Knoten als hierarchische Baumstruktur darstellen. Vorlesung: 18 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 18 Beispiel Netzwerk-Modell Student Wacker Mustermann ss SV vs Vorlesung Java Stochastik Zahlentheorie Vorlesung: 19 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 19 Relationale Datenbanksysteme Vorlesung: 20 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 20 3-Ebenen-Architektur Nach ANSI-SPARC Views, Nutzerzugriffsrechte. Zugriff über DB-Anwendung oder Abfragesprache logische Struktur der DB: Tabellen, Integritätsbedingungen, Prozeduren... Wird vom Admin mittels Abfragesprachen verwaltet physikalische Struktur der DB: Dateien, Ablageort. Wird verwaltet vom DBMS, nicht vom Admin. Ziel: Erfüllung der Codd-Regeln, Trennung DB-Anwendung und Datenbank Vorlesung: 21 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 21 Beispiel 3-Ebenen-Architektur Bundesbahn: externe Ebene Städteverbindungen konzeptionelle Ebene Kursbuch interne Ebene Abbildung auf Dateisystem Personaldatei: externe Ebene Angestellte mit Namen, Wohnorten und Geburtstag konzeptionelle Ebene Geburtstagsliste mit Name, Datum, Alter interne Ebene Abbildung auf Dateisystem Vorlesung: 22 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 22 Datenunabhängigkeit Physische Datenunabhängigkeit: keine Änderung des externen Schemas (auf der externen Ebene) bei Änderung des internen Schemas Logische Datenunabhängigkeit: keine Änderung des externen Schemas bei Änderungen des konzeptionellen Schemas Vorlesung: 23 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 23 Codds 12 Regeln für relationale DBS 1. Informationsregel Daten in Tabellen 2. Zugriffsgarantie Jedes Feld eindeutig adressierbar 3. NULL-Werte unabh. vom Datentyp existiert Wert f. nichtvorh. Daten 4. Metadaten Metadaten in Tabellen 5. Allumfassende Sprache für alle User einheitlich, z. B. DML, DDL, DCL, TCL 6. Datenänderung in Views 7. Mengenorientierte Änderungsoperationen Mengenoperationen nicht nur für Abfragen Vorlesung: 24 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 24 Codds 12 Regeln für relationale DBS 8. Physische Datenunabhängigkeit Anwendungsprogramme unabh. vom Speicherort Logische Datenunabhängigkeit Anwendungsprogramme logisch unabhängig v. Tabellen, ermöglicht durch Views 9. 10. Deklarative Datenintegrität Für Einhaltung der Integritätsregeln sorgt DBMS, nicht Anwendungsprogramm 11. Verteilungsunabhängigkeit Datenbank kann physikalisch auf mehrere Speicherorte verteilt sein. Für Anwendungsprogramme unabhängig. 12. Unterwanderungsverbot Zugriff auf Daten nur über eine relationale Sprache Vorlesung: 25 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 25 Gemeinsame Merkmale RDBMS Erfüllung der Codd-Regeln 3-Ebenen-Architektur standardisierte Datenbanksprache SQL (structured query language) Einbettung von SQL in kommerzielle Programmiersprachen Werkzeuge für interaktive Definition, Anfrage und Darstellung von Daten, Entwurf von Benutzeroberflächen Vorlesung: 26 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 26 Aufbau relationaler Datenbanken Die grundlegende Struktur einer relationalen Datenbank ist die Tabelle. Eine Tabelle ein Objekt, das Daten in Datensätzen (Zeilen) und Feldern (Spalten) speichert. In der Regel besteht eine relationale Datenbank aus mehreren voneinander unabhängigen Tabellen, die über Relationen verknüpft werden. Vorlesung: 27 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 27 Relationale Datenbanktabelle Tabelle id name strasse plz 1 Kiosk Fröhlich Karl-Kraut-Straße 25 20680 Hamburg 2 Café Köstlich Am Hugendubl 14 80100 München 3 Casino am Naschsee Promenade 1-3 30012 Hannover 4 Zugspitzblick Bergweg 84 90405 Hintermwald Zeile ort Feld Spalte Primärschlüssel Vorlesung: 28 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 28 Schlüssel Schlüssel dienen der Beschleunigung von Zugriffen auf die Daten. Nur mit Hilfe von Schlüsseln ist eine relationale Verknüpfung von Tabellen möglich. Schlüssel ermöglichen eine Überwachung von Integritätsregeln. Vorlesung: 29 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 29 Primärschlüssel Der Primärschlüssel ermöglicht die eindeutige Identifizierung eines Datensatzes dadurch, dass sein Wert in einer Tabelle nur ein einziges Mal vorkommt. Er setzt sich aus einem oder mehreren Datenfeldern zusammen. Jede Tabelle sollte einen Primärschlüssel besitzen. Vorlesung: 30 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 30 Fremdschlüssel Ein oder mehrere Tabellenfelder, das auf das Primärschlüsselfeld in einer anderen Tabelle Bezug nehmen. Ein Fremd-schlüssel gibt an, in welcher Beziehung die Tabellen zueinander stehen; die Daten des Fremdschlüssels müssen mit denen der Primärschlüsselfelder übereinstimmen. Vorlesung: 31 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 31 1:n-Beziehung Eine Beziehung zwischen zwei Tabellen, bei der gilt: 1. Der Primärschlüsselwert jedes Datensatzes in der Mastertabelle („1“) entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Detailtabelle. 2. Der Primärschlüsselwert jedes Datensatzes in der Detailtabelle („n“) entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in genau einem Datensatz der Mastertabelle. Vorlesung: 32 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 32 m:n-Beziehung Eine Beziehung zwischen zwei Tabellen, bei der gilt: 1. Der Primärschlüsselwert jedes Datensatzes in der Tabelle M entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Tabelle N. 2. Der Primärschlüsselwert jedes Datensatzes in der Tabelle N entspricht dem Wert des jeweiligen Feldes bzw. der jeweiligen Felder in einem oder mehreren Datensätzen der Tabelle M. Vorlesung: 33 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 33 Relationenmodell Relation ~ Tabelle Tupel ~ Datensatz Attribut ~ Feld Vorlesung: 34 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 34 Normalisierung Vorlesung: 35 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 35 Anomalien KursNr Kurs_Bez Dozent Anrede Vorname Nachname Telefon 2 Englisch I LL Frau Lisa Lustig 563567 15 Algebra HM Herr Hugo Meier 5673456 27 Buchführung SS Frau Susi Sorglos 68723 51 Englisch II LL Frau Lisa Lustig 563567 78 Excel MM Herr Martin Schulze 256254 Löschanomalie Einfügeanomalie Änderungsanomalie Vorlesung: 36 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 36 Anomalien vermeiden Um Anomalien zu vermeiden, wurden – Normalformen, – Entwurfstheorie und – Entwurfsregeln formuliert. Vorlesung: 37 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 37 Normalisierung Normalformen: Regeln des Tabellenentwurfs. Beim Normalisierungsprozess werden die Daten auf mehrere Tabellen verteilt. Ziel ist eine konsistente Datenhaltung ohne Redundanzen ohne Anomalien. Vorlesung: 38 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 38 Normalformen-Historie Ursprünglich wurden 1973 von Edgar F. Codd 3 Normalformen (1NF, 2NF, 3NF) vorgeschlagen. Jede Stufe beinhaltet die vorhergehende 1NF>2NF->3NF 3NF wurde 1974 revidiert -> Boyce-Codd-NF (BCNF) Später weitere (4NF, 5NF) Normalformen, eher weniger bedeutend Weg: Aufspaltung in Relationen Vorlesung: 39 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 39 Normalformen beinhalten einander Vorlesung: 40 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 40 Anforderungen an NF Aufspaltung in Relationen muss verlustfrei geschehen kein Verlust von Informationen keine falschen Informationen kein Verlust an Integritätsbedingungen Vorlesung: 41 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 41 Hinweise zur Normalisierung NF sind Richtlinien für guten DB-Entwurf. Sie sind kein Zwang! Strikte Normalisierung führt zu größerer Anzahl von Relationen Normalisierung nie losgelöst vom konkreten Kontext der DB betreiben! Je weiter normalisiert werden soll, desto größer die Anforderung an das Hintergrundwissen über die Daten Normalisierung nicht immer erforderlich nicht immer machbar (-> Performanz) nicht immer sinnvoll (zu viele Relationen...) Vorlesung: 42 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 42 Erste Normalform Eine Relation ist dann in der ersten Normalform, wenn alle ihre Attribute atomar sind. atomar: Der Wert eines Attributs lässt sich nicht weiter teilen oder muss (für diesen Anwendungsfall) nicht weiter geteilt werden. Mengenwertige Attribute sind verboten. Spalten mit gleichartigem Inhalt müssen zusammengefasst werden. Vorlesung: 43 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 43 Erste Normalform Beispiel Spalten mit gleichartigem Inhalt eliminieren Verboten sind mengenwertige Attribute: Vater Mutter Kinder Johann Martha {Else, Lucia} Johann Maria Heinz {Theo, Josef} Martha {Cleo} Verlangt werden atomare Attribute: Vater Mutter Kind Johann Martha Else Johann Martha Lucia Johann Maria Theo Johann Maria Josef Heinz Martha Cleo Vorlesung: 44 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 44 Funktionale Abhängigkeiten sind eine Form der Integritätsbedingungen. A und B seien Attribute. B ist von A funktional abhängig ( A -> B), genau dann, wenn für jeden Wert von A genau ein Wert von B existiert. Gleiche A-Werte ergeben somit gleiche B-Werte. Sprechweise: B hängt von A ab. (oder: B ist funktional abhängig von A) Die Schlüsselabhängigkeit ist ein Spezialfall von funktionaler Abhängigkeit. Der Wert von B muss jedoch nicht nur einmal in einer Relation vorkommen. Abkürzung: FD (functional dependency) Vorlesung: 45 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 45 Definition funktionale Abhängigkeit [X] ist der Wert von Attribut X im Tupel z.B. Datensatz12[Kundennr]=123 Vorlesung: 46 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 46 Beispiel funktionale Abhängigkeit Mitarbeiter(MitarbeiterID, Nachname, Vorname, AbteilungID, Abteilungsleiter, Unternehmen, Unternehmensanschrift, Berufsgruppe, Gehaltsklasse) Vorlesung: 47 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 47 Ableitung von funkt. Abhängigkeiten A a1 a2 a3 a4 B b1 b1 b2 b1 C c1 c1 c1 c1 Vorlesung: 48 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 48 volle funktionale Abhängigkeit ist voll funktional abhängig von ( =>), falls gilt A : – {A} Ein Attribut ist voll funktional abhängig von einer Attributmenge falls funktional abhängig ist von und nicht funktional abhängig ist von einer echten Teilmenge von . Bsp: Kunde(KundenID, Nachname, PLZ, Ort) KundenID, Nachname PLZ, Ort aber KundenID, Nachname ≠> PLZ, Ort , da KundenID PLZ, Ort Vorlesung: 49 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 49 Schlüssel KundenID Vorname Nachname PLZ Ort 1 Martha Muster 12345 Norddorf 2 Heinz Huber 45678 Weststadt KundenID Vorname, Nachname, PLZ, Ort es gilt auch KundenID →KundenID, damit ist das gesamte Schema auf rechter Seite der FA Wenn linke Seite minimal: Schlüssel Formal: Eine Attributmenge X ist Schlüssel von R, wenn das Relationenschema R voll funktional abhängig von X ist (X => R) und X minimal ist. Gibt es mehrere mögliche Schlüssel, so heißen diese Schlüsselkandidat. Ziel des Datenbankentwurfs: alle gegebenen funktionalen Abhängigkeiten in Schlüsselabhängigkeiten umformen, ohne dabei semantische Information zu verlieren Vorlesung: 50 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 50 Definition Schlüssel Sei R eine Attributmenge, X R. X heißt Schlüssel für Tupelmenge r Rel(R), falls gilt: 1. ( Tupel , r) [X] = [X] = Für alle Tupel der Relation gilt: sind die Schlüsselwerte gleich, so handelt es sich um die gleichen Tupel. 2. für keine echte Teilmenge X‘ X gilt (1) Vorlesung: 51 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 51 Zweite Normalform Ein Attribut heißt Primärattribut, wenn es in mindestens einem Schlüsselkandidaten vorkommt, andernfalls heißt es Nichtprimärattribut. Ein Relationenschema R ist in zweiter Normalform falls gilt: R ist in der ersten Normalform und jedes Nichtprimär-Attribut A R ist voll funktional abhängig von jedem Schlüsselkandidaten. Vorlesung: 52 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 52 Beispiel Studentenbelegung MatrNr VorlNr Name Semester 26120 5001 Fichte 10 27550 5001 Schopenhauer 6 27550 4052 Schopenhauer 6 28106 5041 Carnap 3 28106 5052 Carnap 3 28106 5216 Carnap 3 Schlüsselkandiaten: 28106 5259 Carnap 3 {MatrNr, VorlNr} ... ... ... ... Nichtprimärattribute: {Name, Semester} MatrNr Name Name ist nicht voll funktional abhängig von {MatrNr, VorlNr} VorlNr Semester keine 2. Normalform Vorlesung: 53 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 53 Beispiel Hörsaal Vorlesung Dozent Backen ohne Fett Kant Termin Raum Mo, 10:15 32/102 Selber Atmen Sokrates Mo, 14:15 31/449 Selber Atmen Sokrates Di, 14:15 31/449 Schneller Beten Sokrates Fr, 10:15 31/449 Schlüsselkandidaten: {Vorlesung, Termin} {Dozent, Termin} Es gibt keine Nicht-Primärattribute 2. Normalform {Raum, Termin} Vorlesung: 54 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 54 Beispiel Student MatrNr Name 29555 Feuerbach 6 Matthies 27550 Schopenhauer 6 Matthies 26120 Fichte 4 Kapphan 25403 Jonas 6 Matthies 28106 • Carnap Fachbereich 7 Dekan Weingarten Student in zweiter Normalform aber • Abhängigkeiten zwischen den Nichtprimärattributen: Fachbereich → Dekan Vorlesung: 55 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 55 Transitive Abhängigkeit Gegeben Attributmenge U mit Teilmengen X,Y,Z Z heißt transitiv abhängig von X, falls gilt XZ= Y U : X Y = , Y Z = X Y Z, Y / X Beispiel: MatrNr Fachbereich Dekan Vorlesung: 56 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 56 Dritte Normalform Die Relation R ist in dritter Normalform, wenn gilt: • • R ist in zweiter Normalform Jedes Nichtprimärattribut ist nicht-transitiv abhängig von jedem Schlüsselkandidaten Praktische Anwendung: Attribute, die nicht in unmittelbarer Abhängigkeit zum Primärschlüssel einer Tabelle stehen, müssen in eine eigene Tabelle ausgelagert werden. Vorlesung: 57 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 57 Beispiel 3. Normalform MitarbeiterID ProjektID Aufgabe Anz_Stunden Stundensatz 1 1 Entwicklung 70 50 2 1 Assistenz 30 35 3 2 Entwicklung 45 50 Primärschlüssel ist {MitarbeiterID, ProjektID} 2. Normalform ist erfüllt. Jedoch ist MitarbeiterID → Aufgabe → Stundensatz somit ist die Relation nicht in der 3. Normalform Aufteilung in 2 Tabellen: ProjektMit(MitarbeiterID, ProjektID, AufgabeID, Stunden) Aufgabe(AufgabeID, Bezeichnung, Stundensatz) Vorlesung: 58 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 58 ProfessorenAdr ProfessorenAdr(PersNr, Rang, Name, Straße, PLZ, Ort, Bundesland, Vorwahl, Landesregierung, Raum) Rang Name PersNr Straße PLZ Ort Raum Alle Nichtprimärattribute sind voll funktional abhängig von jedem Schlüsselkandidaten. BLand Landesregierung PersNr {Ort, BLand} Vorwahl Vorlesung: 59 BIS Unit II 2012 Prof. Dr. G. Hellberg Vorwahl Datenbanken I nicht in 3. Normalform 59 Normalformen (einfach) 1. Normalform Jedem Feld einer Tabelle darf höchstens ein Wert zugewiesen werden. 2. Normalform Die Tabelle ist in der 1. Normalform und jedes NichtSchlüsselfeld ist durch den Gesamtschlüssel identifizierbar. 3. Normalform Die Tabelle ist in der 2. Normalform und alle Datenfelder sind nur vom gesamten Schlüssel abhängig und haben keine Abhängigkeiten untereinander. Vorlesung: 60 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 60 The key, the whole key, and nothing but the key, so help me Codd. Der Schlüssel, der gesamte Schlüssel, und nichts als der Schlüssel, so wahr mir Codd helfe. Vorlesung: 61 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 61 Normalisierung-Beispiel Vorlesung: 62 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 62 Bsp: vor Normalisierung KundeI D Nachname Telefon AuftragID Auftragdatum Bearbeiter Abteilung 1 Meier 051112345, 0179222222 200 10.1.12 Mirka Einkauf 2 Müller NULL 201 11.1.12 Mirka Einkauf 3 Schulze 021112345 202 11.1.12 Erik Versand Vorlesung: 63 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 63 Bsp.: erste Normalform Kunde: KundeI D Nachname AuftragID Auftragdatum Bearbeiter Abteilung 1 Meier 200 10.1.12 Mirka Einkauf 2 Müller 201 11.1.12 Mirka Einkauf 3 Schulze 202 11.1.12 Erik Versand Telefon: TelefonID KundeID Telefonnr 100 1 0511-12345 101 1 0179-222222 102 3 0211-12345 Vorlesung: 64 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 64 Bsp.: zweite Normalform Kunde: KundeI D Nachname 1 Meier 2 Müller 3 Schulze Telefon: TelefonID KundeID Telefonnr 100 1 0511-12345 101 1 0179-222222 102 3 0211-12345 Auftrag: AuftragID Auftragdatum Bearbeiter Abteilung KundeID 200 10.1.12 Mirka Einkauf 1 201 11.1.12 Mirka Einkauf 2 202 11.1.12 Erik Versand 3 Vorlesung: 65 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 65 Bsp.: dritte Normalform Kunde: KundeI D Nachname 1 Meier 2 Müller 3 Schulze Telefon: TelefonID KundeID Telefonnr 100 1 0511-12345 101 1 0179-222222 102 3 0211-12345 Auftrag: Bearbeiter: AuftragID Auftragdatum Bearbeiter ID KundeID 200 10.1.12 1000 1 201 11.1.12 1000 2 202 11.1.12 1001 3 BearbeiterI D Bearbeiter Abteilung 1000 Mirka Einkauf 1001 Erik Versand Vorlesung: 66 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 66 ENDE Fragen? Vorlesung: 67 BIS Unit II 2012 Prof. Dr. G. Hellberg Literatur Heuer, A.; Saake, G.: Datenbanken: Konzepte und Sprachen. mitp-Verlag Kemper, A., Eickler, A.: Datenbanksysteme. Oldenbourg Vossen, Gottfried: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme. Oldenbourg Date, Chris J.: An Introduction to Database Systems. Addison Wesley einfachere Einführungen, diese decken den Lehrstoff jedoch nicht vollständig ab: Geisler, Frank: Datenbanken. Grundlagen und Design. mitp Cordts, Sönke: Datenbankkonzepte in der Praxis. Addison Wesley Vorlesung: 68 BIS Unit II 2012 Prof. Dr. G. Hellberg Datenbanken I 68 Quellen Tannenbaum, Andrew, Moderne Betriebssysteme H. Bethge, Vorlesungsskript DB, FHDW R. Walther, Vorlesungsskript BIS, FHDW 2011 G. Hellberg, Vorlesungsskripte BIS, FHDW 2003 G. Hellberg, diverse Vorlesungsskripte Betriebssysteme, FHDW 2000-2011 G. Hellberg, Vorlesungsskripte Netzwerke, FHDW 20002011 G. Hellberg, Vorlesungsskripte Technische Grundlagen, FHDW 2007-2011 Microsoft Whitepapers Diverse Quellen Internet (Wikipedia) Vorlesung: 69 BIS Unit II 2012 Prof. Dr. G. Hellberg