4 Datenbanken MB2015 - HTW Dresdensobe/InfoMB_Jg14/Vo/4... · 2015. 6. 15. · Inhalt: Datenbanken...
Transcript of 4 Datenbanken MB2015 - HTW Dresdensobe/InfoMB_Jg14/Vo/4... · 2015. 6. 15. · Inhalt: Datenbanken...
Inhalt: Datenbanken im Vergleich mit Dateien Datenbanken: Tabellen, Attribute und Datentyp Datenmodellierung und Normalformen einer Datenbank Structured Query Language SQL
Peter Sobe 1
4. Datenbanken -Prinzipien und Nutzung relationaler Datenbanken
Dateien: sind benannte Objekte, die eine Speicherung von
Anwendungsdaten auf einem linearen Adressraum zulassen
Persistente Speicherung, d.h. Daten bleiben nach Beendigung der Anwendung und auch nach Abschalten des Systems erhalten
Dateisystem als Teil des Betriebssystems sorgt für Zugriff mit Dateinamen, Verzeichnisse, Pufferung, Zugriffsschutz
Datei-Daten können beliebig strukturiert sein: Binärdaten Textdaten (lesbarer Text) XML Datenformate
es werden keine Regelmäßigkeiten der abgespeicherten Datenstrukturen vorausgesetzt.
Peter Sobe 2
Datenbanken im Vergleich mit Dateien (1)
Dateien (Fortsetzung): Wenn Daten eine Struktur bzw. Regelmäßigkeiten
aufweisen, so wird dieser Umstand nicht vom Dateisystem gespeichert und nicht verwaltet.
Hinweis auf Typ/Struktur der Datei über Dateityp, z.B. bild.jpg ist eine Bilddatei im JPEG-Format … aber nicht mehr
Zugriff auf Daten in vollständiger Kontrolle des Anwendungsprogramms
Konkurrierende Zugriffe durch mehrere Anwendungen sind nicht berücksichtigt und werden höchstens durch Sperren der gesamten Datei vermieden.
Peter Sobe 3
Datenbanken im Vergleich mit Dateien (2)
Datenbanken: Tabellen mit gleichartig aufgebauten Datensätzen Beziehungen zwischen Tabellen durch geeigneten
Datenbankentwurf Zugriff entweder durch Satzzugriff auf einzelne Sätze einer
Tabelle oder Zugriff durch eine Abfragesprache (SQL) Die Datenbank-Tabellen werden als Dateien gespeichert,
oder als Image auf einem Speichermedium, ein direkter Zugriff über Datei-Operation ist aber nicht vorgesehen.
Die regelmäßige Struktur der Daten wird in der Datenbank gespeichert und zur Steuerung der Zugriffe ausgenutzt.
Peter Sobe 4
Datenbanken im Vergleich mit Dateien (3)
Datenbanken (Fortsetzung): Ein Datenbank-Management-System dient zur Laufzeit dem
Zugriff auf die Datenbank. Das sind i.d.R. Serverprozesse, die im Hintergrund ausgeführt werden.
Persistente Speicherung, d.h. Daten bleiben nach Beendigung der Anwendung und auch nach Abschalten des Systems erhalten (wie Dateien)
Konkurrierende Zugriffe erlaubt, Verhalten bei Konflikten durch Transaktionen geregelt
Peter Sobe 5
Datenbanken im Vergleich mit Dateien (4)
Peter Sobe 6
Begriffe für Datenbanken
Datenbank
Hardware Datenbasis organisatorische Festlegung zum
Datenbankbetrieb(Datenbank-
Administrator)
Datenbanksoftware
organisato-rische Da-ten(Schlüssel, Index-dateien, ...), bezogen auf internes Schema
Metadaten (Data Dictionary),
daten-modell-bezogen
reale Daten
bezogen auf externes Schema
Installation
Nutzerver-waltung
Daten-sicherheit
Datenbank-betriebs-system
(DBMS)
Datenbank-sprache
SQL
Nutzer-programme
Entwick-lungsumge-bung
DB-Server
Peter Sobe 7
Tabellen, Attribute und Datentyp
Tabellenname
Wetter
Ortsnr Ortsname Temperatur Luftdruck1 Dresden 22 10122 Leipzig 20 10103 Berlin 25 998… … … …
AttributTupel,auch Datensatz oder Zeile
Wert mit einem speziellen Datentyp, der je Attribut definiert ist
Peter Sobe 8
Tabellen, Attribute und Datentyp
Eine Datenbank besteht oft aus mehreren einzelnen Tabellen, die Referenzen aufeinander beinhalten können.
Datum Zeit Temperatur Ortsnr Luftdruck1-1-2013 17:01:24 -5 1 10121-1-2013 17:04:00 -4.9 2 10101-1-2013 17:00:01 3.1 3 998… … … … …
Ortsnr Name geogr. Breite
Geogr. Länge
Höhe
1 Dresden 51,05 13,74 1132 Leipzig 51,34 12,37 1183 Berlin 52,52 13,41 34… … … … …
Beispiel:Tabelle Orte und Tabelle WetterBezug über gleiche Ortsnr.
Orte
Wetter
Peter Sobe 9
Tabellen als so genannte Relation
Die mathematische Modellierung von Datenbanken und Zugriffsoperationen kann über das Relationale Datenmodell (Codd 1970) erfolgen. Es basiert auf dem mathematischen Relationenbegriff. Durch die Einfachheit (Tabellensicht) und klare mathematische Basis konnte sich das relationale Modell in der Entwicklung der Datenbanktechnologie seit 1970 durchsetzen.
Entity-Relationship-Modell (Chen 1976) dient zur Datenmodellierung, d.h. zur Entscheidung wie Dinge und Beziehungen auf Tabellen abgebildet werden.
(mathematische) Definition der Relation:Gegeben seien die nichtleeren Mengen W1, W2, ... Wn mit
W1xW2x...xWn = {(w1,w2,...,wn) | wi є Wi (i=1,2,...,n)}
Dann ist jede nichtleere Teilmenge R W1xW2x...xWn eine n-stellige Relation über W1, W2, ..., Wn . Die Wi müssen nicht alle paarweise verschieden sein.
Ein Tupel (w1,w2,...,wn) =(1; 1-1-2013; 17:01:24; -5; 1020).könnte z.B. zu R gehören. Als Trennzeichen zwischen den Tupelwertenwurde das Semikolon verwendet, da das Komma in Dezimalzahlen vorkommen kann. Für das obige Beispiel wären die Mengen Wi konkret festgelegt:W1 ganze Zahl (int), W2 Datum, W3 Zeit, W4 und W5 Fließkommazahl.
Definition der mathematischen Relation (1)
Peter Sobe 10
Wir deuten jetzt die Mengen Wi als Wertebereiche und die wi є Wi als Werte und verbinden die Wi , genauer das Kreuzprodukt W1xW2x...xWn, mit einer Interpretation I
E={E1,E2,...,En } = I(W1xW2x...xWn ) für i=1,2,...,n
Diese Ei werden als Eigenschaften (Attribute) von Entitäten gedeutet. Für das obige Beispiel wären die Eigenschaften Ei wie folgt gedeutet:E1 Datum, E2 Uhrzeit, E3 Ortsnr(Identifikation des Orts), E4 Temperatur , E5 Luftdruck. E nennt man Relationenformat.
Mit diesem Format würde das Tupel(1-1-2013; 17:01:24; 1; -5; 1020) die Entität einer Wettermessung an einem bestimmten Ort und zu einer bestimmten Zeit eindeutig charakterisieren.
Wertebereiche, Eigenschaften und Relationenformat (1)
Peter Sobe 11
In Datenbanken ist es möglich, dass ein Wert fehlt, d.h. undefiniert ist. Dieser Fall wird durch den (Sonder-)Wert NULLangezeigt.
Definition:Eine Relation R= R(E1,E2,...,En) ist eine Menge von Tupeln, wobei R der Name der Relation, E={E1,E2,...,En } das Relationenformat und die Ei (i=1,2,...,n) die Eigenschaften sind, deren Werte wi aus den zugeordneten Wertebereichen Wistammen müssen. Die Ei , die zu einer Relation gehören, müssen paarweise verschieden sein. Ist r ein Tupel der Relation, bezeichnet wi = r.Ei den Wert der i-ten Eigenschaft des Tupels r єR (W1xW2x...xWn ). n heißt Grad der Relation.
Eine Relation ist eine Tabelle, die besondere Eigenschaften aufweist …
Wertebereiche, Eigenschaften und Relationenformat (2)
Peter Sobe 12
Eine Relation hat folgende charakteristische Eigenschaften:
1. R ist eine Menge. Damit gibt keine paarweise identischen Tupel. R hat deshalb einen Primärschlüssel, der jedes Tupeleindeutig identifiziert.
2. R ist eine Menge. Deshalb ist die Reihenfolge der Tupel in R ohne Belang.
3. Die Reihenfolge der Eigenschaften Ei in R ist ohne Belang.
4. Die Eigenschaftswerte wi = r.Ei mit r є R müssen einfach sein, d.h. dürfen nicht mengenwertig oder nicht strukturiert sein. wi = NULL ist aber möglich.
Charakteristische Eigenschaften der Relation
13Peter Sobe
Primärschlüssel PS :
Ein Teil der Eigenschaften stellt sich oft als identifizierend für die Tupelheraus.
PS E
PS ist die einzelne identifizierende Eigenschaft bzw. eineEigenschaftskombination, d.h. jeder Wert des PS verweist eindeutig auf ein Tupel.
PS sollten minimal sein, d.h nur die eine oder so wenige Eigenschaften enthalten, damit (gerade so) eine eindeutige Identifaktion der Tupel entsteht.
Oft werden derartige Schlüssel schon durch organisatorische Maßnahmen unabhängig von der Datenbank eingeführt, zum BeispielMatrikelnummern, Kundennummern, Artikelnummern, Zugnummern.
Primärschlüssel einer Relation
14Peter Sobe
Primärschlüssel einer Relation
15Peter Sobe
Matrikelnr. Vorname Name Gebdat Wohnort
111111 Felix Fritsche 1.1.1980 Freiberg
111113 Lise Müller 26.3.1979 München
… … … … …
Studenten
Die Matrikelnummer ist hier der Primärschlüssel. Es gibt jede Matrikelnummer nur ein einziges mal im Diskursbereich.
Matrikelnummer und Geburtsdatum wäre auch ein guter Schlüssel, ist aber nicht minimal, da Matrikelnummer auch ohne Geburtsdatum eindeutig identifiziert.
In der Regel werden Diskursbereiche durch mehrere Relationen (Tabellen) abgebildet.
Ziele:
Vermeiden von Redundanz in Relationen
Vermeiden von Inkonsistenzen
Effizienzsteigerung, wenn nur wirklich benötigte Daten gelesen werden, bzw. nur die Informationen in wenigen Tupelnaktualisiert werden müssen.
Beispiel: eine Datenbank über Verkäufe, eine Tabelle ‘Gesamt‘
16Peter Sobe
Datenmodellierung und Normalformen einer Datenbank(1)
Verkaufs-Nr. Produkt Einzelpreis Anzahl Käufer Käufer-Adresse… … … … … …
Gesamt
17Peter Sobe
Datenmodellierung … (2)
Verk.-Nr. Produkt Einzelpreis Anzahl Käufer Käufer-Adresse
1 Tomate 0.20 4 Heidi 33333 Wiesenhain,Am Waldrand 1
2 Apfelsaft 1.40 2 Heidi 33333 Wiesenhain,Am Waldrand 1
3 Katzenfutter 2.30 1 Kurt 33221 Bachhagen,Hauptstr. 23
4 Apfelsaft 1.40 3 Kurt 33221 Bachhagen,Hauptstr. 23
5 Gurke 0.55 1 Peter 33200 FeldstadtAm Markt 5
6 Tomate 0.20 8 Peter 33200 FeldstadtAm Markt 5
7 Bier 0.78 4 Kurt 22331 Bachhagen,Hauptstr. 23
… … … … … …
Redundanzen und Inkonsistenz
Gesamt
18Peter Sobe
Datenmodellierung … (3)
Verk.-Nr.
Produkt-ID
Anzahl Käufer-ID
1 T 4 42
2 A 2 42
3 K 1 20
4 A 3 20
5 G 1 17
6 T 8 17
7 B 4 20
… … … …
Produkt-ID Name Preis
T Tomate 0.20
A Apfelsaft 1.40
K Katzenfutter 2.30
G Gurke 0.55
B Bier 0.78
… …
Käufer-ID Name Adresse
17 Peter 33200 FeldstadtAm Markt 5
20 Kurt 33221 Bachhagen,Hauptstr. 23
42 Heidi 33333 Wiesenhain,Am Waldrand 1
… … …
Verkaeufe Produkte
Kunden
Redundanz ist jetzt beseitigt
Inkonsistenzen können jetzt nicht mehr auftreten
19Peter Sobe
Normalformen (1)
Ziele:
Vermeiden von Redundanz in Relationen – bei ungünstiger Struktur der Tabellen würde gleiche Information u.U. mehrfach gespeichert. Eine Strukturierung entsprechend der dritten Normalform verhindert das.
Vermeiden von Anomalien – bei ungünstigem Entwurf können Informationen u.U. ungewollt verloren gehen.
20Peter Sobe
Normalformen (2)
Anomalien:
Einfügeanomalie – Neue Sachverhalte können nicht eingefügt werden. Im Beispiel oben kann keine neues Produkt mit einem Preis eingefügt werden, ohne einenKaufvorgang zu beschreiben.
Löschanomalie – Das Löschen von Kaufvorgängen bedingt u.U. den Verlust von Produktinformationen und Käuferdaten.
Änderungsanomalie – Das Abändern eines Sachverhalts verlang oft das Ändern vieler Datensätze (bei Redundanz von z.B. Käufer-Adressen)
Verk.-Nr. Produkt Einzelpreis Anzahl Käufer Käufer-Adresse
… … … … … …
21Peter Sobe
Zweck der Normalformen
Ein Datenbankentwurf nach dem Entity-Relationship-Modell (ER-Modell) bringt die Tabellen automatisch in eine redundanzfreie und anomaliefreie Struktur.
Für existierende Datenbanken können Probleme behoben werden, indem das Vorhandensein der Normalformen geprüft wird und diese durch Umstrukturierung der Tabellenstruktur hergestellt werden.
Redundanzfreie und
anomaliefreieDatenbank
ER-Modell
Existierender Datenbestand
Umstrukturierter Datenbestand
regelbasierter Entwurf(hier nicht gezeigt)
Herstellung der Normalformen
22Peter Sobe
Erste Normalform (1)
Eine Tabelle ist in der ersten Normalform (1NF), falls die Wertebereiche der Merkmale atomar sind.
1NF verlangt, dass jedes Merkmal Werte aus einem unstrukturierten Wertebereich aufnimmt. Damit dürfen keine Mengen, Aufzählungstypen oder Wiederholungsgruppen in den einzelnen Merkmalen vorkommen.
Beispiel für eine nicht erfüllte 1NF:
Matrnr Name Vorname Studiengänge11 Schmidt Robert {Mathemetik, Physik}47 Schulze Klaus {Sport, Erziehungswissenschaften}78 Peters Karoline {Informatik}
23Peter Sobe
Erste Normalform (2)
Beispiel mit atomarem Wertebereich für Studiengang
Matrnr Name Vorname Studiengang11 Schmidt Robert Mathematik11 Schmidt Robert Physik47 Schulze Klaus Sport47 Schulze Klaus Erziehungswissenschaften78 Peters Karoline Informatik
24Peter Sobe
Zweite Normalform (1)
Eine Tabelle ist in der zweiten Normalform (2NF), wenn sie in 1NF ist und wenn jedes Nichtschlüsselmerkmal von jedem Schlüssel voll funktional abhängig ist.
Voll funktional abhängig bezieht sich auf zusammengesetzte Schlüssel (S1,S2) von denen alle Nichtschlüsselmerkmale abhängig sind: (S1,S2) -> N Sie dürfen dabei aber nicht funktional abhängig von einem Teilschlüssel sein, z.B. S1->N
Im Beispiel sind Name und Vorname Nichtschlüsselmerkmale, der Schlüssel setzt sich aus Matrnr und Studiengang zusammen.(Matrnr, Studiengang) -> Nameaber auch Matrnr -> Name … damit keine 2NF
25Peter Sobe
Zweite Normalform (2)
Herstellung der zweiten Normalform (2NF): TabellenteilungAlle Merkmale, die von einem Teilschlüssel abhängig sind werden in eine eigene Tabelle ausgegliedert.
Matrnr Name Vorname11 Schmidt Robert47 Schulze Klaus78 Peters Karoline
Matrnr Studiengang11 Mathematik11 Physik47 Sport47 Erziehungswissenschaften78 Informatik
26Peter Sobe
Dritte Normalform (1)
Eine Tabelle ist in der dritten Normalform (3NF), wenn sie in 2NF ist und kein Nichtschlüsselmerkmal von irgendeinem Schlüssel transitiv abhängig ist
Ein Beispiel für nicht erfüllte 3NF:
Matrnr Wohn-PLZ
Wohnort
11 01217 Dresden47 01219 Dresden78 14197 Berlin89 14197 Berlin95 01217 Dresden
Matrnr
WohnPLZ
Wohnort
Wohnort tritt redundant auf.
27Peter Sobe
Dritte Normalform (2)
Überführung in dritte Normalform (3NF), indem ein transitiv abhängiges Merkmal in eine neue Tabelle ausgegliedert wird. Das Merkmal von dem die letzte Stufe der Abhängigkeit ausgegangen ist, wird als Fremdschlüssel in die neue Tabelle aufgenommen.
Matrnr Wohn-PLZ
11 01217 47 01219 78 1419789 1419795 01217
PLZ Ort
01217 Dresden14197 Berlin01219 Dresden