DatenbankspracheAls Datenbanksprache bezeichnet man formale Sprachen, die für den Einsatz in Datenbanksystemen entwickelt wurden. Mit Hilfe der Datenbanksprache kommuniziert ein Benutzer oder auch ein Programm mit der Datenbank bzw. dem Datenbankmanagementsystem (DBMS). Da ein wichtiger Teil der Arbeit mit Datenbanksystemen die Formulierung von Abfragen ist, gehört zum Sprachumfang in der Regel auch die (Datenbank-)Abfragesprache. Datenbanksprachen sind speziell auf die Anforderungen in diesem Umfeld (Datenbankerstellung, -pflege und -abfrage) zugeschnitten. Man kann sie als Turing-vollständig bezeichnen, aber es handelt sich nicht um Programmiersprachen im heute geläufigen Sinne – es kann keine Anwendungssoftware damit geschrieben werden. Es gibt eine Vielzahl von Datenbanksprachen, die oft auf bestimmte Datenbankmanagementsysteme zugeschnitten sind. Eine normierte Sprache für die weit verbreiteten Relationalen Datenbanksysteme (RDBMS) ist SQL, das gleichzeitig die Obermenge vieler, proprietärer implementierter SQL-Dialekte ist. SQL selbst schreibt nicht vor, wie die Befehle implementiert werden, sondern lediglich, wie sich die Datenbank bei bestimmten Operationen nach außen verhält. Unterteilung relationaler DatenbanksprachenEine gängige Kategorisierung der Elemente relationaler Datenbanksprachen sind die drei Sparten DML, DDL und DCL.
Gelegentlich taucht in der Literatur auch eine eigene Kategorie Data Query Language (DQL) für die Abfrage von Daten auf. Diese Einteilung ist jedoch nicht allgemein anerkannt (siehe hierzu die Sonderstellung der Abfrage). Einen weiteren Sonderfall bilden die Sprachelemente zur Arbeit mit Transaktionen, die uneinheitlich entweder der DML, der DCL oder einer eigenen Kategorie Transaction Control Language (TCL) zugeordnet werden. In SQL sind alle Elemente in einer Sprache durch unterschiedliche Anweisungen vereinigt. Beim historischen Datenbanksystem IMS gab es für DML und DDL eigene Sprachen (DL/I und Assembler-Makros), die DCL wurde mit Betriebssystemmitteln realisiert. Unterteilung nicht-relationaler DatenbanksprachenAnders als im relationalen Datenbankmodell wird im Netzwerkdatenbankmodell zwischen einer Data Storage Description Language (DSDL, physische Datenbeschreibung), einer Datenbeschreibungssprache (DDL, logische Datenbeschreibung) und einer Datenmanipulationssprache (DML) unterschieden.[1] Diese Dreiteilung basiert auf der allgemeineren ANSI-SPARC-Architektur und wurde als Standard von der Data Base Task Group vorgeschlagen, konnte sich jedoch nicht gegen das heute vorherrschende relationale Datenbankmodell durchsetzen. Im noch älteren hierarchischen Datenbankmodell war keine Unterteilung in Teilsprachen standardisiert. Abfragesprache versus DatenbankspracheDie Begriffe Abfragesprache und Datenbanksprache werden manchmal fälschlicherweise synonym verwendet.
Siehe auch
Einzelnachweise
|