Aus den Grundlagen von Datenbanksystemen (7. Ausgabe) 7. Ausgabe (S. 39)
In DBMS, in denen eine klare Trennung zwischen der konzeptionellen und der internen Ebene beibehalten wird, wird die DDL nur zur Angabe des konzeptionellen Schemas verwendet. Eine andere Sprache, die Storage Definition Language (SDL) , wird verwendet, um das interne Schema anzugeben. Die Zuordnungen zwischen den beiden Schemata können in einer dieser Sprachen angegeben werden. In den meisten relationalen DBMS gibt es heute keine bestimmte Sprache, die die Rolle von SDL übernimmt. Stattdessen wird das interne Schema durch eine Kombination von Funktionen, Parametern und Spezifikationen für die Speicherung von Dateien angegeben. Diese ermöglichen es den DBA-Mitarbeitern, die Auswahl der Indizierung und die Zuordnung von Daten zum Speicher zu steuern. Für eine echte Architektur mit drei Schemata benötigen wir eine dritte Sprache, die View Definition Language (VDL)., um Benutzeransichten und deren Zuordnungen zum konzeptionellen Schema anzugeben. In den meisten DBMS wird die DDL jedoch verwendet, um sowohl konzeptionelle als auch externe Schemas zu definieren. In relationalen DBMS wird SQL in der Rolle von VDL verwendet, um Benutzer- oder Anwendungsansichten als Ergebnisse vordefinierter Abfragen zu definieren (siehe Kapitel 6 und 7).
In aktuellen DBMS werden die vorhergehenden Sprachtypen normalerweise nicht als unterschiedliche Sprachen betrachtet. Vielmehr wird eine umfassende integrierte Sprache verwendet, die Konstrukte für die konzeptionelle Schemadefinition, Ansichtsdefinition und Datenmanipulation enthält. Die Speicherdefinition wird normalerweise getrennt gehalten, da sie zum Definieren physischer Speicherstrukturen verwendet wird, um die Leistung des Datenbanksystems zu optimieren, was normalerweise vom DBA-Personal durchgeführt wird. Ein typisches Beispiel für eine umfassende Datenbanksprache ist die relationale SQL-Datenbanksprache (siehe Kapitel 6 und 7), die eine Kombination aus DDL, VDL und DML sowie Anweisungen für die Einschränkungsspezifikation, die Schemaentwicklung und viele andere Funktionen darstellt. Die SDL war eine Komponente in früheren Versionen von SQL, wurde jedoch aus der Sprache entfernt, um sie nur auf konzeptioneller und externer Ebene zu halten.
Dieselbe Quelle fährt fort, auf Seite 201,
Jedes kommerzielle RDBMS verfügt zusätzlich zu den SQL-Befehlen über eine Reihe von Befehlen zum Festlegen von Entwurfsparametern für physische Datenbanken, Dateistrukturen für Beziehungen und Zugriffspfaden wie Indizes. Wir haben diese Befehle in Kapitel 2 als Storage Definition Language (SDL) bezeichnet. Frühere Versionen von SQL verfügten über Befehle zum Erstellen von Indizes. Diese wurden jedoch aus der Sprache entfernt, da sie sich nicht auf der Ebene des konzeptionellen Schemas befanden. Viele Systeme haben noch die CREATE INDEX
Befehle; aber sie erfordern ein besonderes Privileg. Wir beschreiben dies in Kapitel 17.
Es scheint, dass diese Begriffe VDL und SDL aus dem Drei-Schema stammen , eine Idee in den 1970er Jahren. Laut diesem Autor wurden sie mehr oder weniger in SQL zusammengeführt, einer umfassenden Sprache, die versucht, all diese Probleme zu lösen.
Ich glaube, sie werden auch in A Preliminary Architectural Design für die funktionale Hierarchie des INFOPLEX-Datenbankcomputers referenziert. (1980) als "Database Sublanguage Faculty" und "View Translation Layer". In den späten 70ern und frühen 80ern fand ich zahlreiche Hinweise auf Modellsprachen und Speichersprachen.
Ein Beispiel nehmen CREATE TABLE f (x int, y varchar(25));
. Hier definieren Sie
- SDL: Der Speicher für die Zeile
int, varchar(25)
.
- DDL: das Schema:
f(x,y)
ein relationales Tupel mit zwei Slots.
- VDL: die "Ansicht", die nur eine Beziehung mit demselben Namen wie die Tabelle ist.
Zusätzlich zu den Dingen, die sich mit dem Speicher zu überschneiden scheinen, erweitern die meisten Datenbanken die Spezifikation, um über Indizes und Speicher-Backends zu sprechen, die sich absolut vom konzeptionellen Modell unterscheiden und sich auf das spezifische Speichermodell .
Sie können dies unter Datenbankverwaltungssysteme: Grundlegendes zur und Anwenden der Datenbanktechnologie (S. 210) als "Data Storage Definition Language (DSDL)" erneut sehen. Es wird viel über CODASYL, RDL (Relational Data Language), NDL (Network Data Language) und IRDIS (Information Resource Dictionary System) gesprochen.