Ein wichtiges Konzept von Datenbanken ist die Datenunabhängigkeit, d.h. die Unabhängidkeit der eigentlichen Daten von der Art der Speicherung der Daten und der Art wie darauf zugegriffen wird.
Physische Datenunabhängigkeit: Anwendungsprogramme funktionieren immer noch, auch wenn sich die Speicherstruktur ändert, sofern das möglich ist (benötigte Daten nicht entfernt wurden).
Erläuterung: Wird die Speicherstrukur von einem B+Baum zu einer Speicherung in einem B-Baum geändert, ist das geschriebene Anwendungsprogramm (Verwaltungsprogramm der Bibliothek) immer noch lauffähig. Es kann sogar eine ganze Spalte gelöscht werden, soweit diese nicht vom Verwaltungsprogramm der Bibliothek verwendet wird.
3 Schichtenmodell einer Datenbank (ANSI-SPARC Architektur)
Trennung von physischer Datenrepräsentation von Benutzersichten und logischer Datenstruktur.
Wie typisch bei Schichtenmodellen, können Informationen nur zwischen benachbarten Schichten ausgetauscht werden. Die oberste Schicht (Externe Sicht), kennt also keine Details der physischen Schicht.
In der Regel werden die Sichten (external views) definiert durch die Anwendungen (diese sind programmiert, um nur bestimme Inhalte der Datenbank anzuzeigen).
Die logische Schicht (logical layer/conceptual layer) nimmt eine logische Definition der Struktur und Beziehungen zwischen den Daten vor.
Die phyische Schicht (physical layer) entscheidet letztlich über die Speicherung auf Hardware. Konkrete Implementierung einer Speicherstruktur.
Datenbankschema (Database schema) – konzeptionelle Schicht
Das Datenbankschema legt die Struktur der gespeicherten Daten fest. Also Spezifikation des Inhalts einer Datenbank mit Hilfe von Datentypen und Spaltenbezeichnungen. Das Datenbankschema kann im Laufe der Zeit geändert werden, ist sonst aber statisch. Die Festlegung wird in der Regel einmalig getroffen und häufig nur noch erweitert. In der Regel wird das Schema getrennt von den Daten der Datenbank gespeichert.
Unterschied Datenbank und Datenbankschema: Das Datenbankschema ist statisch. Die Datenbank ist dynamisch, kann sich also von Zeit zu Zeit ändern (gemeint sind hier die Zeilen der Tabellen ohne die Kopfzeile). Unter dem Datenbankschema kann man sich die Kopfzeile einer Tabelle vorstellen. Es sind jedoch noch weitere Daten, neben der reinen Bezeichnung, enthalten.
Datenbankerstellung und Zugriff auf gespeicherte Daten
Data Definition Language (DDL): Sprache um das Datenbankschema zu definieren.
Data Manipulation Language (DML): Sprache um Anfragen an die Datenbank zu stellen und Datenbankinhalte zu aktualisieren.
Zusätzlich wird häufig noch der Begriff Data Administration Language definiert: Mit dieser Sprache ist dann eine detaillierte Anpassung der Datenbankparameter möglich, z.B. Veränderung der Speicherstruktur.
DDL und DML sind den Schichten externe Sicht, sowie konzeptionelle Schicht zuzuordnen. Die Data Administration Language wird der physichen Schicht zugeordnet.
SQL (Structured Query Language) ist DDL als auch DML. SQL ist die Standardsprache um Abfragen an eine Datenbank zu stellen als auch die Struktur der Datenbank zu definieren. Grundlegende Befehle werden in einem der folgenden Artikel vorgestellt.