Data Definition Language And Data Manipulation Language

Die Verwaltung von Daten in Datenbanken ist ein komplexes Unterfangen, das verschiedene Sprachen und Befehle erfordert. Zwei grundlegende Kategorien dieser Sprachen sind die Data Definition Language (DDL) und die Data Manipulation Language (DML). Obwohl beide untrennbar mit der Datenbankinteraktion verbunden sind, dienen sie unterschiedlichen Zwecken und bieten unterschiedliche Funktionen.
Data Definition Language (DDL)
Die DDL ist, wie der Name schon sagt, für die Definition und Strukturierung der Datenbank selbst zuständig. Sie beinhaltet Befehle, die die Basis für die Organisation und den Aufbau von Daten legen. Im Wesentlichen geht es um das Erstellen des Skeletts, in dem die Daten gespeichert werden.
Die wichtigsten DDL-Befehle umfassen:
Must Read
- CREATE: Erstellt neue Datenbankobjekte wie Tabellen, Indizes, Sichten und Schemata. Zum Beispiel erstellt
CREATE TABLE Kunden (Kundennummer INT PRIMARY KEY, Name VARCHAR(255));eine neue Tabelle namens "Kunden" mit zwei Spalten: "Kundennummer" (Integer, Primärschlüssel) und "Name" (Text bis zu 255 Zeichen). - ALTER: Modifiziert die Struktur bereits existierender Datenbankobjekte. Dies kann das Hinzufügen oder Entfernen von Spalten in einer Tabelle, das Ändern des Datentyps einer Spalte oder das Hinzufügen von Constraints (Einschränkungen) umfassen. Beispielsweise fügt
ALTER TABLE Kunden ADD Adresse VARCHAR(255);eine neue Spalte "Adresse" zur Tabelle "Kunden" hinzu. - DROP: Löscht Datenbankobjekte. Dies kann Tabellen, Indizes, Sichten usw. umfassen. Der Befehl
DROP TABLE Kunden;löscht die gesamte Tabelle "Kunden" mit allen darin enthaltenen Daten. Achtung: Dieser Befehl ist unwiderruflich! - TRUNCATE: Löscht alle Daten aus einer Tabelle, lässt aber die Tabellenstruktur selbst intakt. Dies ist schneller als das Löschen aller Zeilen mit dem
DELETE-Befehl, da weniger Log-Informationen gespeichert werden.TRUNCATE TABLE Kunden;löscht alle Datensätze in der Tabelle "Kunden", behält aber die Definition der Tabelle (Spalten, Datentypen, Constraints) bei. - CREATE INDEX: Erstellt einen Index auf einer oder mehreren Spalten einer Tabelle. Indizes beschleunigen die Datenabfrage, indem sie eine schnellere Suche ermöglichen. Ein Index ist wie ein Inhaltsverzeichnis in einem Buch.
CREATE INDEX idx_name ON Kunden (Name);erstellt einen Index namens "idx_name" auf der Spalte "Name" der Tabelle "Kunden".
Die Ausführung von DDL-Befehlen erfordert in der Regel besondere Berechtigungen. Nur Datenbankadministratoren oder Benutzer mit entsprechenden Rechten dürfen die Struktur der Datenbank verändern. Änderungen an der Datenbankstruktur werden in der Regel im Data Dictionary (auch Metadaten genannt) festgehalten. Das Data Dictionary enthält Informationen über die Datenbankobjekte, ihre Beziehungen und ihre Eigenschaften.
Data Manipulation Language (DML)
Im Gegensatz zur DDL, die die Struktur definiert, kümmert sich die DML um die Manipulation der Daten innerhalb dieser Struktur. Sie ermöglicht das Einfügen, Aktualisieren, Abfragen und Löschen von Daten.

Die gängigsten DML-Befehle sind:
- SELECT: Fragt Daten aus einer oder mehreren Tabellen ab. Dies ist der am häufigsten verwendete DML-Befehl.
SELECT * FROM Kunden;wählt alle Spalten und Zeilen aus der Tabelle "Kunden" aus.SELECT Name, Adresse FROM Kunden WHERE Kundennummer = 123;wählt nur die Spalten "Name" und "Adresse" aus der Tabelle "Kunden" aus, aber nur für den Kunden mit der Kundennummer 123. - INSERT: Fügt neue Daten in eine Tabelle ein.
INSERT INTO Kunden (Kundennummer, Name, Adresse) VALUES (456, 'Anna Schmidt', 'Musterstraße 1');fügt einen neuen Kunden mit der Kundennummer 456, dem Namen "Anna Schmidt" und der Adresse "Musterstraße 1" in die Tabelle "Kunden" ein. - UPDATE: Aktualisiert vorhandene Daten in einer Tabelle.
UPDATE Kunden SET Adresse = 'Neue Adresse' WHERE Kundennummer = 456;ändert die Adresse des Kunden mit der Kundennummer 456 auf "Neue Adresse". - DELETE: Löscht Daten aus einer Tabelle.
DELETE FROM Kunden WHERE Kundennummer = 456;löscht den Kunden mit der Kundennummer 456 aus der Tabelle "Kunden".
DML-Befehle interagieren direkt mit den Daten, die in den durch die DDL definierten Strukturen gespeichert sind. Im Allgemeinen benötigen Benutzer für die Ausführung von DML-Befehlen geringere Berechtigungen als für DDL-Befehle. Die Berechtigungen können auf Tabellenebene oder sogar auf Spaltenebene vergeben werden, um den Datenzugriff zu steuern.

Zusammenhang und Unterschiede
Obwohl DDL und DML unterschiedliche Zwecke erfüllen, sind sie eng miteinander verbunden. Ohne die durch die DDL definierte Struktur (Tabellen, Spalten, Datentypen) könnte die DML nicht funktionieren. Die DDL schafft das Fundament, auf dem die DML operiert.
Der Hauptunterschied liegt in ihrer Funktion: DDL definiert die Struktur, während DML die Daten manipuliert. DDL-Befehle beeinflussen das Schema der Datenbank, während DML-Befehle die darin enthaltenen Daten beeinflussen. Die Anwendungsszenarien unterscheiden sich ebenfalls deutlich. DDL wird primär von Datenbankadministratoren und Entwicklern verwendet, während DML von einer breiteren Nutzergruppe, einschließlich Anwendungsentwicklern und Endbenutzern, eingesetzt wird. Ferner sind DDL-Operationen in der Regel weniger frequent als DML-Operationen, da die Datenbankstruktur in der Regel seltener geändert wird als die Daten selbst.
Das Verständnis von DDL und DML ist essentiell für jeden, der mit Datenbanken arbeitet. Die Kenntnis der jeweiligen Befehle und ihrer Auswirkungen ermöglicht eine effiziente und korrekte Datenverwaltung.
