3. Prinzipien und Nutzung von relationalen Datenbanksystemen



Ähnliche Dokumente
Abschnitt 4: Grundlagen der Datenbanktechnologie

Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell)

Datenmodellierung mit dem Entity-Relationship-Modell

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

Allgemeines zu Datenbanken

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

1 Mathematische Grundlagen

Inhaltsverzeichnis. 1. Fragestellung

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

7. Übung - Datenbanken

1. Ziel des Datenbankentwurfs

Datenbanken Kapitel 2

Abschnitt 4: Grundlagen der Datenbanktechnologie

Im Original veränderbare Word-Dateien

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Datenbanken. Prof. Dr. Bernhard Schiefer.

Einführung in die Algebra

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Einführung in Datenbanken

Drei Fragen zum Datenschutz im. Nico Reiners

Themen. M. Duffner: Datenbanksysteme

ecaros2 - Accountmanager

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

Relationale Datenbanken Datenbankgrundlagen

Datenbanken: Relationales Datenbankmodell RDM

Korrelation (II) Korrelation und Kausalität

WinVetpro im Betriebsmodus Laptop

Arbeiten mit UMLed und Delphi

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

REFLEX Zeiterfassung

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Erstellen von x-y-diagrammen in OpenOffice.calc

9. Einführung in Datenbanken

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Design Theorie für relationale Datenbanken

Hilfedatei der Oden$-Börse Stand Juni 2014

3. Das Relationale Datenmodell

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Imperative Programmierung. 4. Verarbeitung externer Datenquellen

2.5.2 Primärschlüssel

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

4 Grundlagen der Datenbankentwicklung

Datenbanken für Online Untersuchungen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Übung Datenbanksysteme

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

7 Rechnen mit Polynomen

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Informatik 12 Datenbanken SQL-Einführung

Website freiburg-bahai.de

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

White Paper. Fabasoft Folio Zugriffsdefinitionen Winter Release

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

U8: SQL Datenbank Daniel Baron 1

Anleitung zum Herunterladen von DIN-Vorschriften außerhalb des internen Hochschulnetzes

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

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

Primzahlen und RSA-Verschlüsselung

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access

Dokumentenverwaltung

Erweiterungen Webportal

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Lehrer: Einschreibemethoden

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

CodeSaver. Vorwort. Seite 1 von 6

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

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

4. Datenbanken - Prinzipien und Nutzung relationaler Datenbanken

Benutzerhandbuch - Elterliche Kontrolle

Tag 4 Inhaltsverzeichnis

Auswahlabfragen mit ACCESS

Netzwerkeinstellungen unter Mac OS X

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Aufgabe 1: [Logische Modellierung]

Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, EASY Starter V1.5

Aufgabenheft. Fakultät für Wirtschaftswissenschaft. Modul Business/IT-Alignment , 09:00 11:00 Uhr. Univ.-Prof. Dr. U.

GITS Steckbriefe Tutorial

Physiotherapiepraxis-Lastenheft

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Das SIARD Format und die zugehörige Tool-Landschaft

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Stand: Adressnummern ändern Modulbeschreibung

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Data Quality Management: Abgleich großer, redundanter Datenmengen

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Transkript:

3. Prinzipien und Nutzung von relationalen Datenbanksystemen Inhalt: Dateien vs. Datenbanken Datenbanken: Tabellen, Attribute und Datentyp Datenmodellierung und Normalformen einer Datenbank Structured Query Language SQL Zugriff aus einer Anwendung auf eine Datenbank 1

Vergleich: Dateien und Datenbanken (1) 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. 2

Vergleich: Dateien und Datenbanken (2) 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. 3

Vergleich: Dateien und Datenbanken (3) 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. 4

Vergleich: Dateien und Datenbanken (4) 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 5

Begriffe für Datenbanken Datenbank DB-Server Hardware Datenbasis organisatorische Festlegung zum Datenbankbetrieb (Datenbank- Administrator) Datenbanksoftware Metadaten (Data Dictionary), organisatorische Da-ten (Schlüssel, Indexdateien,...), bezogen auf internes Schema reale Daten bezogen auf externes Schema Installation (DBMS) SQL daten-modellbezogen Nutzerverwaltung Datensicherheit Datenbankbetriebssystem Datenbanksprache Nutzerprogramme Entwicklungsumgebung 6

Tabellen, Attribute und Datentyp Tabellenname Attribut Wetter Ortsnr Ortsname Temperatur Luftdruck 1 Dresden 22 1012 2 Leipzig 20 1010 3 Berlin 25 998 Tupel, auch Datensatz oder Zeile Wert mit einem speziellen Datentyp, der je Attribut definiert ist 7

Tabellen, Attribute und Datentyp Eine Datenbank besteht oft aus mehreren einzelnen Tabellen, die Referenzen aufeinander beinhalten können. Orte Ortsnr Name geogr. Breite Geogr. Länge Höhe 1 Dresden 51,05 13,74 113 2 Leipzig 51,34 12,37 118 3 Berlin 52,52 13,41 34 Beispiel: Tabelle Orte und Tabelle Wetter Bezug über gleiche Ortsnr. Wetter Datum Zeit Temperatur Ortsnr Luftdruck 1-1-2013 17:01:24-5 1 1012 1-1-2013 17:04:00-4.9 2 1010 1-1-2013 17:00:01 3.1 3 998 8

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

Definition der mathematischen Relation (1) (mathematische) Definition der Relation: Gegeben seien die nichtleeren Mengen W 1, W 2,... W n mit W 1 xw 2 x...xw n = {(w 1,w 2,...,w n ) w i є W i (i=1,2,...,n)} Dann ist jede nichtleere Teilmenge R W 1 xw 2 x...xw n eine n-stellige Relation über W 1, W 2,..., W n. Die W i müssen nicht alle paarweise verschieden sein. Ein Tupel (w 1,w 2,...,w n ) = (1; 1-1-2013; 17:01:24; -5; 1020). könnte z.b. zu R gehören. Als Trennzeichen zwischen den Tupelwerten wurde das Semikolon verwendet, da das Komma in Dezimalzahlen vorkommen kann. Für das obige Beispiel wären die Mengen W i konkret festgelegt: W 1 ganze Zahl (int), W 2 Datum, W 3 Zeit, W 4 und W 5 Fließkommazahl. 10

Wertebereiche, Eigenschaften und Relationenformat (1) Wir deuten jetzt die Mengen W i als Wertebereiche und die w i є W i als Werte und verbinden die W i, genauer das Kreuzprodukt W 1 xw 2 x...xw n, mit einer Interpretation I E={E 1,E 2,...,E n } = I(W 1 xw 2 x...xw n ) für i=1,2,...,n Diese E i werden als Eigenschaften (Attribute) von Entitäten gedeutet. Für das obige Beispiel wären die Eigenschaften E i wie folgt gedeutet: E 1 Datum, E 2 Uhrzeit, E 3 Ortsnr(Identifikation des Orts), E 4 Temperatur, E 5 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. 11

Wertebereiche, Eigenschaften und Relationenformat (2) In Datenbanken ist es möglich, dass ein Wert fehlt, d.h. undefiniert ist. Dieser Fall wird durch den (Sonder-)Wert NULL angezeigt. Definition: Eine Relation R= R(E 1,E 2,...,E n ) ist eine Menge von Tupeln, wobei R der Name der Relation, E={E 1,E 2,...,E n } das Relationenformat und die E i (i=1,2,...,n) die Eigenschaften sind, deren Werte w i aus den zugeordneten Wertebereichen W i stammen müssen. Die E i, die zu einer Relation gehören, müssen paarweise verschieden sein. Ist r ein Tupel der Relation, bezeichnet w i = r.e i den Wert der i-ten Eigenschaft des Tupels r є R (W 1 xw 2 x...xw n ). n heißt Grad der Relation. Eine Relation ist eine Tabelle, die besondere Eigenschaften aufweist 12

Charakteristische Eigenschaften der Relation 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 Tupel eindeutig identifiziert. 2. R ist eine Menge. Deshalb ist die Reihenfolge der Tupel in R ohne Belang. 3. Die Reihenfolge der Eigenschaften E i in R ist ohne Belang. 4. Die Eigenschaftswerte w i = r.e i mit r є R müssen einfach sein, d.h. dürfen nicht mengenwertig oder nicht strukturiert sein. w i = NULL ist aber möglich. 13

Primärschlüssel PS : Ein Teil der Eigenschaften stellt sich oft als identifizierend für die Tupel heraus. PS E Primärschlüssel einer Relation PS ist die einzelne identifizierende Eigenschaft bzw. eine Eigenschaftskombination, 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 Beispiel Matrikelnummern, Kundennummern, Artikelnummern, Zugnummern. 14

Primärschlüssel einer Relation Studenten Matrikelnr. Vorname Name Gebdat Wohnort 111111 Felix Fritsche 1.1.1980 Freiberg 111113 Lise Müller 26.3.1979 München 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. 15

Datenmodellierung und Normalformen einer Datenbank(1) 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 Tupeln aktualisiert werden müssen. Beispiel: eine Datenbank über Verkäufe, eine Tabelle Gesamt Gesamt Verkaufs-Nr. Produkt Einzelpreis Anzahl Käufer Käufer-Adresse 16

Gesamt 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 Feldstadt Am Markt 5 6 Tomate 0.20 8 Peter 33200 Feldstadt Am Markt 5 7 Bier 0.78 4 Kurt 22331 Bachhagen, Hauptstr. 23 Redundanzen und Inkonsistenz 17

Datenmodellierung (3) Verkaeufe Verk. - Nr. Produkt- ID Anzahl 1 T 4 42 2 A 2 42 3 K 1 20 4 A 3 20 Käufer-ID Produkte Produkt-ID Name Preis T Tomate 0.20 A Apfelsaft 1.40 K Katzenfutter 2.30 G Gurke 0.55 B Bier 0.78 5 G 1 17 6 T 8 17 7 B 4 20 Redundanz ist jetzt beseitigt Inkonsistenzen können jetzt nicht mehr auftreten Kunden Käufer-ID Name Adresse 17 Peter 33200 Feldstadt Am Markt 5 20 Kurt 33221 Bachhagen, Hauptstr. 23 42 Heidi 33333 Wiesenhain, Am Waldrand 1 18

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

Normalformen (2) Verk.-Nr. Produkt Einzelpreis Anzahl Käufer Käufer-Adresse 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 einen Kaufvorgang 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) 20

Zweck der Normalformen Ein Datenbankentwurf nach dem Entity-Relationship-Modell bringt die Tabellen automatisch in eine redundanzfreie und anomaliefreie Struktur. ER- Modell regelbasierter Entwurf (hier nicht gezeigt) 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 anomaliefreie Datenbank Existierender Datenbestand Umstrukturierter Datenbestand Herstellung der Normalformen 21

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änge 11 Schmidt Robert {Mathemetik, Physik} 47 Schulze Klaus {Sport, Erziehungswissenschaften} 78 Peters Karoline {Informatik} 22

Erste Normalform (2) Beispiel mit atomarem Wertebereich für Studiengang Matrnr Name Vorname Studiengang 11 Schmidt Robert Mathematik 11 Schmidt Robert Physik 47 Schulze Klaus Sport 47 Schulze Klaus Erziehungswissenschaften 78 Peters Karoline Informatik 23

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) -> Name aber auch Matrnr -> Name damit keine 2NF 24

Zweite Normalform (2) Herstellung der zweiten Normalform (2NF): Tabellenteilung Alle Merkmale, die von einem Teilschlüssel abhängig sind werden in eine eigene Tabelle ausgegliedert. Matrnr Name Vorname 11 Schmidt Robert 47 Schulze Klaus 78 Peters Karoline Matrnr Studiengang 11 Mathematik 11 Physik 47 Sport 47 Erziehungswissenschaften 78 Informatik 25

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- Wohnort PLZ 11 01217 Dresden 47 01219 Dresden 78 14197 Berlin 89 14197 Berlin 95 01217 Dresden Matr nr Wohn PLZ Wohnort tritt redundant auf. Wohn ort 26

Dritte Normalform (2) Überführung in dritte Normalform (3NF), indem 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 14197 89 14197 95 01217 PLZ Ort 01217 Dresden 14197 Berlin 01219 Dresden 27