Datenbanken Teil 1: Überblick / 2015
Literatur zum Thema (1/2) Frank Geisler Datenbanken Grundlagen und Design 3. Auflage, 2009, mitp Verlag Heidelberg Alfons Kemper, André Eickler Datenbanksysteme Eine Einführung 7. Auflage, 2009, Oldenbourg Verlag München Edwin Schicker Datenbanken und SQL 3. Auflage, 2002, Teubner Verlag Stuttgart René Steiner Grundkurs Relationale Datenbanken. Auflage, 2009, Vieweg+Teubner Verlag Wiesbaden 2
Literatur zum Thema (2/2) E.F. Codd A Relational Model of Data for Large Shared Data Banks In: Communication of the ACM, V.13, No. 6, 1970, S. 377-387 M. Throll; O. Bartosch Einstieg in SQL Galileo Press, 2007,Bonn M. Schubert Datenbanken - Theorie, Entwurf und Programmierung relationaler Datenbanken Teubner Verlag, 2007 3
Überblick über die Veranstaltung Historische Entwicklung von Datenbanksystemen Unterschiedliche Realisationsentwürfe für Datenbanken Hierarchische Datenbanken Netzwerkdatenbanken Objektorientierte Datenbanken Architekturmodelle von Datenbanksystemen Das ER-Modell Normalformen Erstellen von Datenbanken Die Abfragesprache SQL 4
Warum Datenbanken? Informationen bestehen aus Daten Seit Beginn der Computerindustrie stark zunehmendes Informationsaufkommen Notwendigkeit diese Informationen (Daten) zu verarbeiten und zu speichern Industrielle Folgen Rasantes Wachstum in der Speichertechnologie Anfänglich wurden Daten lediglich in Dateien abgespeichert Problem der redundanten Speicherung von Daten Unterschiedlicher Zugriff auf unterschiedliche Daten 5
Kernforderungen Daten sollen nicht verloren gehen persistente Datenspeicherung Daten sollen unterschiedlich gruppiert/ sortiert werden Es muß unterschiedliche Suchzugriffe geben Robust gegen Änderungen des Datenbestandes Möglichst redundanzfreie Speicherung 6
Historisches (1/2) Anfangs Datenhaltung direkt im Dateisystem Große Anzahl von Dateien Hierarchische Struktur durch das Dateisystem vorgegeben Hoher Anteil redundanter Daten Versuch der Problemlösung 1959 durch die CODASYL Konferenz CODASYL = COnference on DAta SYstems Languages Ergebnis: Programmiersprache COBOL Entwicklung eines standardisierten Verfahrens zur Definition und Manipulation von Daten (DDL und DML) 7
Historisches (2/2) Heute: Hauptsächlich relationale Datenbanken in Gebrauch De facto Standard in der Industrie Aber: Weiterhin Betrieb vieler alter Datenbanken mit anderer Architektur Viele aktuelle Produkte aus dem Bereich relationaler Datenbanken sind kostenfrei erhältlich (MySQL, etc.) Datenbankentwurf folgt klar definierten Vorgehensweisen Abfragesprache ist mittlerweile (nahezu) standardisiert (SQL) Schnittstellen in allen gängigen Sprachen vorhanden 8
Lernziele Was sind die zentralen Probleme bei der Organisation von Daten? In welcher Weise können Datenbankmanagementsysteme Unternehmen darin unterstützen, ihre Daten besser zu organisieren? Welche Auswirkungen haben die einschlägigen Datenmodelle auf den Zugriff und die Verwendung von Daten Was versteht man unter einem relationalen Datenmodell? Welche Anforderungen stellt der Einsatz einer Datenbankumgebung an die Unternehmensführung? 9
Lernziele Welche neuen Werkzeuge und Techniken können den Zugriff auf Datenbanken erleichtern und zu einer effizienten Nutzung der gespeicherten Daten beitragen? Welche Bedeutung haben Richtlinien zur Verwendung der Daten und die Sicherstellung von Datenqualität beim Management von Unternehmensdaten? 10
Modellierung von Daten Abbildung nach Laudon: Wirtschaftsinformatik 11
Datenorganisation Abbildung nach Laudon: Wirtschaftsinformatik 12
Termininologie Datensatz Gruppe von inhaltlich zusammenhängenden Datenelementen, die verschiedene Eigenschaften desselben Phänomens beschreiben. Datei Zusammenfassung logisch zusammen-gehörender, gleichartiger Datensätze, in der Regel auf Massenspeicher abgelegt. Datenbank Eine zusammengehörende Gruppe von Dateien zwischen denen (logische) Abhängigkeiten bestehen. 13
Entitäten und Attribute Entität Eine Entität ist im Sinne von Datenbanken ein Gegenstand, etwa ein Ort, Ding oder Ereignis, über das Daten gespeichert und gepflegt werden sollen. Attribut Ein Attribut ist die kleinste Einheit zur Beschreibung spezielle Eigenschaften einer Entität Beispiel: Entität: Person Attribute: Name Vorname Alter 14
Getrennte Datenhaltung Kundendaten Mitarbeiterdaten Welcher Mitarbeiter ist für welchen Kunden zuständig? 15
Problem: getrennte Datenhaltung Kunden Firma Nachname Vorname Auftrag Bearbeiter BMW Müller Karl 208 Winter Maier AG Rehn Erich 405 Winter Mitarbeiter <privat> Schulze Eva 307 Sommer Personal-Nr Nachname Vorname Funktion 1 Klein Theodor Geschäftsführer 2 Groß Elvira Sekretariat 3 Winter Egon Vertrieb 4 Sommer Karin Vertrieb 5 Lanz Max Vertrieb Wer bearbeitet Auftrag 307? 16
Motivation für Datenbankverwaltungssysteme Typische Probleme bei Informationsverarbeitung ohne DBMS Redundanz und Inkonsistenz Beschränkte Zugriffsmöglichkeiten Probleme beim Mehrbenutzerbetrieb Verlust von Daten Integritätsverletzung Sicherheitsprobleme hohe Entwicklungskosten für Anwendungsprogramme 17
Auswirkung: mangelnde Flexibilität In Dateien organisierte Daten sind unflexibel gegenüber Auswertungen und Verknüpfungen, da ein gleichzeitiger Zugriff auf mehrere Attribute und eine entsprechende Auswertung der Datenelemente zeitaufwendige Such- und Sortierverfahren erfordert Als Folge davon ist der Datenaustausch zwischen verschiedenen Anwendungssystemen schwierig zu bewerkstelligen 18
Auswirkungen: Datenredundanz Identische Informationen werden an verschiedenen Stellen, unabhängig voneinander, abgespeichert Bei Änderungen müssen an mehrere Stellen die gleichen Daten geändert werden Änderungen führen zu Inkonsistenzen, falls an einer Stelle nicht geändert wird Unterschiedliche Schreibungen führen zu Inkonsistenzen oder falschen Ergebnisse bei Abfragen Frankfurt am Main Frankfurt / Main FFM, etc. 19
Auswirkungen: beschränkte Zugriffsmöglichkeiten Sollen getrennt und redundant gespeicherte Daten verknüpft werden ist dies kaum möglich: Logische Verknüpfung mit Informationen aus einer Datei mit solchen aus einer anderen Datei sind nur schwer möglich Informationen liegen zerstreut über mehrere Dateien vor Sehr problematische Recherche in den Datenbeständen Möglicherweise unvollständige Abfragen Probleme werden beim Vorliegen von Inkonsistenzen noch vermehrt 20
Auswirkungen: Problematischer Mehrbenutzerbetrieb Greifen mehrere Benutzer auf in unterschiedlichen Dateien (redundant!) abgelegte Informationen zu, kann dies äußerst unangenehme Folgen für die Datenkonsistenz haben. Gleichzeitiges Ändern in einem Datensatz durch mehrere Benutzer Unterschiedliche Änderungen an verschiedenen Stellen Änderungen von Namen Adresse Telefonnummer Etc. 21
Auswirkungen: Verlust von Daten Große Probleme bei Datenverlust, z.b. Versehentliches Löschen einer Datei Hardwarefehler Unbeabsichtigtes Überschreiben Wiederherstellung des ursprünglichen Zustands äußerst problematisch. Bei Durchführung periodischer Sicherungen noch möglich Bei Verlust (oder Beschädigung) einzelner Dateien (der oft zunächst unbemerkt bleibt) kaum noch durchführbar 22
Auswirkungen: Integritätsverletzung Beispiel Universität, Schule, BA Rhein Main Falls Prüfungsleistungen dezentral (redundant) erfaßt werden. Schwierige Prüfung, ob Regularien eingehalten wurden Sind alle Prüfungen zur Zulassung Bachelor/Diplom bereits abgelegt? Sind schon alle Klausuren geschrieben? Schwierige Auswertungen Welcher Notendurchschnitt liegt vor? Wieviele Klausuren wurden geschrieben? Welche Dozenten wurden eingesetzt? Etc. 23
Auswirkungen: Integritätsverletzung / Löschanomalie Wird ein Datensatz gelöscht, von dem weitere (in anderen Dateien!) abhängen, so kann auf diese u.u. nicht mehr zugegriffen werden. Dies kann auch bei einfachen Datenänderungen auftreten: Namensänderung Änderung der Kundennummer Umfirmierung Personal-Nr Nachname Vorname Funktion 1 Klein Theodor Geschäftsführer 2 Groß Elvira Sekretariat 3 Winter Egon Vertrieb 4 Sommer Winter Karin Vertrieb 5 Lanz Max Vertrieb 24
. Auswirkungen: Personal-Nr Nachname Vorname Funktion 1 Klein Theodor Geschäftsführer 2 Groß Elvira Sekretariat 3 Winter Egon Vertrieb 4 Winter Karin Vertrieb 5 Lanz Max Vertrieb Firma Nachname Vorname Auftrag Bearbeiter BMW Müller Karl 208 Winter Maier AG Rehn Erich 405 Winter <privat> Schulze Eva 307 Sommer 25
Auswirkungen: Sicherheitsprobleme Unterschiedliche Benutzerrechte sind nur schwer umzusetzen. Beispielsweise: Datenänderungen nur bestimmte Personen zu erlauben Löschen einzelner Daten restriktiv zu behandeln Schwierige Einschränkung der Sichtbarkeit von Daten Gehaltsdaten Familiäre Verhältnisse Persönliche Daten Telefonnummer E-Mail Etc. 26
Auswirkungen: hohe Entwicklungskosten Beispiel: Entwicklung einer neuen Applikation, die auf die Datenbank zugreifen soll: Die Programmierer müssen sich sehr genau in die Datenhaltung einarbeiten Datenverwaltung wird zum Problem, wo es nicht hingehört Die Datenhaltung wird automatisch zum Teil jeder Applikation, die auf die Daten zugreift, statt nur den Datenzugriff zu regeln. 27
Lösung: Datenabstraktion Bei Datenbanksystemen unterscheidet man drei Arten von Datenabstraktion Die physische Ebene Festlegung wie die Daten gespeichert werden i.d.r Speicherung auf einem sog. Hintergrundspeicher der meist als Festplattenspeicher realisiert ist Die logische Ebene Festlegung welche Daten abgespeichert werden Festlegung des logischen Datenbankschemas Die Sichten Stellen anwendungs-/anwenderspezifische Teilmengen von Informationen aus dem Datenbestand bereit Sind z.b. auf Benutzergruppen zugeschnitten 28
Abstraktionsebene eines Datenbanksystems Sicht1 Sicht2 Sicht3 Logische Ebene Physikalische Ebene 29
Datenmodellierung Ausschnitt au der realen Welt Konzeptuelles Schema (ER-Schema) Transformation Relationales Schema XML Schema Netzwerk Schema Objektorientiertes Schema 30
Realisierung eines Vorlesungsplanes Name Vorname Studiengang Vorlesung Dozent Raum Müller Karl Wirtschaftsinformatik Informatik Bitner 102 Maier Eva Wirtschaftsinformatik Mathematik Bauer 101 Strotz Florian Wirtschaft Mathematik Löb 104 Klein Klaus Wirtschaft Kostenfalle Amsel 103 Klein Gerhard Wirtschaftsinformatik Graphen Euler 105 Lutz Klein Wirtschaft Mathematik Löb 104 Probleme: Implizite Abhängigkeiten in der Tabelle (Vorlesung Studiengang) Redundanzen (Studiengang) Unvollständige Informationen (Adressen fehlen) 31
Problemfälle Herr Strotz wechselt in das Fach Wirtschaftsinformatik Name Vorname Studiengang Vorlesung Dozent Raum Müller Karl Wirtschaftsinformatik Informatik Bitner 102 Maier Eva Wirtschaftsinformatik Mathematik Bauer 101 Strotz Florian Wirtschaftsinformatik Mathematik Löb 104 Klein Klaus Wirtschaft Kostenfalle Amsel 103 Klein Gerhard Wirtschaftsinformatik Graphen Euler 105 Lutz Klein Wirtschaft Mathematik Löb 104 Das Ändern des Fachs führt zu Inkonsistenzen: Dozent Löb ist nicht in der Wirtschaftsinformatik tätig Raum 104 ist für Wirtschaft reserviert Stammdaten von Herrn Strotz müssen separat geändert werden 32
Problemfälle Name Vorname Studiengang Vorlesung Dozent Raum Müller Karl Wirtschaftsinformatik Informatik Bitner 102 Maier Eva Wirtschaftsinformatik Mathematik Bauer 101 Strotz Florian Wirtschaft Mathematik Löb 104 Klein Klaus Wirtschaft Kostenfalle Amsel 103 Klein Gerhard Wirtschaftsinformatik Graphen Euler 105 Lutz Klein Wirtschaft Mathematik Löb 104 Redundanzen führen zu Mehraufwand: Es muß an unterschiedlichen Stellen geändert werden Schreibfehler wirken sich fatal aus 33
Problemfälle Name Vorname Studiengang Vorlesung Dozent Raum Müller Karl Wirtschaftsinformatik Informatik Bitner 102 Maier Eva Wirtschaftsinformatik Mathematik Bauer 101 Strotz Florian Wirtschaft Mathematik Bauer 104 Klein Klaus Wirtschaft Kostenfalle Amsel 103 Klein Gerhard Wirtschaftsinfomatik Graphen Euler 105 Lutz Klein Wirtschaft Mathematik Lob 104 Schreibfehler führen zu unvorhersehbaren Abfrageergebnissen Dozent Bauer ist nicht für Herrn Klein zuständig Der Student Klein geht bei Abfragen verloren 34
Was tun? Zur Vermeidung dieser Schwierigkeiten ist es notwendige klare Regeln zur Erstellung von Datenbanken zu haben, die eine konsistente Datenhaltung ermöglichen Erste Schritte: Datenabstraktion Datenstrukturen von der Speicherung trennen Datenunabhängigkeit Probleme entstehen durch Abhängigkeiten in der Datenhaltung (innerhalb einzelner Tabellen) Also sollten diese Abhängigkeiten vermieden werden. Logische Datenmodelle Definition unterschiedlicher Modelle zur Datenhaltung 35
Datenbankmanagementsysteme Abbildung nach Laudon: Wirtschaftsinformatik 36
Anforderungen und Antworten persistente Datenspeicherung Speicherung auf Festplatten Festplatten sind sehr viel langsamer als etwa RAM Speicher Intelligente Zugriffsmethoden und Speicherstrukturen 37
Moderne Architektur DBMS File manager Festplattenmanager Anwendung Betriebssystem Controller Welcher Datensatz wird gelesen (geschrieben)? Welcher Seite wird gelesen (geschrieben)? Welche Sektoren werden gelesen (geschrieben)? Datenbasis Festplatte Bereitstellen der physikalischen Daten 38
Methoden der Zugriffsoptimierung Indizierung Erzeugen von Indexdateien zum schnelleren Zugriff Mehrere Indizes existieren gleichzeitig Hashing Zugriff auf der Basis einfacher Berechnungen Verwendung von Zeigerketten Implementierung dynamischer Strukturen Verdichtungsverfahren Beschleunigung durch Komprimierung 39
Verdichtungsverfahren (Oracle) Index Key Compression (seit Version 8i) Indizes verbrauchen ca. ein Drittel des Gesamtspeicherplatzes (SAP) daher hohes Einsparpotential Index Organized Table Compression (seit Version 8i) komprimiertes Speichern normaler Tabellen Table Compression für direct load ab Version 9i für alle Operationen ab Version 11g Secure File Compression Ab Version 11g 40
Beispiel IOT Compression 41
Performancesteigerung Index Key Compression unter Oracle 42
Performancesteigerung Tablecompression 43
Zugriff auf Daten Der Zugriff auf einzelne Daten (sog. Datensatz) erfolgt durch einen eindeutig (!) vergebenen Wert, den sogenannten (Primär-) Schlüssel (i.d.r. Personalnummer, Auftragsnummer etc.) Pers. Nr. Name Vorname Studiengang Schlüssel 1 Müller Karl Wirtschaftsinformatik 2 Maier Eva Wirtschaftsinformatik 3 Strotz Florian Wirtschaft 4 Klein Klaus Wirtschaft 5 Klein Gerhard Wirtschaftsinformatik 6 Lutz Klein Wirtschaft Datensatz 44
Datenunabhängigkeit Datenunabhängigkeit wird durch das Ebenenmodell des Datenbanksystems ermöglicht. Es wird unterschieden zwischen Physischer Datenunabhängigkeit Modifikationen der physischen Speicherstruktur haben keine Auswirkungen auf die logische Datenstruktur Nachträgliche Indexierungen haben keinen Einfluß auf bestehende Anwendungen Logischer Datenunabhängigkeit Anwendungen nehmen Bezug auf die logische Datenstruktur Datenobjekte haben von der physischen Struktur unabhängige Eigenschaften (z.b. Namen, Vorname, Telefonnummer etc.) Logische Datenunabhängigkeit kann meist nur für einfache Modifikationen sichergestellt werden (Änderungen von Feldnamen) 45
Logische Datenmodelle Im Laufe der Zeit haben sich unterschiedliche Modelle zur Datenhaltung entwickelt Netzwerkmodell Hierarchisches Datenmodell Herkunft. Dateisysteme Relationales Datenmodell XML Schema Objektorientiertes Datenmodell objektrelationales Schema Deduktives Datenmodell Heute wird hauptsächlich das relationale Modell verwendet. 46
Das hierarchische Modell (1) Auto Rad Tür Felge Reifen Griff Schloß 47
Das hierarchische Modell (2) Abhängigkeiten in den Daten werden durch eine baumartige Struktur beschrieben Die Beschreibung der Elemente erfolgt in der Terminologie der Beschreibung von Bäumen Knoten Elternknoten Kindknoten etc. Probleme: Computer mit linearem Adreßraum können diese Strukturen nicht direkt abbilden Daher Realisierung als (verkettete) Liste 48
Das hierarchische Modell (3) Die Verwaltung des Systems liegt bei einem (Datenbank-) Administrator Anwender sind von der Verantwortung entbunden Datensicherheit zu garantieren Das hierarchische Modell ist gut geeignet große Datenmengen die in einer 1:N Beziehung stehen zu verwalten Nachteile Sehr aufwendiges Datenmanagement Sehr komplexe Implementierung der Datenbank notwendig Lösch-Anomalien werden begünstigt, bzw. haben z.t. fatale Auswirkungen Es werden nur 1:N Beziehungen dargestellt. 49
Das Netzwerkmodell (1) Tür Felge Auto Rad Achse Reifen 50
Das Netzwerkmodell (2) Mathematik Informatik Kostenrechnung Student Student Student Student 51
Das Netzwerkmodell (3) Entstehung des Modells 1971 als Folge der Conference on Data Systems Languages (CODASYL) Realisiert wird diese Modell vorwiegend mit COBOL Beziehungen zwischen Datensätzen werden über Zeiger realisiert Ein Kindknoten kann (im Gegensatz zum hierarchischen Modell) mehrere Elternknoten besitzen Vorteil: Schneller Zugriff, da Beziehungen direkt realisiert Nachteile Hoher Verwaltungsaufwand Strukturen schwer zu ändern 52
Das ER-Modell, relationale Datenbanken Bereits 1970 wurde von E.F. Codd das relationale Datenbankmodell entwickelt Vorgestellt im Artikel A Relational Model of Data for Large Shared Data Banks Umsetzung des Konzepts 1978 durch IBM mit System/R Adaption des Konzepts durch Relational Systems (die später in Oracle umfirmierten) mit den Produkten SQL/DS DB2 Relationale Datenbanken sind heute die am weitesten verbreiteten Datenbanken weltweit. 53
Relationale Datenbanken Vorteile relationaler Datenbankmanagementsysteme (RDBMS) Komplette Kapselung der physikalischen Datenspeicherung Anwender beziehen sich ausschließlich auf die logische Struktur der Daten Das grundlegende Konzept relationaler Datenbanken ist das der Tabelle Daten werden in Tabellen gespeichert Relationen bestehen zwischen Daten (Tabellen) Realisierung der Beziehungen zwischen Tabellen über Primär- und Fremdschlüssel 54
Relationale Datenbanken, Hinführung (1/2) Studenten hören Vorlesungen Tabelle Studenten Mat-Nr Vorname Nachname 1 Felix Klein 2 Eva Groß 3 Karl Sommer hören Tabelle Vorlesungen Vorl-Nr Vorlesung 1 Ethik 2 Gotik 3 Metrik 55
ER-Diagramme Abbildung nach Laudon: Wirtschaftsinformatik 56
Relationale Datenbanken, Hinführung (2/2) Name Vorname Studiengang Vorlesung Dozent Raum Müller Karl Wirtschaftsinformatik Informatik Bitner 102 Maier Eva Wirtschaftsinformatik Mathematik Bauer 101 Strotz Florian Wirtschaft Mathematik Löb 104 Klein Klaus Wirtschaft Kostenfalle Amsel 103 Klein Gerhard Wirtschaftsinformatik Graphen Euler 105 Lutz Klein Wirtschaft Mathematik Löb 104 Vor der Nutzung als Datenbank müssen die Daten angepaßt werden 57
Entwicklung relationale DBen 58