Datenbanksysteme I. FB Automatisierung und Informatik: Datenbanksysteme I

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

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

Tag 4 Inhaltsverzeichnis

Übungen Teil 2: Normalisierung und ER-Modell. Dozent: Stefan Maihack Dipl. Ing. (FH)

4. Normalisierung von Relationenschemata

Prof. Dr. Rolf Lauser

Tag 4 Inhaltsverzeichnis

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Theorie zur Übung 8 Datenbanken

Aufgabe 1) Übung 4: 1.2

1. Ziel des Datenbankentwurfs

7. Übung - Datenbanken

10. Datenbank Design 1

Kapitel 3: Datenbanksysteme

Wenn man eine Datenbank erstellen will, braucht es eine genaue Analyse der Situation, damit klar wird, wie die Datenbank aufgebaut werden muss.

Datenbanken: Relationales Datenbankmodell RDM

Datenbanksysteme Übungsblatt 1

Kapitel 06 Normalisierung von Relationen. 6 Die Normalisierung von Relationen

4. Datenbanksprache SQL

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Themen. M. Duffner: Datenbanksysteme

Logischer Entwurf von Datenbanken

Einführung in Datenbanksysteme. H. Wünsch

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Einführung Datenbanken: Normalisierung

D a t e n b a n k e n

MySQL Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

SQL structured query language

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

3. Prinzipien und Nutzung von relationalen Datenbanksystemen

Normalisierung. Dipl.-Ing. Jörg Höppner

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Inhaltsverzeichnis. Inhalt. Inhaltsverzeichnis...3 Vorwort...4 Grundlagen...5. Die Datenbanksprache SQL in verschiedenen Systemen...

Design Theorie für relationale Datenbanken

Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor. Datenbanken und SQL

Wirtschaftsinformatik - 1.Tutorium im WS 11/12

Institut für Informatik

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Normalformen. Datenmodellierung, Datenbanksysteme. Ingo Claÿen, Martin Kempa, Peter Morcinek. Hochschule für Technik und Wirtschaft Berlin

Einführung in Datenbanken

Datenbanksysteme I, SS 2004

Software-Engineering Einführung

OpenOffice - Base G. Laner 1

Entwurf und Verarbeitung relationaler Datenbanken

Der Tabellenname wird in Grossbuchstaben geschrieben.

Vorlesung Datenbank-Entwurf Klausur

3. Übungszettel (Musterlösung)

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

4 Grundlagen der Datenbankentwicklung

Datenbanken 6: Normalisierung

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Relationale Entwurfstheorie. Kapitel / 510

Kapitel 3: Datenbanksysteme


Einführung in Access by sebastian-engert.de

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

BERUFSPRAKTIKUM UND -VORBEREITUNG

3. Übungsblatt (Testatwoche: Mai 2010) Einführung in Datenbanksysteme Datenbanken für die Bioinformatik

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

-02- Arbeitsunterlagen

- Gewinnung neuer Informationen durch Berechnungen - Einsatz graphischer Mittel zur Präsentation / Visualisierung von Datenreihen

Datenbankmodelle 2. Das relationale Modell

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Übungen Teil 1: Normalisierung. Dozent: Stefan Maihack Dipl. Ing. (FH)

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

ICT Power-User und Supporter SIZ 2010 Modul 432: Datenbank mit Access Tanja Bossert, Andrea Weikert. 1. Ausgabe, November 2011

Klausur Datenbanksysteme, Lösungen

Vorlesung Datenbanken I Endklausur

Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung:

Inhaltsverzeichnis. 1. Fragestellung

Entwurf von Datenbanken

3. Das Relationale Datenmodell

Daten Bank. 5. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Normalformen: Sinn und Zweck

Arbeitsplan III. Schlüssel und Transformation. Name: Tenbusch Klasse: Datum: Blatt Nr.: 1 / 7 lfd. Nr.:

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Datenbanken und Datenbankmanagementsysteme

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Informatik II Datenorganisation Datenbanken

Datenbanksysteme I, SS 2004

Rückblick: Datenbankentwurf

Logische Modellierung von Data Warehouses

1. DATENBANKDESIGN RELATIONALES DATENBANKMODELL

Aufgabe 1: Kanonische Überdeckung

Einführung Datenbank

Abfragen in Access. Die einfache Auswahlabfrage aus einer einzigen Tabelle

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Datenorganisation: (Daten)Datei versus Datenbank

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Wirtschaftsinformatik (PWIN) Übung 5. Wirtschaftsinformatik (PWIN), SS 2010, Professur für Mobile Business & Multilateral Security 1

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Microsoft Access 2010 SQL nutzen

105.3 SQL-Datenverwaltung

Introduction to Data and Knowledge Engineering Tutorium 2. August 18, 2010 KE TUD TL 1

Transkript:

Datenbanksysteme I Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum.0 Tel. 09 / 659 8

Inhalt. Grundlegende Begriffe der Datenbanktechnologie. Datenbankentwurf / Datenmodelle. ER-Modell / ER-Diagramm. SQL-Sprache 5. Normalisierung 6. SQL-Erweiterungen

Normalisierungsprozess Definition : Der Normalierungsprozess bezweckt die redundanzfreie Speicherung von Informationen innerhalb einer Datenbank. Dies geschieht durch die Aufteilung und Umgruppierung der Attribute innerhalb der Tabellen. Definition : Die redundanzfreie Speicherung bedeutet, dass kein Teil eines Datenbestandes weggelassen werden kann, ohne dass es zu Informationsverlusten führt. Die redundanzfreie Speicherung verringert den Speicherplatz einer Datenbank und verhindert Mutationsanomalien.

Beispiel PNr Name Vorname Automarke Typ Müller Herbert Opel Astra 5 Meier Hans Toyota Yaris 56 Schmid Petra Porsche 9 Müller Herbert Seat Leon Herr Müller besitzt zwei Autos besitzt, zweimal in der Tabelle Redundant gespeichert. Bei Änderungen müssen beide Datensätze verändert werden. Falls diese Änderung nur einmal vorgenommen wird, entsteht eine Mutationsanomalie, damit ist eine Datenkonsistenz nicht gewährleistet.

Abhängigkeiten Innerhalb einer Tabelle unterscheidet man drei Abhängigkeiten. Funktionale Abhängigkeit Volle Abhängigkeit Transitive Abhängigkeit Diese Abhängigkeiten beziehen sich immer auf die Attribute innerhalb einer Tabelle. 5

Funktionale Abhängigkeiten Definition : Ein Attribut bzw. eine Attributkombination B ist dann von einem Attribut oder einer Attributkombination A funktional abhängig, wenn zu einem bestimmten Attributwert von A genau ein Attributeswert von B gehört. Aus dem Attributwert von A ergibt sich also eindeutig der Attributwert von B. Definition : Ein Attribut B ist funktional abhängig von Attribut A, wenn zu einem bestimmten Wert von A höchstens ein Wert von B möglich ist. F: A B Einfache Schreibweise A B bzw. R.A R.B. 6

Beispiel In der Tabelle Personen (#PNr, Name, PLZ, Ort, Tel) ist das Attribut Name funktional voll abhängig vom Attribut PNr. Jeder Name mit einer bestimmten Personalnummer verknüpft ist. Es ist aber nicht möglich, die Telefonnummer aus dem Namen zu bestimmen, wenn mehrere Personen die gleiche Telefonnumer haben. 7

Volle Abhängigkeiten Definition 5: Ein Attribut bzw. eine Attributkombination B ist dann von einem Attribut oder einer Attributkombination A voll abhängig, wenn B nur von A, nicht jedoch schon von einem Teil der Attributkombination funktional abhängig ist. Definition 6: Bei einem zusammengesetzten Identifikationsschlüssel ist ein Attribut B von dem Identifikationsschlüssel voll abhängig, wenn B von der gesamten Attributskombination, nicht bereits von Teilen der Attributskombination, funktional abhängig ist. A = { A, A, A,..., An } A A R. A R. B i R. A i a R. B i 8

. Beispiel: Relation TELEFON(#Name, #Vorname, Telefon): Name Meier Meier Müller Schmidt Vorname Franz Erhard Josef Erhard Telefon 77 9 9 Im obigen Beispiel ist die Telefonnummer funktional abhängig von Primärschlüssel Name,Vorname. Aus den Schlüssel kann eindeutig auf die Telefonnummer geschlossen werden. Dies gilt aber nicht im umgekehrten Fall, da die Telefonnummer 9 doppelt vergeben wurde. Telefon = f( Name, Vorname ) Falsch ist folgende Aussage: Name = f( Telefon ) 9

. Beispiel: In der Tabelle Verkauf (#KNr, #ANr, Kaufdatum, Name) ist das Kaufdatum voll abhängig vom ID-Schlüssel (KNr, ANr), weil das Kaufdatum weder vom Attribut KNr noch vom Attribut ANr funktional abhängig ist. Das Attribut Name ist nicht voll vom ID-Schlüssel abhängig, denn der Name gehört zur Kundennummer. 0

Transitive Abhängigkeiten Definition 7: Ein Attribut bzw. eine Attributkombination C ist von einem Attribut oder einer Attributkombination A transitiv abhängig, wenn das Attribut B von A und das Attribut C von B funktional abhängig ist, aber nicht von C funktional abhängig ist. Es gilt: A B B C Dann gilt: A C

. Beispiel: In der Tabelle Personen (#PNr, AbtNr, Abteilung) ist das Attribut Abteilung vom Attribut PNr transitiv abhängig, weil Abteilung von AbtNr und AbtNr von PNr funktional abhängig ist. PNr ist aber nicht von der Abteilugsbezeichnung abhängig. es gilt: Abteilung AbtNr AbtNr PNr dann folgt daraus Abteilung PNr

. Beispiel: Relation MITARBEITER(#Personalnummer, Name, Vorname, Abteilung): PersonalNr Name Vorname Abteilung 65 Meier Franz 7 697 Meier Erhard 5 70 Müller Josef 5 es gilt: Name PNr PNr Abteilung dann folgt daraus Name Abteilung

Erste Normalform Definition 9: Eine Relation ist in erster Normalform, wenn die den Tupeltyp bildenden Attribute Datenprimitiva einfachen Datentyps sind. Bei dieser Begriffsbestimmung wird die Einteilung der Datentypen verwendet, wie sie beispielsweise in der Programmiersprache Java, C++ und PASCAL verwendet wird. Definition 0: Ein einfacher Datentyp ist durch einen Wertebereich charakterisiert, dessen Werte elementar sind, in dem Sinne, dass sie nicht weiter zerlegt werden können.

. Beispiel:. Normalform Relation TEMPERATUR(#Ort, #Tag, Temperatur): Ort Halle Wernigerode Tag 0-JAN-000 0-JAN-000 Temperatur 07 Uhr 5 Diese Beispielrelation verstößt gegen die erste Normalform, da die Werte des Attributs Temperatur nicht elementar, bzw. atomar sind. 5

Mögliche korrekte Variante Ort Tag Uhrzeit Temperatur Halle 0-JAN-000 07 Halle 0-JAN-000 Halle 0-JAN-000 5 Wernigerode 0-JAN-000 7 Wernigerode 0-JAN-000 Wernigerode 0-JAN-000 6

. Beispiel:. Normalform Beispiel einer Autoverkaufsfirma Alle Autos sollen mit Marke, Typ und Seriennummer eingetragen werden. Alle Verkäufer und alle Kunden sollen erfasst werden. Ein Kunden muss aber mindestens ein Auto gekauft haben, bevor er in der Datenbank erfasst werden kann. Kunde Adresse Marke Typ Seriennr Verkäufer Datum Meier Planetenweg 7 VW Opel Golf Astra 56 5678 Schmid Peter.0.00 07.08. 00 Müller Altstadt VW Golf 887 Frey 7.06. 00 Steffen Gartenstr. 7 VW Polo 5 Schmid 5.07. 00 Steffen Augasse Audi A8 5 Frey.. 00 Opel Vectra 5 Schenk 7

. Beispiel:. Normalform Bemerkungen: Der Opel Vectra wurde noch nicht verkauft, muss Zwecks aber Inventur in der Liste stehen. Der Verkäufer Schenk hat zwar noch kein Auto verkauft, sollte aber auch aus ähnlichen Gründen in der Liste erscheinen. Die weitere Frage ist, ob die Kunden Steffen und Meier den selben Vertreter Schmid als Ansprechpartner haben. Oder ob es sich um zwei Personen handelt. Schlussfolgerung: Einführen weitere Attribute (KNr, ANr, VNr): 8

. Beispiel:. Normalform KNr Kunden name Adresse ANr Seriennr Automarke Typ Verkäufer VNr Datum Meier Planetenweg 7 VW Golf 56 Schmid.0.00 Meier Planetenweg 7 Opel Astra 5678 Peter 07.08. 00 Müller Altstadt VW Golf 887 Frey 7.06. 00 Steffen Gartenstr. 7 VW Polo 5 Schmid 5.07. 00 Steffen Augasse 5 Audi A8 5 Frey.. 00 6 Opel Vectra 5 Schenk Neu eingefügt wurden Nummern für die Kunden, Autos und Verkäufer. 9

. Beispiel:. Normalform Definition : Eine Tabelle befindet sich in der. Normalform, wenn alle Attribute nur einfache Attributwerte aufweisen, wobei auch Nullwerte zugelassig sind. Weitere Bemerkungen: Es sind immer noch Redundanzen in der Tabelle. Die Namen bzw. Adressen von Meier und Steffen sind doppelt. Ebenso erscheint der Verkäufer Schmid mehrfach. Des Weiteren existieren in der Tabelle Gruppen von Attributen, die unabhängig von einander existieren können. Zum Beispiel sind die Autoattribute unabhängig vom Kunden. 0

Zweite Normalform Die zweite Normalform betrifft nur Tabellen mit einer Kombination von Attributen für den ID-Schlüssel. Als Kriterium für zweite Normalform gilt, dass alle nicht zum ID-Schlüssel gehörigen Attribute einer Tabelle vom ganzen ID-Schlüssel und nicht nur von einzelnen Attributen davon funktional abhängig sein müssen. Definition : Eine Relation liegt in zweiten Normalform vor, wenn sie sich in ersten Normalform befindet und wenn für die Menge A der Attribute der Identifikationsschlüsselattribute gilt: R.A R.B wobei die Menge B alle Nichtschlüsselattribute umfasst.

Zweite Normalform Definition : Eine Tabelle befindet sich in der zweiten Normalform, wenn sie schon in der ersten Normalform ist und jedes nicht zum ID- Schlüssel gehörende Attribut voll vom ID-Schlüssel abhängig ist. Es können sich also nur Tabellen mit zusammengesetzten ID- Schlüsseln in der zweiten Normalform befinden.

. Beispiel:. Normalform KNr Kundenname Adresse ANr Automarke Typ Seriennr Meier Müller Steffen Steffen Planetenweg 7 Altstadt Gartenstr. 7 Augasse 5 VW Opel VW VW Audi Golf Astra Golf Polo A8 56 5678 887 5 5 6 Opel Vectra 5 KNr ANr VNr Verkäufer Datum Schmid.0. 00 Peter 07.08. 00 Frey 7.06. 00 Schmid 5.07. 00 5 Frey.. 00

#Verkaufsnr KNr ANr VNr Verkäufer Datum Schmid.0. 00 Peter 07.08. 00 Frey 7.06. 00 Schmid 5.07. 00 5 5 Frey.. 00 Datenbankschreibweise: Kunden(#KNr, Kundenname, Adresse) Autos(#ANr, Automarke, Seriennumer) Verkäufe(#KNr, #ANr, Datum, VNr, Verkäufer) Für die zweite Normalform sind nur Tabellen mit zusammengesetzten Schlüssel zu betrachten. Dieses wäre die Tabelle Verkäufe. Die Attribute Datum, VNr, Verkäufer sind voll vom zusammgesetzten ID-Schlüssel abhängen. Somit befindet sich diese Tabelle mindestens in der zweiten Normalform.

Frage Ist der Datenbestand komplett erhalten geblieben? 5

. Beispiel:. Normalform Relation LAGER(#Lager, Adresse, Teil, Menge): Lager Adresse Teil Menge Hubergasse 0 5 Krugstraße 0 0 Waagegasse 0 0 0 Brunnen-straße 0 0 In dieser Relation sind für das Lager zwei Adressen angegeben (Datenanomalie). Weiterhin gehen durch das Löschen, z.b. des Teils 0, aus dem Lager auch die anderen Daten über das Lager, z.b. die Adresse verloren. Die Nichtschlüsselattribute, z.b. Menge, sind nicht voll funktional abhängig vom Identifikationsschlüssel. 6

. Beispiel:. Normalform: Änderung Ausweg bietet die Bildung von zwei Relationen: Relation LAGER(#Lager, Adresse): Relation MENGE(#Lager, #Teil, Menge): Lager Adresse Hubergasse Krugstraße Brunnen- straße Lager Teil 0 0 0 0 Menge 5 0 0 0 7

Dritte Normalform Definition : Bei der dritten Normalform werden nun auch die Abhängigkeiten der nicht zum ID-Schlüssel einer Tabelle gehörenden Attribute untereinander untersucht. Dabei gilt, dass kein Nichtschlüssel- Attribut von einem anderen Nichtschlüssel-Attribut funktionell abhängig sein darf. Definition 5: Eine Relation ist in dritten Normalform, wenn sie sich in ersten Normalform befindet und kein Nichtschlüsselattribut transitiv abhängig ist vom Identifikationsschlüssel. Eine Relation in dritten Normalform befindet sich automatisch auch in zweiten Normalform. 8

. Beispiel:. Normalform Für das Auto-Beispiel gilt, dass die Tabelle Auto und Kunden sich in der dritten Normalform befinden. Für die Tabelle Verkäufe gilt das nicht. Hier kann man aus der Verkäufernummer auf den Verkäufernamen schließen. Die Verkäufernummer ihrerseits ist aber vom ID-Schlüssel KNR, ANr funktional abhängig. Somit besteht eine transitive Abhängigkeit zwischen dem ID- Schlüssel KNR, ANr und dem Attribut Verkäufer. Die Tabelle muss weiter aufgespalten werden. 9

alt #Verkaufsnr KNr ANr VNr Verkäufer Datum Schmid.0. 00 Peter 07.08. 00 Frey 7.06. 00 Schmid 5.07. 00 5 5 Frey.. 00 neu KNr ANr Datum VNr VNr Verkäufer.0. 00 Schmid 07.08. 00 Peter 7.06. 00 Frey 5.07. 00 Schenk 5.. 00 0

. Beispiel:. Normalform Datenbankschreibeweise: Verkäufe (#KNr, #ANr, Datum, VNr) Verkäufer (#VNr, Verkäufer) Tabellen, welche sich in der dritten Normalform befinden, werden als normalisiert bezeichnet. Die dargestellten Informationen sind redundanzfrei.