Data Definition Language (DDL) – Definition
Die Data Definition Language (DDL) ist von entscheidender Bedeutung für die Datenbankverwaltung, da sie die Grundlage für die Strukturierung und Verwaltung von Daten legt. Durch die präzisen Befehle und die spezifische Syntax ermöglicht die DDL die Definition von Speichergruppen (stogroups), verschiedenen Strukturen und Objekten in einer Datenbank. Die Vielfalt der unterstützten Objekte, darunter Tabellen, Sequenzen, Standorte, Aliase, Schemata und Indizes, macht die Data Definition Language zu einem umfassenden Werkzeug für die Datenbankentwicklung und -wartung.
DDL-Anweisungen sind standardisiert und bieten eine konsistente Methode zur Erstellung, Änderung und Entfernung von Datenbankobjekten. Die Fähigkeit, Storage-Gruppen zu definieren, ermöglicht es Entwicklern, die physische Speicherung von Daten gezielt zu steuern und so die Leistung und Skalierbarkeit der Datenbank zu optimieren.
Ein weiterer wichtiger Aspekt der Data Definition Language ist ihre Rolle bei der Erzwingung von Datenintegrität durch die Implementierung von Einschränkungen wie UNIQUE, PRIMARY KEY, FOREIGN KEY und CHECK. Diese Einschränkungen gewährleisten, dass die Datenbank konsistent und frei von inkonsistenten oder widersprüchlichen Daten bleibt.
Darüber hinaus ermöglicht Data Definition Language die Definition von Aliasen, die es Entwicklern erleichtern, komplexe Datenbankstrukturen zu vereinfachen und besser zu verstehen. Die Möglichkeit, Sequenzen zu erstellen, ist besonders wichtig für die Erzeugung eindeutiger Identifikatoren in Anwendungen.
Insgesamt spielt die Data Definition Language eine zentrale Rolle in der Datenbankverwaltung, da sie die Grundlage für eine effiziente Datenorganisation und -verwaltung legt. Entwickler und Datenbankadministratoren verlassen sich auf die Präzision und Flexibilität der DDL, um komplexe Datenbankstrukturen zu entwerfen und zu pflegen, was wiederum die Grundlage für leistungsfähige und zuverlässige Anwendungen bildet.
Erklärung der Data Definition Language
Data Definition Language ist eine standardisierte Sprache mit Befehlen zum Definieren von Speichergruppen (stogroups), verschiedenen Strukturen und Objekten in einer Datenbank. DDL-Anweisungen erstellen, ändern und entfernen Datenbankobjekte wie Tabellen, Indizes und Stogroups. DDL wird auch im generischen Sinne verwendet, um jede Sprache zu beschreiben, die Daten beschreibt.
Data Definition Language enthält Structured Query Language (SQL)-Anweisungen zum Erstellen und Löschen von Datenbanken, Aliassen, Standorten, Indizes, Tabellen und Sequenzen. Es enthält auch Anweisungen zum Ändern dieser Objekte und zum Festlegen oder Löschen bestimmter Einschränkungen für Tabellen, wie:
- UNIQUE
- PRIMARY
- FOREIGN KEY
- CHECK
Diese Einschränkungen werden verwendet, um Eindeutigkeit, referenzielle oder domänenbezogene Integrität durchzusetzen.
Wenn eine DDL-Anweisung ausgeführt wird, tritt sie sofort in der Datenbank in Kraft.
DDL wird manchmal als Data Description Language bezeichnet, da ihre Anweisungen auch verwendet werden können, um Datenbankobjekte zu beschreiben, zu kommentieren und mit Labels zu versehen.
DDL vs. SQL vs. DML vs. DQL
Da DDL SQL-Anweisungen zum Definieren von Änderungen am Datenbankschema enthält, wird es als Teilmenge von SQL betrachtet. SQL verwendet normale englische Verben, um Datenbankobjekte zu ändern, und DDL erscheint nicht als separate Sprache in einer SQL-Datenbank.
In Data Manipulation Language (DML) werden Befehle zum Ändern von Daten in einer Datenbank verwendet. DML-Anweisungen steuern den Zugriff auf die Datenbankdaten. Im Gegensatz dazu werden DDL-Befehle verwendet, um die Struktur von Objekten in einer Datenbank zu erstellen, zu löschen oder zu ändern, jedoch nicht deren Daten. DDL befasst sich mit Beschreibungen des Datenbankschemas und ist nützlich zum Erstellen neuer Tabellen, Indizes, Sequenzen, Stogroups usw. und zum Definieren der Attribute dieser Objekte, wie Datentyp, Feldlänge und alternative Tabellennamen (Aliasse).
Data Query Language (DQL) wird verwendet, um Daten innerhalb der Schemaobjekte einer Datenbank abzurufen und abzufragen sowie eine Reihenfolge darauf zu erzwingen. Wie Data Definition Language ist DQL ebenfalls eine Teilmenge von SQL. Einer der häufigsten Befehle in DQL ist SELECT. Es ermöglicht Benutzern, Daten aus einer Datenbanktabelle abzurufen und eine Operation darauf durchzuführen. Wenn die Anweisung ausgeführt wird, wird das Ergebnis in eine temporäre Tabelle kompiliert und vom Front-End-Programm oder der Anwendung angezeigt.
Häufige Data Definition Language-Befehle
Für allgemeine Anwender, die nicht über die Berechtigungen für den direkten Zugriff auf die Datenbank verfügen, ist es von entscheidender Bedeutung, auf eine indirekte Zugriffsmethode über die Anwendung zurückzugreifen. Diese Vorgehensweise dient nicht nur dem Schutz sensibler Daten, sondern gewährleistet auch eine konsistente und sichere Interaktion mit der Datenbank. Durch die Verwendung von Anwendungen als Vermittler können allgemeine Benutzer spezifische Funktionen nutzen, ohne sich mit den komplexen Details der Datenbankverwaltung auseinandersetzen zu müssen.
Indem sie indirekt auf die Datenbank zugreifen, können allgemeine Anwender effizient und sicher auf Informationen zugreifen, die für ihre Aufgaben relevant sind. Dieser Ansatz ermöglicht eine klare Trennung der Aufgaben und gewährleistet, dass die Datenbankadministration in den Händen von Fachleuten liegt, die mit den feinen Nuancen der Datenbankverwaltung vertraut sind. Darüber hinaus fördert die Nutzung von Anwendungen als Schnittstelle die Benutzerfreundlichkeit und reduziert das Risiko von Fehlern, die durch direkte Manipulation der Datenbankstrukturen entstehen könnten. Somit wird nicht nur die Sicherheit der Daten gewährleistet, sondern auch eine reibungslose und effektive Zusammenarbeit zwischen allgemeinen Benutzern und der zugrunde liegenden Datenbank erreicht.
CREATE
Die häufigsten Befehlstypen in DDL sind CREATE, ALTER und DROP. Alle drei Typen haben eine vordefinierte Syntax, die befolgt werden muss, damit der Befehl ausgeführt wird und Änderungen wirksam werden.
Syntax
CREATE TABLE [Tabellenname] ([Spaltendefinitionen]) [Tabellenparameter];
CREATE-Gruppe von DDL-Befehlen umfasst
CREATE DATABASE
definiert eine logische Datenbank unter dem aktiven Standortstammverzeichnis.CREATE TABLE
erstellt eine Tabelle durch Definition ihrer Spalten und des Datentyps sowie der Feldlänge jeder Spalte.CREATE STOGROUP
erstellt eine Db2-artige Stogroup, um einen physischen Verzeichnisbereich für die Speicherung von Datenbankobjekten zu definieren.CREATE TABLESPACE
erstellt eine Db2-artige Tablespace, um Tabellen aus derselben logischen Datenbank in mehreren Verzeichnispfaden zu speichern.CREATE ALIAS
definiert einen Alias für eine vorhandene Tabelle oder Ansicht.CREATE INDEX
erstellt einen Index für eine oder mehrere Spalten einer Tabelle für eine schnellere Datenabfrage und zur Durchsetzung von Eindeutigkeitsconstraints.CREATE LOCATION
erstellt einen neuen XDB-Serverstandort in einem benutzerdefinierten Unterverzeichnis.CREATE SEQUENCE
muss verwendet werden, um eine Sequenz am Anwendungsserver zu erstellen.CREATE VIEW
definiert eine virtuelle Tabelle, die die Datenabfrage und -aktualisierung auf eine Teilmenge von Spalten und Zeilen aus einzelnen oder mehreren Basistabellen beschränkt.CREATE GLOBAL TEMPORARY
kann verwendet werden, um die Beschreibung einer temporären Tabelle am aktuellen Server zu erstellen.
DROP
Die häufigsten Befehlstypen in DDL sind CREATE, ALTER und DROP. Alle drei Typen haben eine vordefinierte Syntax, die befolgt werden muss, damit der Befehl ausgeführt wird und Änderungen wirksam werden.
Syntax
DROP [Objekttyp] [Objektname];
Die häufigsten DROP-Befehle sind
DROP DATABASE
löscht eine an einem bestimmten Ort definierte Datenbank sowie alle logisch damit verbundenen Objekte.DROP STOGROUP
löscht eine Stogroup und trennt die logische Verbindung zwischen mit der Stogroup definierten Datenobjekten und dem im gelöschten Stogroup-Definition angegebenen Verzeichnispfad.DROP TABLE
löscht eine Datenbanktabelle und alle damit verbundenen Indizes, Ansichten und Synonyme.DROP TABLESPACE
löscht einen in einem bestimmten Ort definierten Tablespace und alle logisch damit verbundenen Tabellen.DROP ALIAS
kann verwendet werden, um einen Alternativnamen für eine Tabelle oder Ansicht im Systemkatalog eines Orts zu löschen.DROP SYNONYM
kann auch verwendet werden, um einen Alternativnamen für eine Tabelle oder Ansicht zu löschen.DROP INDEX
löscht einen Index am aktuellen Ort, jedoch nur, wenn der Index nicht als Ergebnis eines UNIQUE-, PRIMARY- oder FOREIGN KEY erstellt wurde.DROP LOCATION
löscht einen benutzerdefinierten XDB-Serverstandort und die mit ihm verbundenen Katalogtabellen, Verzeichnisstruktur und Objekte.DROP VIEW
löscht eine Ansicht und alle anderen darauf definierten Ansichten aus dem Systemkatalog des aktuellen Orts.
ALTER
Die häufigsten Befehlstypen in Data Definition Language (DDL) sind CREATE, ALTER und DROP. Alle drei Typen haben eine vordefinierte Syntax, die befolgt werden muss, damit der Befehl ausgeführt wird und Änderungen wirksam werden.
Syntax
ALTER [Objekttyp] [Objektname] [Parameter];
Die häufigsten ALTER-Befehle sind
ALTER DATABASE
ändert die Informationsparameter einer Datenbank unter dem aktuellen XDB-Serverstandort.ALTER STOGROUP
ändert die Spezifikationen einer Stogroup am aktuellen XDB-Serverstandort.ALTER TABLE
fügt Spalten hinzu, entfernt sie oder ändert ihren Datentyp.ALTER TABLESPACE
ändert die Spezifikationen eines Tablespace innerhalb des aktuellen XDB-Serverstandorts.ALTER VIEW
verwendet eine vorhandene Ansichtsdefinition am aktuellen Server, um eine Ansicht neu zu generieren.ALTER SEQUENCE
ändert Sequenzattribute am aktuellen Server.ALTER INDEX
ändert die Konfiguration eines vorhandenen Indexes.
Andere Befehle
Die häufigsten Befehlstypen in DDL sind CREATE, ALTER und DROP. Alle drei Typen haben eine vordefinierte Syntax, die befolgt werden muss, damit der Befehl ausgeführt wird und Änderungen wirksam werden.
- Neben den CREATE-, DROP- und ALTER-Befehlen enthält DDL auch andere Befehle:
COMMENT ON
wird verwendet, um einen einzeiligen, mehrzeiligen oder Inline-Kommentar zu einem Objekt in den Katalogtabellen am aktuellen Standort hinzuzufügen.LABEL ON
wird verwendet, um deskriptive Textlabels zu Tabellen, Ansichten, Aliassen oder Spalten in den Katalogtabellen hinzuzufügen oder zu ändern.RENAME
wird verwendet, um den Namen einer Datenbanktabelle zu ändern.TRUNCATE
wird verwendet, um alle Datensätze aus einer Tabelle schnell zu entfernen, während ihre Struktur vollständig erhalten bleibt, damit sie später wiederverwendet werden kann.