Was ist die Aufgabe von Data Definition Language (DDL)?
Inhaltsverzeichnis
Die DDL von SQL beschäftigt sich mit der Struktur von Datenbanken. DDL besteht aus den folgenden drei Anweisungen:
- CREATE: damit werden grundlegende Strukturen einer Datenbank erstellt
- ALTER: mit dieser Anweisung werden erzeugte Tabellen geändert
- DROP: damit werden Strukturen gelöscht
Neben den hier vorgestellten Befehlen für SCHEMA und TABLE gibt es auch Befehle für das Anlegen und Löschen sogenannter DOMAINS und VIEWS.
Wie lautet der Befehl um ein Datenbankschema zu erzeugen oder zu löschen?
Der Befehl, um ein Datenbankschema zu erzeugen lautet
CREATE SCHEMA schema-name
Optional können der Zeichensatz sowie die Definition von Tabellen, Rechten und ähnlichem angegeben werden. Üblicherweise wird jedoch mit CREATE SCHEMA nur das Schema erzeugt und die Definition von Tabellen etc. erfolgt mit anderen SQL-Anweisungen.
Ein (Datenbank-)Schema ist eine benannte Gruppe von verwandten Objekten. Die Begriffe Datenbank und Datenbankschema werden oft synonym verwendet, weshalb auch gelegentlich der Befehl
CREATE DATABASE
zu finden ist. Tatsächlich ist das Datenbankschema die Summe aller Strukturinformationen einer Datenbank, also aller Tabellen, Schlüssel, Beziehungen, Indizes usw. Der SQL-Standard sieht vor, dass es als zentrale Struktur einen Katalog gibt, der ein oder mehrere Schemata beinhalten kann.
Sinngemäß kann mit
DROP SCHEMA schema-name
ein Schema auch wieder gelöscht werden.
Wie lautet der Befehl um ein Tabelle zu erzeugen, zu löschen oder zu ändern?
Nachdem ein Datenbankschema erstellt ist, muss es mit Tabellen gefüllt werden, um darin Daten ablegen zu können. Die Bearbeitung von Tabellen ist eine der häufigsten Tätigkeiten, die ausgeführt wird, wenn mit Datenbankobjekten gearbeitet wird.
Die typische CREATE TABLE-Anweisung ist sehr einfach. Im Allgemeinen führt sie die Tabelle und die darin enthaltenen Spalten und deren Datentypen auf, wie das folgende Beispiel zeigt:
CREATE TABLE Projekt (Projekt-Nummer INT, Anlege-Datum DATE, Projekt-Name VARCHAR( 100 ) )
Ergänzend können Beschränkungen sowie Verweise auf Primärschlüssel oder Fremdschlüssel angegeben werden. Auch die Spaltendefinitionen können Beschränkungen (engl.: constraints) für Wertebereiche haben (beispielsweise dass der Projekt-Name nicht leer sein darf).
Sinngemäß können mit ALTER TABLE tabellen-name … Spalten zu einer vorhandenen Tabelle hinzugefügt oder von einer solchen gelöscht werden. Mit DROP TABLE tabellen-name wird eine Tabelle gelöscht.