Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor/bei der Autorin. 1 In diesem Abschnitt geht es im wesentlich darum, die verschiedenen Grundkonzepte kennenzulernen, welche einem Datenbanksystem zugrunde gelegt werden. Hierbei geht es hauptsächlich um die Abgrenzung der unterschiedlichen Konzepte. Hauptbestandteil des Moduls sind die relationalen Datenbanken. Gegen Ende des Moduls werden im Rahmen eines Ausblick auch „nicht-relationalen Datenbanksysteme“ vorgestellt. An dieser Stelle schauen wir uns nur an, worin sich die einzelnen Datenbanksysteme im wesentlichen unterscheiden. 2 Grundsätzlich unterscheidet man Datenbanksysteme anhand der Datenmodelle, die man verwalten können möchte. Datenmodelle beschreiben, wie die Daten aufgebaut sind und die Daten zusammenhängen. Es geht also um die Struktur der Daten. 3 Hierarchische Modelle sind eines der ältesten Modelle und werden oft auch als Baumstruktur bezeichnet. Die Charakteristiken des Modelles sind: • Jeder Knoten hat genau einen Vorgänger. Ausnahme bildet die Wurzel • Lesezugriffe sind sehr schnell Bekannte Anwendungsfälle • Dateisysteme von Betriebssystemen • Speicherung von XML-Dokumenten. 4 Ist in etwa zur gleichen Zeit wie das relationale Modell entstanden. Die Grundidee ist, dass keine Information für sich alleine steht. Jede Information ist eingebettet in eine Umgebung und steht im Kontext von anderen Daten. Die Charakteristiken des Modelles sind: • Die Verbindungen der Knoten werden explizit in der Datenbank hinterlegt. • Es erfolgt keine Berechnung der Verbindungen zur Laufzeit. Bekannte Anwendungsfälle • Neo4J– Java Graph Datenbank 5 Das relationale Model bildet die Grundlage für alle relationalen Datenbanken. In der Praxis werden die Elemente einer Menge in Tabellen abgelegt. Relationale Modelle / Datenbanken bilden in diesem Kurs den Schwerpunkt. Die Charakteristiken den Modelles sind: • Ablegen der Daten in Tabellen • Relationen sind Beziehungen zwischen den Tabellen. • Relationen selbst können selbst wieder in eigenen Tabellen abgelegt werden. Bekannte Anwendungsfälle • Kommerzielle Einsatz in der Industrie und Finanz-Sektor. 6 Ziel der Objekt-Orientieren Datenbanken (OODB) ist es, Applikationen, die in einer objekt-orientierten Programmiersprache geschrieben sind, die Speicherung und Verwaltung der Daten zu vereinfachen. Es soll kein Paradigmenwechseln stattfinden, wenn man Objekte persistent speichern oder von einem Speichermedium lesen möchte. Am Ende des Kurses wird auf OODB auf diese Art der Datenbanksysteme näher eingegangen. Die Charakteristiken des Modelles sind: • Kein Paradigmenwechsel zwischen Datenmodell der Speicherung und der OOProgrammiersprache. • OODB sind meist eng an eine Programmiersprache gebunden Bekannte Anwendungsfälle • Wenige bekannt 7 Dieses Modell bildet die Grundlage vieler NoSQL Datenbanken und steht selten für sich alleine. Die meisten Implementationen verwenden Key/Value Tupel als Basis und erweitern das Modell um weitere Konzepte. Am Ende des Kurse im Abschnitt NoSQL, wird näher auf diese Art der Datenbanksysteme eingegangen. Die Charakteristiken des Modelles sind: • Speicherung von Key /Value Tupel • Meist kommen Hash-Verfahren zum Einsatz Bekannte Anwendungsfälle • Not Only SQL Datenbanken (NoSQL) 8 9