Entwurf von Datenbanken



Ähnliche Dokumente
Inhaltsverzeichnis. 1. Fragestellung

Datenbankmodelle 1. Das Entity-Relationship-Modell

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

4 Grundlagen der Datenbankentwicklung

Allgemeines zu Datenbanken

ER-Modell. Entity-Relationship-Model

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 04 Strukturiertes Entity-Relationship-Modell. 4 Strukturiertes Entity-Relationship- Modell

7. Übung - Datenbanken

4. BEZIEHUNGEN ZWISCHEN TABELLEN

1 Mathematische Grundlagen

Übung Datenbanksysteme

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

ABTEILUNGS- ABTEILUNGS- LEITER NAME

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

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

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

Software-Engineering und Datenbanken

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Einführung in Datenbanken

Datenbanken. Prof. Dr. Bernhard Schiefer.

Abschnitt 16: Objektorientiertes Design

Einführung in. Logische Schaltungen

Vorlesung Datenbanken II A Klausur

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

Teil VI. Datenbanken

Teil 7: Einführung in den logischen Entwurf

9. Einführung in Datenbanken

3. Das Relationale Datenmodell

Umgang mit Schaubildern am Beispiel Deutschland surft

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

Vorlesung vom Einführung in die geschäftsprozessorientierte Unternehmensführung

Rundung und Casting von Zahlen

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

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Willkommen zum DBS I Praktikum!

Übung 4. Musterlösungen

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

Erläuterungen zur Untervergabe von Instandhaltungsfunktionen

Statuten in leichter Sprache

2.5.2 Primärschlüssel

1 BEDIENUNGSANLEITUNG

Teil VIII. Datenbanken

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Formica 2.0: Montageauftrag erfassen: Auftragsgruppe

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

Christian-Weise-Gymnasium Zittau Fachbereich Informatik M. Hans. Datenmodellierung 1. Inhaltsverzeichnis

Inventur. Bemerkung. / Inventur

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

Anforderungsanalyse: Tutor

Datenbanken. Allg. Einführung in Datenbanken 1. Ich kenne Datenbanken. Wo werden Datenbanken eingesetzt. Welchen Zweck haben Datenbanken.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

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

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

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

Datenbanken Microsoft Access 2010

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Das Stationsportal der DB Station&Service AG - Das Rollenkonzept. DB Station&Service AG Vertrieb Stationsportal Berlin, Juli 2015

Erstellen von x-y-diagrammen in OpenOffice.calc

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Softwaretechnik (Allgemeine Informatik) Überblick

Datenbanken I - Übung 1

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen.

Elternzeit Was ist das?

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Datenbanken: Relationales Datenbankmodell RDM

Anleitung über den Umgang mit Schildern

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Use Cases. Use Cases

Requirements Engineering WS 11/12

Integration verteilter Datenquellen in GIS-Datenbanken

Der Kundenmanager. Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden:

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Zahlen auf einen Blick

ER-Diagramme. eine Modellierung. Beziehungen der Elternschaft:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Info-Veranstaltung zur Erstellung von Zertifikaten

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Microsoft Access Doku

XML-Austauschformat für Sicherheitsdatenblätter

Rückverfolgbarkeit von Lebensmitteln Erfahrungen aus den Ländern

Im Original veränderbare Word-Dateien

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

Grundbegriffe der Informatik

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

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Aufgabe 1: [Logische Modellierung]

Anwendungshinweise zur Anwendung der Soziometrie

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Projektmanagement in der Spieleentwicklung

Transkript:

Bisher: was sind Datenbanken? Wie funktionieren sie? Im Folgenden: wie entwickle ich eine Datenbank? Was ist eine gute Datenbank? Der Datenbankentwurfsprozess Das Entity Relationship (ER) Modell Abbildung von ER-Diagrammen auf Relationenschemata Normalformen als Qualitätskriterien Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 48

Der Datenbankentwurfsprozess Datenbankentwurfsprozess beschreibt systematische Vorgehensweise zur Entwicklung einer Datenbanklösung: Ausgehend von Anforderungen an zu entwickelnde Lösung über eine schrittweise Verfeinerung des Entwurfs bis hin zur Implementierung und zum Einsatz der Lösung Angelehnt an Software-Entwicklungsprozess ( ) zur Entwicklung allgemeiner Software-Lösungen Unabhängig von konkretem Anwendungsszenario Im folgenden: Entwurf relationaler Datenbanken Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 49

Der Datenbankentwurfsprozess /2 Anforderungsanalyse Dokumentatation Konzeptueller Entwurf Konzeptuelles Schema z.b. Entity Relationship Diagramm Logischer Entwurf Logisches Schema = Tabellen- und Spaltendefinition Datendefintion und Implementierung Datenbank Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 50

Phasen des Datenbankentwurfs /1 Anforderungsanalyse: Sammlung von Anforderungen, die zu entwickelndes Datenbanksystem beschreiben Z.B. Informationsbedarf zukünftiger Anwender, zu unterstützende Abläufe, etc. Ergebnis: informell festgehaltene Dokumentation der Anforderungen Konzeptueller Entwurf: Entwicklung eines implementierungsunabhängigen (abstrakt, high-level) Datenbankschemas Erste Strukturierung für Anwendungsdaten Dient der schrittweisen Verfeinerung des Entwurfs sowie der Diskussion verschiedener Entwickler untereinander und mit Anwendern Ergebnis: konzeptuelles Schema, z.b. als Entity Relationship Diagramm Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 51

Phasen des Datenbankentwurfs /2 Verteilungsentwurf (optional): nur für verteilte Systeme Festlegung des Speicherorts der Daten im Netz Prinzipiell unabhängig vom Implementierungsmodell (nächster Schritt) Erfolgt meist aber als Teil des physischen Entwurfs Ergebnis: Verteilungsschema Logischer Entwurf: Überführung in relationales Datenmodell für Implementierung sowie Erfüllung von Qualitätskriterien (Normalformen) durch Normalisierung Entwurf geeigneter Tabellenstrukturen zur Darstellung der Anwendungsdaten Qualitätskriterium: Strukturen vermeiden Abspeicherung widersprüchlicher Daten Ergebnis: logisches Schema Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 52

Phasen des Datenbankentwurfs /3 Physischer Entwurf: ermöglicht Beeinflussung interner Speicherstrukturen zu Zwecken der Performance Optimierung Festlegen von Indextsrukturen (Hash-Tabellen, B-Bäume) für Zugriffspfade Weitere Mittel: materialisierte Sichten (Vorberechnung) sowie Partitionierung (Teile und Herrsche) Datendefinition und Implementierung: Erstellen enstprechender DDL-Statements und deren Ausführung Erzeugung von Tabellen, Sichten und Indexstrukturen Ergebnis: (leere) Datenbank Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 53

Das Enity Relationship (ER) Modell Standard für die konzeptuelle Modellierung von Datenbankschemata Ziel: Darstellung der Inhalte und Bedeutung (auch semantische Modellierung) Was wird durch das Schema dargestellt (welche Daten)? Nicht: wie werden die Daten dargestellt (Implementierung)? Dient der Diskussion (Entwickler und Anwender) und Verfeinerung der Schemata Deshalb möglichst einfache Modellierungskonstrukte: Gegenstände (Entities), deren Beziehungen untereinander (Relationships) und Eigenschaften (Attributes) Eigentliche Modellierung auf Typebene: Gegenstände mit gleichen Eigenschaften und Beziehungen werden zu einem Entity Type zusammgefaßt (analog Relationship Types) Begriffe Entity und Relationship werden meist verkürzend für Entity Types bzw. Relationship Types verwendet Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 54

ER Modell: Einführendes Beispiel Student besucht Vorlesung MatrNr Name Vorname Semester ID Bezeichnung Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 55

ER Modell: Grundlegende Grafische Notation Entity (Type): Rechteck mit Typbezeichner Relationship (Type): Raute mit Typbezeichner Attribut: abgerundete Box oder Ellipse mit Attributbezeichner, Schlüssel mit Unterstreichung Zahlreiche abweichende grafische Darstellungen in verwandten Ansätzen und Entwicklungs-Tools mit gleicher oder ähnlicher Beduetung sowie ggf. Erweiterungen Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 56

ER Modell: Kardinalitäten Kardinalitäten geben numerische Grenzen an, wie Objekte verschiedener Typen miteinander in Beziehung stehen können Beispiele: Ein Student kann beliebig viele Vorlesungen besuchen Eine Vorlesung kann (je nach Kapazität des Hörsaals) von vielen Studenten besucht werden Eine Vorlesung wird von genau einem Dozenten angeboten Eine Person kann mit maximal einer anderen Person verheiratet sein (optional) Jede Person hat genau eine Mutter und genau einen Vater Von entscheidender Bedeutung bei Überführung in das Relationenmodell Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 57

ER Modell: Kardinalitäten /2 [1,1] [1,*] Dozent hält Vorlesung ist äquivalent zu: 1 * Dozent hält Vorlesung 1:N-Beziehung: ein Objekt darf mit beliebig vielen eines anderen Typs in Beziehung stehen, aber eindeutige Zuordnung in die andere Richtung Min/Max-Notation: Angabe der minimimalen und maximalen Anzahl, in der das Objekt in Beziehung stehen kann Abkürzende Schreibweise verwendet nur Obergrenze (Optionalität mit Untergrenze 0 so aber schlecht abbildbar) Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 58

ER Modell: Kardinalitäten /3 Student besucht Vorlesung ist äquivalent zu: * * Student besucht Vorlesung N:M-Beziehungen (Objekte beider beteiligter Typen können beliebig oft in Beziehung stehen) sind bei keiner Angabe von Kardinalität der angenommene Standardfall Oft auch auch N und M als Notation für Kardinalitäten verwendet Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 59

ER Modell: Kardinalitäten /4 verheiratet [0,1] Person [0,1] Beispiel für eine optionale Beziehung Außerdem selbst-bezüglich auf Typ-Ebene: auch Objekte des selben Typs können in Beziehungen zueinander stehen Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 60

ER Modell: Weitere Konstrukte Dozent Vorlesung Gebäude hält hat Raum Raum Mehrstellige Beziehungstypen Schwache (existentiell abhängige) Entitätstypen Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 61

Abbildung von ER-Diagrammen auf Relationenschemata ER Modell ist prinzipiell unabhängig vom Implementierungsmodell In der Praxis meist eingesetzt als Entwurfsmittel für relationale Datenbanken Überführung von ER Diagrammen auf Relationenschemata geschieht nach einfachen Regeln Im folgenden illustriert an folgendem einfachen Beispiel: Artikel * * * 1 in Bestellung von Kunde ArtikelNr BestellNr KundenNr Bezeichnung Anzahl Rabat Name Preis Datum Anschrift Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 62

Abbildung von ER-Diagrammen: Entities Artikel ArtikelNr Bezeichnung Preis Artikel Alle Entities werden auf separate Tabellen abgebildet Attribute werden Spalten, konkrete Datentypen müssen festgelegt werden Schlüsselattribute werden Schlüssel der Tabelle Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 63

Abbildung von ER-Diagrammen: N:M-Beziehungen Artikel * * in Bestellung ArtikelNr Bezeichnung Preis Anzahl BestellNr Rabat Datum Artikel Bestellung ArtikelBestellung Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 64

Abbildung von ER-Diagrammen: N:M-Beziehungen /2 N:M-Beziehungen müssen generell auf separate Tabellen abgebildet werden Schlüssel der Beziehungstabelle bildet sich aus zusammengesetzten Schlüsseln der in Beziehung stehen Entity-Tabellen Teilschlüssel dienen als Fremdschlüssel auf Entity-Tabellen Attribute der Beziehung werden Spalten der Beziehungstabelle Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 65

Abbildung von ER-Diagrammen: 1:N-Beziehungen Bestellung * 1 von Kunde BestellNr Rabat Datum Bestellung Kunde KundenNr Name Anschrift Bei 1:N-Beziehungen Verschmelzung der Beziehungstabelle mit der Entity-Tabelle der N-Kardinalität möglich Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 66

Abbildung von ER-Diagrammen: Optionale Beziehungen Optionale Beziehungen, egal ob N:M, 1:N oder 1:1, sollten als separate Tabelle umgesetzt werden Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 67

Schemakonsistenz Ergebnis der Überführung ist relationales Datenbankschema Zweiter Teilschritt des logischen Entwurfs umfaßt Sicherstellung der Schemakonsistenz Allgemein drei wichtige Kriterien der Konsistenz (Widerspruchsfreiheit) für Schemata und Daten Modellkonsistenz: reale Informationen können im Schema korrekt dargestellt werden muss durch konzeptuellen Entwurf und korrekte Überführung in Relationenmodell sichergestellt werden Semantische Konsistenz: die gespeicherten Daten sind korrekt (stehen nicht im Widerspruch zur Wirklichkeit) kann durch Integritätsbedingungen und Anwendungslogik unterstützt werden, letzten Endes aber Verantwortlichkeit der Anwender Schemakonsistenz: Daten müssen untereinander widerspruchsfrei sein Sicherstellung durch Vermeidung mehrfacher Abspeicherung von Informationen (Redundanz) Normalformen als Qualitätskriterium Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 68

Redundanz und Inkonsistenzen Mehrfache Speicherung der selben Realweltfakten (Redundanz) ermöglicht Dateninkonsistenzen Erkennbar an Abhängigkeiten zwischen Attributwerten Sollen durch Normalisierung vermieden werden Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 69

Funktionale Abhängikeiten Funktionale Abhängikeiten in einer Tabelle liegen vor, wenn Werte einer Spalte (oder einer Gruppe von Spalten) einen eindeutigen Schluss auf die Werte einer anderen (Gruppe von) Spalte(n) zulassen Funktional, weil... eindeutige Werteabbildung entspricht mathematischem Konzept der Funktion: für einen Eingabewert ist nur ein Ergebniswert möglich (Eindeutigkeit) Beispiele: Die Postleitzahl bestimmt eindeutig den Ort Die Matrikelnummer (Schlüssel) bestimmt alle weiteren Eigenschaften eines Studenten Vorwahl und Telefonnummer bestimmen eindeutig alle Eigenschaften des Anschlusses Semester, Termin und Raum bestimmen eindeutig Vorlesungstitel und Dozenten Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 70

Normalformen Ziel der Normalisierung: alle Spalten einer Tabelle sollen nur vom vollständigen Schlüssel abhängen, d.h. dadurch bestimmt sein (3. Normalform) Erreichen von Normalformen z.b. durch schrittweises Zerlegen Wichtigste Normalformen: 1. Normalform: nur atomare Werte in jeder Spalte 2. Normalform: keine funktionalen Abhängigkeiten von einem Teil des Schlüssels 3. Normalform: keine funktionalen Abhängigkeiten zwischen Nicht-Schlüsselattributen Zahlreiche weitere Normalformen existieren (hier nicht behandelt) Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 71

1. Normalform: Problem 1. Normalform: nur atomare Werte in jeder Spalte (grundlegende Anforderung im Relationenmodell) Problem: mengen- oder listenwertige Spalten Eigentlich kein Problem bzgl. Redundanz, aber Voraussetzung für weitere Normalformen Erleichtert Lesen und Modifikation von Daten Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 72

1. Normalform: Lösung Abspalten einer separaten Tabelle mit folgenden Spalten: Schlüssel der Ursprungstabelle Spalte für einzelne Einträge der Menge Schlüssel der neuen Tabelle sind beide Spalten gemeinsam Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 73

2. Normalform: Problem 2. Normalform: 1. Normalform + keine funktionalen Abhängigkeiten von nur einem Teil des Schlüssels Problem: mögliche Redundanzen durch sich oft wiederholende Wertepaare Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 74

2. Normalform: Lösung Abspalten einer separaten Tabelle mit folgenden Spalten: Teilschlüssel der Ursprungstabelle, von welchem andere Spalte(n) abhängig Alle vom Teilschlüssel abhängig Spalten Abhängige Spalten werden aus der Originaltabelle entfernt Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 75

3. Normalform: Problem 3. Normalform: 2. Normalform + keine funktionalen Abhängigkeiten zwischen Nicht-Schlüsselattributen Problem: mögliche Redundanzen durch sich oft wiederholende Wertepaare Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 76

3. Normalform: Lösung Abspalten einer separaten Tabelle mit folgenden Spalten: Bestimmende Spalte(n) als Schlüssel Alle davon abhängigen Spalten Abhängige Spalten werden aus der Originaltabelle entfernt Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 77

Normalformen in der Praxis Praktisch relevant zur Vermeidung von Inkonsistenzen Aber: Zerlegung von Tabellen führt zu höherem Aufwand bei der Anfragebearbeitung durch mehr Verbundoperationen Deshalb oft Abstriche von Normalformen kontrollierte Redundanz Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 78

Zusammenfassung: DB-Entwurf Entwurfsprozess für Datenbanken angelehnt an allgemeine Entwurfsprozesse: Analyse des Problems, schrittweise Verfeinerung der Lösung bis hin zur Implementierung ER-Modell als implementierungsunabhängige Modellierungsmethode für Datenbankschemata Überführung in das Relationenmodell entsprechend festen Regeln Normalformen als Qualitätskriterien für Tabellen Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 6 79