Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger Jahren waren die wesentlichen Ein- und Ausgabegabemedien für große Datenmengen Papier und Magnetbänder. Da beide Medien ausschließlich sequentielle Verarbeitung zulassen, gab es in dieser Generation nur den sequentiellen Zugriff auf die Datensätze einer Datei. 2. Generation: In den frühen sechziger Jahren konnten die Rechner erstmalig im Dialog-Betrieb genutzt werden und durch den Einsätz schneller, wahlfreier Speichermedien wie Magnetplatten war ein direkter Zugriff auf einzelne Datensätze möglich. Den Datensätzen wurde dazu eine Adresse zugeordnet, die dann mittels Indexdatei oder Hashfunktion ermittelt wurde. In beiden Generationen bestand eine starre Zuordnung zwischen Datei und Anwenderprogramm. 3. Generation: In dieser Generation (etwa 1965-1975) wurde die Unterscheidung zwischen logischen und physischen Informationen eingeführt. Damit war eine gemeinsame Nutzung der Dateien und verschiedene Sichten auf die Daten möglich. Hierarchische und Netzwerkmodelle. 4. Generation: Die Systeme dieser Generation (1975 bis heute) trennen klar zwischen dem physischen Datenmodell (insbesonder der Einmalspeicherung der Daten zwecks zentraler Verwaltung) und dem logischen Datenmodell, wie es in dem relationalen Modell am weitesten entwickelt ist. Diese Datenbanksysteme werden im Drei-Ebenen-Konzept (s.u.) dargestellt. Theoriebildung. 5. Generation: Objektorientierte Datenbanken (State of the Art) Klassische Dateiverwaltung - Terminologie: Datei (File), Datensatz(Record), Datenfeld(Field), Datentyp. - Beispiele für Dateien (Bibliothek, Adressverzeichnis, …) 5 4 3 2 2 1 Literatur Typ Verfasser Titel Erscheinungsjahr Erscheinungsort ausgeliehen ausgeliehen am Text Text Zahl Text Boolean Datum - Beispiel "Literaturverwaltung" in FileMaker Pro Weizenbaum, Joseph Die Macht der Computer… 1982 Frankfurt am Main ja 13.5.92 Datei Literatur Datensatz 11. Datensatz Datenfeld Kant Kritik der reinen V. Meiners 1984 Datentyp Text Text Text Integer Probleme der einfachen Dateiverwaltung Das klassische Dateikonzept weist einige Nachteile auf, die insbesondere bei Daten- oder Strukturveränderungen unangenehm auffallen. Übung: Erweiterung des Hochschulmodells um Beschäftigte, Studenten Namensänderung Redundanz Datenbanken Datenbanken erlauben die Verknüpfung von mehreren Dateien. Sie lassen sich programmieren und besitzen teilweise umfangreiche Mechanismen für Datensicherheit, Datenschutz und Recovery. Datenbank Literaturdatenbank Datei Literatur Verlag Datensatz Datenfeld Kant Teubner Datentyp Datenorganisation Hierarchische Datenorganisation Netzwerk-Organisation Relationale Datenorganisation Teubner Stuttgart 12345 Das Dreischichtenmodell Für die Planung und den Entwurf von Datenstrukturen innerhalb eines DBMS geht man üblicherweise in drei Schritten vor. Konzeptuelle Ebene (Konzeptuelles Schema) Auf der konzeptuellen Ebene wird unabhängig von den Anforderungen der DVAnlage eine logische Gesamtsicht der Daten festgelegt. Dieses konzeptuelle Schema wird durch einen Datenbankadministrator festgelegt. Externe Ebene (Externes Schema) Die Daten werden so dargestellt, wie die Benutzer oder die Programme sie benötigen. Interne Ebene. (Internes Schema) Die Daten werden so auf den Speichern organisiert, daß die Zugriffsanforderungen der verschiedenen Benutzer erfüllt werden können. Transformationsregeln (Folie Vossen S. 21) Zwischen den Ebenen werden die Transformationsregeln festgelegt, die die Unabhängigkeit der einzelnen Ebenen gewährleisten. Vorteile einer Datenbank Redundanzfreiheit Die Daten treten in der Datenbank nur einmal auf. Damit wird eine erhebliche Reduzierung des Änderungs- und Speicheraufwands erreicht. Aus Effizienzgründen wird in Datenbanken manchmal mit Redundanz gearbeitet, die dann allerdings zentral durch das DBMS kontrolliert wird. Vielfachverwendbarkeit Verschiedenen Benutzern mit unterschiedlichen Anforderungen können auf dieselbe Datenbank zugreifen. Datenunabhängigkeit Die vom Benutzer gewünschte Datenstruktur ist unabhängig von der physischen Struktur. Physische Datenunabhängigkeit (intern - konzeptuell) und logische Datenunabhängigkeit (konzeptuell - extern). Programmunabhängigkeit Die Anwenderprogramme sind datenunabhängig, d.h. bei Änderung der Organisationsform der Datei müssen die Programme nicht angepaßt werden. Datenkompatibilität Durch die Festlegung der Datenstruktur wird die Mehrfachverwendung und der Datenaustausch begünstigt. Integrität, Konsistenz Unter Integrität versteht man die Korrektheit und Vollständigkeit der abgespeicherten Daten. Die Verwaltung der Daten durch das DBMS ermöglicht Kontrollroutinen bei der Aufnahme neuer oder Änderung alter Daten und zur regelmäßigen Überprüfung (Recovery) des bestehenden Datenbestandes. Datensicherheit, Datenschutz Schutz vor Verlust und Verfälschung der Daten und vor unberechtigtem Zugriff auf die Daten. Abkürzungen: DB = Datenbank (Data Base) DBMS = Datenbank Management System (Data Base M. System) DBS = Datenbanksystem (Data Base System) DB + DBMS = DBS DDL = Data Description Language DML = Data Manipulation Language DBA = Datenbankadministrator (Data Base Administrator) (Datenbankadm,Unternehmensadm,Anwendungsadm) Data Dictonary