Data Definition Language

Data Definition Language

Die Data Definition Language (DDL) ist eine Computersprache, die verwendet wird, um Datenstrukturen und verwandte Elemente zu beschreiben, zu ändern oder zu entfernen. Ursprünglich bezog sich DDL auf Datenbanksysteme, der Begriff wird aber heute auch in anderen Zusammenhängen verwendet. Als Datenbanksprache ist DDL die Datenbeschreibungssprache einer Datenbank.

Es existieren sehr unterschiedliche Ausprägungen der DDL (abhängig vom Verwendungszweck), Beispiele:

  • In den historischen IMS-Datenbanken werden die Datenstrukturen und deren logische Sichten in Form einer höheren Assemblersprache definiert (z. B. »... SEGM NAME=PROJECT,PARENT=FIRM,BYTES=45 FIELD NAME=(PROJNO,SEQ,U),BYTES=6,START=1 ...«).
  • In SQL liegt sie (neben DML und DCL) in Form englischer Befehlsklauseln vor (z. B. »CREATE TABLE PROJECT ( PROJNO DECIMAL(6,0) NOT NULL PRIMARY KEY, ...«).
  • XML-Schema ist eine DDL zur Beschreibung der Struktur von XML-Dokumenten.

Einige Software-Hersteller weisen auch Berechtigungselemente (z.B. GRANT) dem DDL-Begriff zu, diese gehören allerdings in der Theorie zur Data Control Language.

SQL

In der praktisch wichtigen Structured Query Language lautet die Syntax wie folgt:

   CREATE TABLE Relation ( (Attribut-Definition [PRIMARY KEY])+ 
       [, FOREIGN KEY ( Attribut+ ) REFERENCES Relation ( Attribut+ )] )
   DROP TABLE Relation
   ALTER TABLE Relation Alter-Definition
   CREATE INDEX Index-Name ON Relation ( Attribut+ )
   DROP INDEX Index-Name
   CREATE VIEW Sicht [( Attribut+ )] AS SFW-Block [WITH CHECK OPTION]
   DROP VIEW Sicht


  • PRIMARY KEY und FOREIGN KEY sind Teil der SQL-89 IDL bzw. SQL-92 und werden von manchen Datenbanksystemen nicht unterstützt.
  • Die Attribut-Definition enthält den Namen des Attributes, den Datentyp, sowie optionale Angaben wie NOT NULL. In SQL-92 können benutzerdefinierte Wertebereiche sowie Defaultwerte angegeben werden.
  • Bei CREATE TABLE können ab SQL-92 außerdem mittels der CHECK-Klausel noch Integritätsbedingungen bei den Attributen oder für die Tabelle angegeben werden.
  • Die Alter-Definition ist ADD Attribut-Definition. In SQL-92 gibt es noch ALTER Attribut Default-Wert oder DROP Attribut. Da SQL-92 sehr restriktiv bezüglich der ALTER-Anweisung ist, ist dies eine der Anweisungen, die von den Herstellern universell erweitert wurde, so dass beliebige Änderungen möglich sind wie durch eine Folge von DROP und ADD-Anweisungen.
  • Bei der Definition einer Sicht können neue Attributnamen vergeben werden. SFW-Block ist eine beliebige SQL-Abfrage, WITH CHECK OPTION gibt an, ob gewisse Änderungsoperationen erlaubt sein sollen (vgl. Sichten). Eine ORDER BY Klausel ist in Sichtdefinitionen nicht zulässig, da Sichten wieder Relationen sind, und Relationen sind (Multi-)Mengen, also per Definition nicht sortiert.
  • Die CREATE-Anweisung wird in modernen DBMS dazu benutzt, außer Relationen, Indizes und Sichten alle möglichen anderen Objekte zu kreieren.
  • Der SQL-Standard definiert Indizes überhaupt nicht, so dass die entsprechenden CREATE INDEX und DROP INDEX Anweisungen immer produktspezifische Erweiterungen sind. Allerdings verwenden die meisten DBMS die gleiche oder eine sehr ähnliche Syntax.

Beispiele:

   CREATE TABLE Student (
     MatrNr INT NOT NULL PRIMARY KEY,
     Name VARCHAR(50) NOT NULL)
Erzeugt die Tabelle namens Student mit den Spalten MatrNr und Name, wobei MatrNr der Primärschlüssel ist und in keiner der Spalten leere Felder erlaubt sind.


   ALTER TABLE Student ADD Vorname VARCHAR(35)
Definiert eine neue Spalte namens Vorname in der Tabelle Student.


   DROP TABLE Student
Löscht die gesamte Tabelle Student.


   CREATE INDEX idx_Name ON Student (Name)
Legt einen Index auf die Spalte Name der Tabelle Student. Der Index bekommt die Bezeichnung idx_Name und beschleunigt die Suche nach Datensätzen in der Tabelle Student, wenn der Name als Suchkriterium angegeben wird.


   DROP INDEX idx_Name
Löscht den Index idx_Name.

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Data Definition Language — (DDL) (язык описания данных)  это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных. На текущий момент наиболее популярным языком DDL является SQL, используемый для получения и… …   Википедия

  • Data Definition Language — A data definition language or data description language (DDL) is a syntax similar to a computer programming language for defining data structures, especially database schemas. Contents 1 History 2 SQL 2.1 CREATE statements …   Wikipedia

  • Data definition language — Langage de définition de données Le langage de définition de données (LDD, ou Data Definition Language, soit DDL en anglais) est un langage orienté au niveau de la structure de la base de données. C est à dire que les commandes manipulent les… …   Wikipédia en Français

  • Data Manipulation Language — (DML) (язык управления (манипулирования) данными)  это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных. На текущий… …   Википедия

  • Data Query Language — Die Data Manipulation Language (DML, englisch für „Datenbearbeitungssprache“) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um Daten zu lesen, zu schreiben, zu ändern und zu löschen. DML ist die Datenver oder… …   Deutsch Wikipedia

  • Data Manipulation Language — A data manipulation language (DML) is a family of syntax elements similar to a computer programming language used for inserting, deleting and updating data in a database. Performing read only queries of data is sometimes also considered a… …   Wikipedia

  • Data Manipulation Language — Die Data Manipulation Language (DML, englisch für „Datenbearbeitungssprache“) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um Daten zu lesen, zu schreiben, zu ändern und zu löschen. DML ist die Datenver oder… …   Deutsch Wikipedia

  • Data Description Language — Die Data Definition Language (DDL) ist eine Computersprache, die verwendet wird, um Datenstrukturen und verwandte Elemente zu beschreiben, zu ändern oder zu entfernen. Ursprünglich bezog sich DDL auf Datenbanksysteme, der Begriff wird aber heute… …   Deutsch Wikipedia

  • Data control language — A data control language (DCL) is a syntax similar to a computer programming language used to control access to data stored in a database. In particular, it is a component of Structured Query Language (SQL). Examples of DCL commands include: GRANT …   Wikipedia

  • Data Control Language — A Data Control Language (DCL) is a computer language and a subset of SQL, used to control access to data in a database. Examples of DCL commands include: * GRANT to allow specified users to perform specified tasks. * REVOKE to cancel previously… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”