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 Einsatz 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 aufgehoben, die dann nicht nur verarbeitet, sondern auch verwaltet wurden. Damit war eine gemeinsame Nutzung der Dateien und verschiedene Sichten auf die Daten möglich. 4. Generation: Die Systeme dieser Generation (1975 bis ca. 1990) trennen klar zwischen dem physischen Datenmodell (insbesondere 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. 5. Generation: Objektorientierte Datenbanken (neunziger Jahre) In objektorientierten Datenbanken werden die Daten in Objekten modelliert. Damit sind spezielle Verarbeitungen möglich, die in den früheren Strukturen nur sehr aufwendig realisiert werden konnten (z.B. Vererbung). Vorteile einer Datenbank
Datenorganisation und Begriffe
Eine Datenbank kann aus mehreren Dateien bestehen, die jeweils in Datensätze untergliedert sind. Jeder Satz wird durch den Satztyp deklariert, d.h. festgelegt, aus welchen Komponenten er besteht und welcher Datentyp diesen Komponenten zugeordnet ist. Eine Datei besteht immer aus Sätzen des gleichen Typs. Die Komponenten eines Satzes heißen Felder (Datenfelder oder Datenelemente) und können unterschiedliche Datentypen besitzen.
Das Dreischichtenmodell Für die Planung und den Entwurf von Datenstrukturen innerhalb eines Datenbankmanagementsystems (DBMS) geht man üblicherweise in drei Schritten vor. Konzeptuelle (logische) Ebene Auf der konzeptuellen Ebene wird unabhängig von den Anforderungen der DV-Anlage eine logische Gesamtsicht der Daten festgelegt. Dieses konzeptuelle Schema wird durch einen Datenbankadministrator festgelegt. Beispiel: Für eine Bibliotheksanwendung werden die Datenstrukturen für die Bücher, die Benutzer und die Ausleihdaten konzipiert und die dazugehörigen Felder und Dateitypen festgelegt. Regeln:
Externe Ebene Die Daten werden so dargestellt, wie die Benutzer oder die Programme sie benötigen. (Ansichten) Beispiel: Für die Bibliotheksmitarbeiter gibt es zum Einarbeiten der Bücher andere Sichten (und Zugriffsrechte) als für Studierende, die Literatur suchen und ausleihen wollen. Interne Ebene Die Daten werden so auf den Speichern organisiert, daß die Zugriffsanforderungen der verschiedenen Benutzer erfüllt werden können. Beispiel: Für die Autoren- und für die Titel-Felder werden zur Beschleunigung der Suchen Indexe erstellt. Zwischen den Ebenen werden die Transformationsregeln festgelegt, die die Unabhängigkeit der einzelnen Ebenen gewährleisten. Relationale Datenbanken Das Konzept der relationalen Datenbanken wurde gegen Ende der 60er Jahre vom IBM Mitarbeiter Dr. E. F. Codd entwickelt und hat sich seitdem unaufhaltsam verbreitet. In der traditionellen Dateiverarbeitung (hierarchische DB und netzwerkorientierte DB) operiert man auf einzelnen Datenbanken, während in den relationalen Datenbanken vom Konzept her auf ganzen Dateien bzw. Tabellen gearbeitet wird. Relationale Datenbanken sind einfach aufzubauen und sehr leistungsfähig in der Verknüpfung und Verarbeitung der Daten. Um aus verschiedenen Tabellen eine relationale Datenbank zu machen, bedarf es der Befolgung bestimmter Regeln: Tabellen Eigenschaften
Neue Tabellen können aufgrund von Übereinstimmungen von Feldinhalten derselben Domäne in zwei bestehenden Tabellen erzeugt werden. Die Bildung neuer Tabellen aus bestehenden heraus ist eine der zentralen Funktionen relationaler Datenverarbeitung. Eigenschaften der Attribute Mit Festlegung eines Datentyps für jedes Attribut kann erreicht werden, dass
Entity-Relationship-Modell Bei relationalen Datenbanken ist beim Entwurf der Relationen zu beachten, dass die Daten "sauber" strukturiert sind, damit während der Verarbeitung keine Redundanzen und Anomalien entstehen. Diese Formen der Strukturierung werden als Normalformen bezeichnet. Als Entwurfsformalismus hat sich das sogenannte Entity-Relationship-Modell etabliert, in der die Daten und ihre Beziehungen untereinander grafisch dargestellt werden. Von zentraler Bedeutung sind die Beziehungen die zwischen den Tabellen konstruiert werden.
In der Regel enthält jeder Satz einen Schlüssel, d.h. ein Datenfeld, mit der der Datensatz identifiziert werden kann. Mit Hilfe dieses Schlüssels können auch Such- und Sortierroutinen erheblich beschleunigt werden. Ein Schlüssel, der aus einem Attribut oder einer Attributskombination besteht und dem genau einem Datensatz zugeordnet ist, wird als Primärschlüssel (primary key) bezeichnet. Ein Sekundärschlüssel (foreign key) kann zu mehreren Datensätzen führen. |