Datenbanken Teil 1: Überblick Michael Gamer / 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 Michael Gamer 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 Michael Gamer 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 Michael Gamer 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 Michael Gamer 5 Kernforderungen Michael Gamer 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) Michael Gamer 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 Michael Gamer 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? Michael Gamer 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? Michael Gamer 10 Modellierung von Daten Abbildung nach Laudon: Wirtschaftsinformatik Michael Gamer 11 Datenorganisation Abbildung nach Laudon: Wirtschaftsinformatik Michael Gamer 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. Michael Gamer 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 Michael Gamer 14 Getrennte Datenhaltung Kundendaten Mitarbeiterdaten Welcher Mitarbeiter ist für welchen Kunden zuständig? Michael Gamer 15 Problem: getrennte Datenhaltung Kunden Mitarbeiter Firma Nachname Vorname Auftrag Bearbeiter BMW Müller Karl 208 Winter Maier AG Rehn Erich 405 Winter <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? Michael Gamer 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 Michael Gamer 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 Michael Gamer 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. Michael Gamer 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 Michael Gamer 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. Michael Gamer 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 Michael Gamer 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. Michael Gamer 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 Michael Gamer Personal-Nr Nachname Vorname Funktion 1 Klein Theodor Geschäftsführer 2 Groß Elvira Sekretariat 3 Winter Egon Vertrieb 4 Winter Sommer Karin Vertrieb 5 Lanz Max Vertrieb 24 …. Auswirkungen: Michael Gamer 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. Michael Gamer 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. Michael Gamer 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 Michael Gamer 28 Abstraktionsebene eines Datenbanksystems Sicht1 Sicht2 Sicht3 Logische Ebene Physikalische Ebene Michael Gamer 29 Datenmodellierung Ausschnitt au der realen Welt Konzeptuelles Schema (ER-Schema) Transformation Relationales Schema Michael Gamer 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: • • • Michael Gamer 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 Michael Gamer 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 Michael Gamer 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“ Michael Gamer 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 Michael Gamer 35 Datenbankmanagementsysteme Abbildung nach Laudon: Wirtschaftsinformatik Michael Gamer 36 Anforderungen und Antworten persistente Datenspeicherung Festplatten sind sehr viel langsamer als etwa RAM Speicher Michael Gamer Speicherung auf Festplatten 🐌 Intelligente Zugriffsmethoden und Speicherstrukturen 37 Moderne Architektur DBMS Anwendung File manager Betriebssystem Festplattenmanager Datenbasis Michael Gamer Controller Festplatte Welcher Datensatz wird gelesen (geschrieben)? Welcher Seite wird gelesen (geschrieben)? Welche Sektoren werden gelesen (geschrieben)? 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 Michael Gamer 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 Michael Gamer 40 Beispiel IOT Compression Michael Gamer 41 Performancesteigerung Index Key Compression unter Oracle Michael Gamer 42 Performancesteigerung Tablecompression Michael Gamer 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 Sc 1 hlü Müller Karl Wirtschaftsinformatik Datensatz Maier Eva Wirtschaftsinformatik Strotz Florian Wirtschaft 4 Klein Klaus Wirtschaft 5 Klein Gerhard Wirtschaftsinformatik 6 Lutz Klein Wirtschaft 2 3 Michael Gamer ss el Studiengang 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) Michael Gamer 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. Michael Gamer 46 Das hierarchische Modell (1) Auto Rad Felge Michael Gamer Tür 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 Michael Gamer 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. Michael Gamer 49 Das Netzwerkmodell (1) Tür Auto Achse Michael Gamer Felge Rad Reifen 50 Das Netzwerkmodell (2) Mathematik Informatik Kostenrechnung Student Student Student Student Michael Gamer 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 Michael Gamer 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. Michael Gamer 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 Michael Gamer 54 Relationale Datenbanken, Hinführung (1/2) hören Studenten Vorlesungen Tabelle Vorlesungen Tabelle Studenten Mat-Nr Vorname Nachname 1 Felix Klein 2 Eva 3 Karl Michael Gamer Vorl-Nr Vorlesung 1 Ethik Groß 2 Gotik Sommer 3 Metrik hören 55 ER-Diagramme Abbildung nach Laudon: Wirtschaftsinformatik Michael Gamer 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 Michael Gamer 57 Entwicklung relationale DBen Michael Gamer 58