Ein DBS besteht aus zwei Hauptkomponenten: dem eigentlichen Datenspeicher – der Datenbank – und der Schnittstelle, welche diese Daten verwaltet – das sogenannte Datenbankmanagementsystem.
Datenbank
Die DB ist eine Sammlung von logisch zusammengehörenden Daten. Diese sind für Anwendungssysteme und Benutzer nicht direkt sichtbar und werden oft in einer effizienten Speicherhierarchie (mit Zwischenspeicher) abgelegt. Der Zugriff erfolgt grundsätzlich über das Datenbankmanagementsystem. Allein administrativen Tätigkeiten, wie z.B. dem Erstellen von Backups, wird direkten Zugriff gewährt.
Datenbankmanagementsystem
Beim DBMS handelt es sich um eine Software, die den Datenbestand verwaltet und Zugriff auf ihn gewährt.
Je nach gewähltem DBMS erfüllt dieses viele weitere zentrale Aufgaben:
- Datensicherheit
- Die Daten werden verteilt abgespeichert oder kopiert und es werden regelmässige Backups erstellt. Zudem regelt das DBMS mit Hilfe von Benutzerrechten wer auf welche Daten zugreifen darf und wer Leserechte und wer nur Schreibrechte besitzt.
- Mehrbenutzerbetrieb durch Transaktionen
- Wenn ein Benutzer Daten abändert, so sind diese in einer Transaktion. D.h. andere Benutzer dürfen erst nach Abschluss der Transaktion wieder auf diese Daten zugreifen. Somit wird verhindert, dass mehrere Benutzer gleichzeitig dieselben Daten ändern und Konflikte entstehen.
- Sicherstellen der Datenintegrität
- Mit Hilfe von Regeln im DBMS kann festgelegt werden wie die Daten verändert werden dürfen, respektive was zulässige Werte sind. Z.B. könnte bei Geldüberweisungen eine Oberlimite festgelegt werden, oder man legt z.B. fest, dass wichtige Daten nicht fehlen dürfen.
- Anfrageoptimierung
- Damit Anfragen an die Datenbank so schnell wie möglich beantwortet werden können, stellt das DBMS verschiedene, teilweise sehr komplexe Mechanismen zur Verfügung, die für eine möglichst schnelle Reaktionszeit sorgen.
- Anwendungsunterstützung
- Gewisse DBMS bieten zur Unterstützung von Datenbankapplikationen Trigger und Stored Procedures an. Ein Trigger löst eine Aktion in der Datenbank aus, wenn ein bestimmtes Ereignis eingetreten ist, häufig bei Einfüge- oder Änderungsoperationen. Stored Procedures dienen dem Ausführen von Skripten in der Datenbank, z.B. automatische Backups jeden Abend.
- Sprachen
- Als Schnittstelle stellt das DMBS Datensprachen für Datenabfrage und -manipulation, für Verwaltung der Datenbank und Definition der Datenstrukturen, sowie für Berechtigungssteuerung.
Wir werden vor allem mit der Datensprache SQL arbeiten. Diese umfasst alle drei oben genannten Zwecke in einer Sprache. Befassen werden wir uns aber hauptsächlich mit der Abfrage von Daten.
Schichtenmodelle
Greift man über eine Anwendung auf ein Datenbanksystem zu, so kommt eine dritte Schicht dazu. Wir erhalten ein «Drei-Schichten-Modell» welches vielerorts in der Informatik auftritt.
Die Schichten definieren eine Schnittstelle zwischen den Schichten. Wenn wir nun das Datenbanksystem wechseln möchten und sowohl unser altes als auch unser neues DBMS die Sprache SQL versteht, so können wir die unteren beiden Schichten ohne grossen Aufwand auswechseln.
Bartledan via Wikimedia Commons, abgerufen am 1.5.2018, CC0 ↩︎