(1) Einführung
Warum sind Datenbanken überhaupt notwendig?
Auch wenn Daten mit herkömmlichen Programmen effizient verwaltet werden können, stoßen diese bei großen Datenmengen und Mehrbenutzerzugriffen schnell an ihre Grenzen. Bei einer Flugbuchung müssen z.B. viele Nutzer gleichzeitig auf dieselben Daten zugreifen und Änderungen dauerhaft speichern können.
Ein Hauptproblem: Programme müssen die physische Datenstruktur genau kennen, was zu:
- hoher Komplexität,
- großem Anpassungsaufwand bei Änderungen,
- erhöhter Fehleranfälligkeit,
- hohen Einarbeitungskosten
führt.
Da sich Hardware, Speicherformate und Schnittstellen im Laufe der Zeit ändern, müssen Programme ständig angepasst werden.
Datenbanken lösen diese Probleme, indem sie, den Datenzugriff zentral verwalten, Strukturunabhängigkeit bieten, parallelen Zugriff sicher und konsistent ermöglichen.
Fazit: Bei komplexen und langfristigen Anwendungen sind Datenbanken unverzichtbar.
Definition
Was ist eine Datenbank?
Eine Datenbank ist eine Sammlung von Daten, die untereinander in einer logischen Beziehung stehen und von einem eigenen Datenbankverwaltungssystem (Database Management System, DBMS) verwaltet werden.
Was ist ein DMBS und was ist sein Zweck?
Das Datenbankverwaltungssystem (DBMS) schottet die Daten vollständig ab. Dieses DBMS besitzt eine von der Hardware unabhängige logische Schnittstelle nach außen. Alle Benutzer und damit auch alle Anwendungsprogramme greifen ausschließlich über diese Schnittstelle auf die Daten zu.
Das DBMS setzt diese logischen Zugriffe in physische um und liest und schreibt letztlich die Daten selbst vom bzw. auf das Speichermedium. Diese logische Schnittstelle wird vom Datenbankhersteller exakt definiert. Damit entfallen komplexe physische Zugriffsbefehle auf die Datenbestände. Änderungen an der Datenstruktur ist nach außen nicht sichtbar.
Ein DBMS bietet viele Vorteile gegenüber anderen Speicheformen:
- es die Daten sehr performant bereitstellen
- es kann Zugriffsrechte verwalten
- es prüft die Konsistenz der Daten
- es erlaubt den parallelen Zugriff mehrerer Benutzer
- es ermöglicht eine Transaktionslogik
- Backup und Recovery möglich
Nachteile:
- Kosten (Lizenzen, spezialisiertes Personal)
- Komplexität (Implementierung und Wartung)
- GGf. hohe Hardware Anforderungen
SQL
Die heute mit Abstand wichtigste und weit verbreitete Datenbankschnittstelle ist SQL. SQL steht für Structured Query Language und ist eine Zugriffssprache auf relationale Datenbanken. Sie wurde von E. F. Codd ab 1970 bei IBM entwickelt, hieß zunächst SEQUEL und wurde 1979 von Oracle bei der Einführung des allerersten kommerziellen DBMS Oracle V2 unter dem heutigen Namen SQL vorgestellt.
MERKE - Auf die Daten einer Datenbank greifen Anwendungsprogramme und Endbenutzer über eine komfortable, mächtige und normierte Schnittstelle des DBMS (zum Beispiel über die normierte Sprache SQL) zu. Kenntnisse über die innere physische Struktur der Daten innerhalb der Datenbank sind nicht erforderlich. Die Umsetzung der logischen in physische Zugriffe übernimmt das DBMS.
Anforderungen an einer Datenbank
Anforderungen an eine Datenbank – Zusammenfassung
Moderne Datenbanksysteme sollen vielfältige Anforderungen erfüllen, um große Datenmengen effizient zu verwalten. Die wichtigsten Anforderungen sind:
Logisch verbundene Datensammlung: Nur zusammengehörige Daten sollten gemeinsam gespeichert werden. Unabhängige Daten sind getrennt zu verwalten, was die Struktur vereinfacht.
Möglichst geringe Redundanz: Doppelte Datenspeicherung (Redundanz) ist speicherintensiv und fehleranfällig. Eine Datenbank sollte redundanzarme Speicherung ermöglichen und bei unvermeidbarer Redundanz für automatische Konsistenz sorgen.
Abfrage- und Änderbarkeit: Daten müssen schnell und zuverlässig abfragbar und änderbar sein – idealerweise innerhalb weniger Sekunden. Auch komplexe Abfragen über mehrere Tabellen und Speicherorte hinweg müssen effizient möglich sein.
Zusätzlich gilt:
Die physische Speicherung und Verteilung der Daten (z. B. über mehrere Rechner oder in der Cloud) soll für den Nutzer transparent sein. Die Verwaltung dieser technischen Details übernimmt das Datenbankmanagementsystem (DBMS).
Aufgabenverteilung in der Datenbank
Diese Aufgabenteilung tritt auch an der Datenbankschnittstelle deutlich hervor. Diese Schnittstelle lässt sich entsprechend in drei Teile zerlegen:
- DDL (Data Description Language)
- DCL (Data Control Language, oft in DDL integriert)
- DML (Data Manipulation Language)
DDL und DCL sind das Refugium der Administratoren. Sie dienen der Beschreibung (DDL) und Kontrolle (DCL) der Datenbank.
Einige typisch DDL-Befehle in SQL sind:
CREATE TABLEzum Erzeugen einer Tabelle,DROP TABLEzum Löschen einer Tabelle
DCL-Befehle:
CREATE VIEWzum Erzeugen einer Sicht,GRANTzum Gewähren von Zugriffsrechten
Mittels DML-Befehlen werden Daten manipuliert, also gespeichert, gelesen, geändert und gelöscht. Die vier DML-Befehle von SQL haben heißen:
SELECTzum Abfragen,UPDATEzum Ändern,DELETEzum Löschen undINSERTzum Einfügen von Daten in eine Datenbank.
Genauer gesagt gehört der SELECT-Befehl zur DQL (Data Query Language) denn damit werden Daten nicht manipuliert, sonder einfach nur abgefragt.