Datenbank-entwicklungsprozess Marcus Kossatz, 13/3 01.11.2007
Inhaltsverzeichnis Rückblick: Projektmanagement Grundbegriffe und Definitionen Datenbankentwicklung Anforderungsanalyse Entity Relationship Modell Das relationale Datenmodell Das 3-Schema-Konzept Normalisierung der Datenstrukturen Quellen
Rückblick: Projektmanagement Projektumriß Erstellung Pflichtenheft Konzept Grobentwurf von Lösungsvarianten Detailspezifikation Entwurfsverfeinerung Programmierung Verfeinerung Strukturierung Systemtest Frühzeitige Fehlererkennung Systemeinführung Einführung beim Anwender
Rückblick: Projektmanagement Software-Qualität: Vollständigkeit der Funktionen Zuverlässigkeit Flexibilität Modularität Einfachheit Fehlertoleranz Benutzerfreundlichkeit Ausbaufähigkeit Wartbarkeit
Grundbegriffe und Definitionen Modellbildungsprozess Modellbegriff Darstellung eines Teils der Wirklichkeit Modellbildung bei Datenbanken Charakterisierung / Identifikation durch Attribute Attribut + Attributwert = eindeutige Aussage über Objekteigenschaft
Grundbegriffe und Definitionen Definition von Attributen Erfassung relevanter Eigenschaften für „Miniwelt“ eindeutige Kennzeichnung Prüfung auf Zerlegbarkeit bzw. Ersatz Identifizierung von Objekten Unterscheidbarkeit über Attribute Eindeutige Identifizierung nur über Primärschlüssel (meist künstlich) auch Zusammenlegung von Teilschlüsseln möglich
Grundbegriffe und Definitionen Beziehungstypen 1:1 – Beziehung Mann Frau 1:N – Beziehung Schüler Fachlehrer M:N – Beziehung Schüler Lehrerschaft Beziehungsnetzwerke in Miniwelt Nur 1:N – Beziehungen: hierarchische Datenbank Auch M:N – Beziehungen: Netzwerk-Datenbank
Datenbankentwicklung
Anforderungsanalyse Was will ich? Was brauche ich? Wie stehen die Daten in Beziehung? Entstehung Datenkatalog (Vermeidung von Inkonsistenzen und Redundanzen)
Das „Entity Relationship Modell“ Grafische Darstellung der Beziehungen Fremdsprache N macht 1 1 N Name besucht Klasse Nummer 1 nimmt teil N Projekt Nummer
Das relationale Datenmodell Tabelle zweidimensional Spalten = Attribute Zeilen = Objekte Nr. Name Klasse Projekt-Nr. Projektname 1 Torben 10 A (Französisch) 2 Israel Malte 10 B (Russisch) 3 Gesunde Ernährung Chantal 1, 2, 3 Kochen, Israel, Gesunde Ernährung 4 Itzgür 10 C (Latein) 5 Gertrude Kochen 6 Gernot 2, 3 Israel, Gesunde Ernährung
Das 3-Schema-Konzept Das konzeptionelle Schema Das interne Schema Darstellung eines Teils der Realität (unabhängig von DBS) Gesamtstruktur der Daten + Eigenschaften + Beziehungen Ableitung: logisches Schema (abhängig vom DBS) Das interne Schema Inhalt Datenbasis + nötige Funktionen Physische Gruppierung der Daten / Speicherplatzbelegung Das externe Schema Für Anwendungsprogramm zur Verfügung stehender Teil Teilbereich des logischen Schemas (nicht alle Daten relevant) Mehrere externe Schemata möglich
Das 3-Schema-Konzept Trennung Anwendung physische Datenbank Datenunabhängigkeit
Normalisierung der Datenstrukturen Aufteilung Spalten in neue Spalten Vermeidung von unerwünschten Anomalien (Lösch-, Einfüge- und Änderungsanomalie) Vermeidung von überflüssigen Informationen (Redundanz) Zwang zum systematischen Entwurf einer Datenbank bessere Übersichtlichkeit für Benutzer und Programmierer Normalenform (1NF) Normalenform (2NF) (Weitere Normalenformen irrelevant)
Normalisierung der Datenstrukturen Nr. Name Klasse Projekt-Nr. Projektname 1 Torben 10 A (Französisch) 2 Israel Malte 10 B (Russisch) 3 Gesunde Ernährung Chantal 1, 2, 3 Kochen, Israel, Gesunde Ernährung 4 Itzgür 10 C (Latein) 5 Gertrude Kochen 6 Gernot 2, 3 Israel, Gesunde Ernährung
Normalisierung der Datenstrukturen Normalenform (1NF) Zuweisung Attribut Attributwert Kreuzung Spalte Zeile nur einen Wert (atomar)
Normalisierung der Datenstrukturen Nr. Name Klasse 2. FS Projekt-Nr. Projektname 1 Torben 10 A Französisch 2 Israel Malte 10 B Russisch 3 Gesunde Ernährung Chantal Kochen 4 Itzgür 10 C Latein 5 Gertrude 6 Gernot
Normalisierung der Datenstrukturen Normalenform (2NF) 1NF jedes Nicht-Schlüsselattribut voll funktional abhängig vom Primärschlüssel Funktionale Abhängigkeit: A B
Normalisierung der Datenstrukturen Relation Schüler Nr. Name Klasse 2. FS 1 Torben 10 A Französisch 2 Malte 10 B Russisch 3 Chantal 4 Itzgür 10 C Latein 5 Gertrude 6 Gernot Nr. Projekt- 1 2 3 4 5 6 Relation Projekt Projekt-Nr. Projektname 1 Kochen 2 Israel 3 Gesunde Ernährung
www.debacher.de/datenbanken/ www.gitta.info www.tinohempel.de Quellen www.debacher.de/datenbanken/ www.gitta.info www.tinohempel.de