www.wikidata.de-de.nina.az
Die Data Definition Language DDL deutsch Datendefinitionssprache 1 ist ein Teil einer Datenbanksprache der verwendet wird um Datenstrukturen und verwandte Elemente zu beschreiben zu andern oder zu entfernen Ursprunglich bezog sich DDL auf Datenbanksysteme der Begriff wird aber heute auch in anderen Zusammenhangen verwendet Als Datenbanksprache ist DDL die Datenbeschreibungssprache einer Datenbank Es existieren sehr unterschiedliche Auspragungen der DDL abhangig vom Verwendungszweck Beispiele In den historischen IMS Datenbanken werden die Datenstrukturen und deren logische Sichten in Form einer hoheren Assemblersprache definiert Beispiel 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 Beispiel span class k CREATE span span class w span span class k TABLE span span class w span span class n PROJECT span span class w span span class p span span class w span span class n PROJNO span span class w span span class nb DECIMAL span span class p span span class mi 6 span span class p span span class mi 0 span span class p span span class w span span class k NOT span span class w span span class k NULL span span class w span span class k PRIMARY span span class w span span class k KEY span span class p span 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 gehoren allerdings in der Theorie zur Data Control Language Zu unterscheiden ist eine DDL vom Begriff Deklaration Wahrend eine DDL im Allgemeinen zur Festlegung der Struktur von Daten in einem DBMS dient wird das Festlegen der Format und Strukturangaben fur hauptspeicher intern zu verarbeitende Daten im Quelltext eines Computerprogramms gemass der Syntax einer Programmiersprache als Deklaration zum Teil auch als Definition oder Spezifikation bezeichnet SQL BearbeitenIn 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 unterstutzt Die Attribut Definition enthalt den Namen des Attributes den Datentyp sowie optionale Angaben wie a href Nullwert html title Nullwert NOT NULL a In SQL 92 konnen benutzerdefinierte Wertebereiche sowie Defaultwerte angegeben werden Bei CREATE TABLE konnen ab SQL 92 ausserdem mittels der CHECK Klausel noch Integritatsbedingungen bei den Attributen oder fur die Tabelle angegeben werden Die Alter Definition ist ADD i Attribut Definition i In SQL 92 gibt es noch ALTER i Attribut i i Default Wert i oder DROP i Attribut i Da SQL 92 sehr restriktiv bezuglich der ALTER Anweisung ist ist dies eine der Anweisungen die von den Herstellern universell erweitert wurde so dass beliebige Anderungen moglich sind wie durch eine Folge von DROP und ADD Anweisungen Bei der Definition einer Sicht konnen neue Attributnamen vergeben werden SFW Block ist eine beliebige SQL Abfrage WITH CHECK OPTION gibt an ob gewisse Anderungsoperationen erlaubt sein sollen vgl Sichten Eine ORDER BY Klausel ist in Sichtdefinitionen nicht zulassig da Sichten wieder Relationen sind und Relationen sind Multi Mengen also per Definition nicht sortiert Die CREATE Anweisung wird in modernen DBMS dazu benutzt ausser Relationen Indizes und Sichten alle moglichen anderen Objekte zu kreieren Der SQL Standard definiert Indizes uberhaupt 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 ahnliche Syntax Mit WITH CHECK OPTION kann eine View virtuelle Tabelle definiert werden um somit eine Kontrolle uber die Veranderung der Daten zu ermoglichen welche in einer View dargestellt werden und auch bearbeitet werden konnen Durch diese Angabe wird festgelegt dass Anderungen der View die den in ihr nicht sichtbaren Teil einer Relation beeinflussen in einem Test anhand der durch WHERE angegebenen Parameter erkannt und abgewiesen werden 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 Primarschlussel 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 Loscht 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 Datensatzen in der Tabelle Student wenn der Name als Suchkriterium angegeben wird DROP index idx Name Loscht den Index idx Name CREATE VIEW alte Freunde AS SELECT Name Vorname Wohnort Geburtstag FROM Freunde WHERE Geburtstag lt 1 JAN 1970 WITH CHECK OPTION Zeigt nur Freunde an die vor dem 1 Januar 1970 geboren wurden und verhindert die Anderung auf Werte grosser als der 1 Januar 1970 sowie das Neuanlegen eines Datensatzes mit einem ungultigen Wert Siehe auch BearbeitenData Control Language Data Manipulation Language Transaction Control LanguageEinzelnachweise Bearbeiten Datendefinitionssprache Geoinformatik Lexikon Agrar und Umweltwissenschaftliche Fakultat Universitat Rostock Abgerufen von https de wikipedia org w index php title Data Definition Language amp oldid 238787941