डेटा परिभाषा भाषा

एसक्यूएल के संदर्भ में, डेटा परिभाषा या डेटा विवरण भाषा (डीडीएल) डेटाबेस ऑब्जेक्ट्स जैसे टेबल, इंडेक्स और यूजर्स को बनाने और संशोधित करने के लिए सिंटैक्स है। डीडीएल कथन डेटा संरचनाओं, विशेष रूप से डेटाबेस स्कीमा को परिभाषित करने के लिए कंप्यूटर प्रोग्रामिंग भाषा के समान हैं। डीडीएल कथन के सामान्य उदाहरणों में,  , और   सम्मिलित हैं |

इतिहास
डेटा परिभाषा भाषा और उसके नाम की अवधारणा कोडासिल डेटाबेस मॉडल के संबंध में प्रथम बार प्रस्तुत किया गया था, जहां डेटाबेस की स्कीमा सिंटेक्स (प्रोग्रामिंग भाषाएं) में प्रत्याशी डेटा मॉडल का सेट (सार डेटा प्रकार) रिकॉर्ड (कंप्यूटर साइंस), फील्ड (कंप्यूटर साइंस) का वर्णन करते हुए लिखी गई थी अंत में इसका उपयोग टेबल में इसे सारणी   (डेटाबेस), कॉलम, डेटा प्रकार और इंटीग्रिटी बाधाओं की घोषणा के लिए स्ट्रक्चर्ड क्वेरी भाषा  (एसक्यूएल) के सबसेट को संदर्भित करने के लिए उपयोग किया गया था। एसक्यूएल-92 ने स्कीमा परिवर्तन भाषा और स्कीमा सूचना सारणी  को क्वेरी स्कीमा में प्रस्तुत किया। इन सूचना सारणी  को एसक्यूएल: 2003 में एसक्यूएल/स्कीमाटा के रूप में निर्दिष्ट किया गया था। डेटा या सूचना संरचनाओं का वर्णन करने के लिए किसी भी औपचारिक भाषा को संदर्भित करने के लिए डीडीएल शब्द का उपयोग सामान्य अर्थ में भी किया जाता है।

संरचित क्वेरी भाषा (एसक्यूएल)
अनेक डेटा विवरण भाषाएँ कॉलम और डेटा प्रकारों को परिभाषित करने के लिए घोषणात्मक सिंटैक्स का उपयोग करती हैं। संरचित क्वेरी भाषा (एसक्यूएल), यद्यपि, अनिवार्य क्रियाओं के संग्रह का उपयोग करती है जिसका प्रभाव सारणी या अन्य तत्वों की परिभाषाओं को जोड़कर, परिवर्तित या विस्थापित डेटाबेस की स्कीमा को संशोधित करना है। इन कथनों को अन्य एसक्यूएल कथनों के साथ स्वतंत्र रूप से युग्मित किया जा सकता है, जिससे डीडीएल भिन्न भाषा नहीं है।

क्रिएट कथन
क्रिएट कमांड का उपयोग नया डेटाबेस, टेबल, इंडेक्स या संग्रहीत प्रक्रिया स्थापित करने के लिए किया जाता है।

एसक्यूएल में क्रिएट कथन संबंधपरक डेटाबेस प्रबंधन प्रणाली (आरडीबीएमएस) में घटक बनाता है। एसक्यूएल 1992 विनिर्देश में, बनाए जा सकने वाले घटकों के प्रकार स्कीमा, सारणी   (डेटाबेस), दृश्य (डेटाबेस), डोमेन, वर्ण सेट, संयोजन, अनुवाद और अभिकथन हैं। अनेक कार्यान्वयन अतिरिक्त तत्वों के निर्माण की अनुमति देने के लिए सिंटैक्स का विस्तार करते हैं, जैसे डाटाबेस इंडेक्स और उपयोगकर्ता प्रोफाइल हैं। कुछ प्रणालियाँ, जैसे कि पोस्टग्रेएसक्यूएल और माइक्रोसॉफ्ट एसक्यूएल सर्वर, डेटाबेस आदान प्रदान के अंदर क्रिएट और अन्य डीडीएल कमांड की अनुमति देती हैं और इस प्रकार वे रोलबैक (डेटा प्रबंधन) हो सकते हैं।

क्रिएट टेबल कथन
सामान्यतः उपयोग किया जाने वाला क्रिएट कमांड क्रिएट टेबल कमांड है। सामान्य उपयोग है:

CREATE TABLE [table name] ( [column definitions] ) [table parameters]

स्तंभ परिभाषाएँ हैं:
 * अल्पविराम से भिन्न की गई सूची जिसमें निम्न में से कोई भी हो।
 * कॉलम परिभाषा: [कॉलम नाम] [डेटा प्रकार] शून्य | अशून्य} {कॉलम विकल्प}
 * प्राथमिक कुंजी परिभाषा: प्राथमिक कुंजी ( [अल्पविराम से भिन्न कॉलम सूची])
 * बाधाएं: [बाधा परिभाषा]
 * संबंधपरक डेटाबेस प्रणाली विशिष्ट कार्यक्षमता

कुछ कॉलम वाले कर्मचारियों के नाम वाली सारणी बनाने के लिए उदाहरण है: CREATE TABLE employees ( id  INTEGER  PRIMARY KEY,  first_name VARCHAR(50) not null,  last_name  VARCHAR(75) not null,  mid_name  VARCHAR(50) not null,  dateofbirth DATE   not null );

क्रिएट टेबल डीडीएल के कुछ रूपों में डीएमएल (डेटा हेरफेर भाषा) जैसी रचनाएँ सम्मिलित हो सकती हैं, जैसे कि एसक्यूएल के CREATE TABLE AS SELECT (CTaS) सिंटैक्स हैं।

ड्रॉप कथन
ड्रॉप कथन उपस्थित डेटाबेस, टेबल, इंडेक्स या व्यू को समाप्त कर देता है।

एसक्यूएल में ड्रॉप कथन रिलेशनल डेटाबेस मैनेजमेंट प्रणाली (आरडीबीएमएस) से घटक को विस्थापित कर देता है। किस प्रकार की वस्तुओं को विस्थापित कियाजा सकता है यह निर्भर करता है कि किस आरडीबीएमएस का उपयोग किया जा रहा है, किन्तु अधिकांश सारणी   (डेटाबेस), उपयोगकर्ता (डेटाबेस) और डेटाबेस को त्याग करने का समर्थन करते हैं। कुछ प्रणालियाँ (जैसे कि पोस्टग्रेएसक्यूएल) ड्रॉप और अन्य डीडीएल कमांड को डेटाबेस लेनदेन के अंदर होने देती हैं और इस प्रकार रोलबैक (डेटा प्रबंधन) हो जाती हैं। सामान्य उपयोग है:

DROP objecttype objectname.

उदाहरण के लिए, 'कर्मचारियों' के नाम वाली सारणी को त्याग करने का आदेश है:

ड्रॉप कथन डिलीट (एसक्यूएल) और ट्रंकेट (एसक्यूएल) कथनों से भिन्न है, जिसमें डिलीट एवं ट्रंकेट टेबल को ही नहीं विस्थापित करते हैं। उदाहरण के लिए, डिलीट कथन डेटाबेस में टेबल को त्याग करते समय टेबल से कुछ (या सभी) डेटा को विस्थापित कर सकता है, जबकि ड्रॉप कथन डेटाबेस को पूर्ण रूप से टेबल को विस्थापित कर देता है।

परिवर्तन कथन
परिवर्तन कथन उपस्थित डेटाबेस ऑब्जेक्ट को संशोधित करता है।

एसक्यूएल में परिवर्तन कथन रिलेशनल डेटाबेस मैनेजमेंट प्रणाली (आरडीबीएमएस) के अंदर किसी ऑब्जेक्ट के गुणों को परिवर्तित कर देता है। किस प्रकार की वस्तुओं को परिवर्तित किया जा सकता है यह इस विषय पर निर्भर करता है कि किस आरडीबीएमएस का उपयोग किया जा रहा है। सामान्य उपयोग है:

ALTER objectype objectname parameters.

उदाहरण के लिए, 'सिंक' नामक उपस्थित सारणी के लिए 'बबल्स' नामक कॉलम जोड़ने का आदेश है:

ट्रंकेट कथन
ट्रंकेट कथन का प्रयोग टेबल से सभी डेटा को विस्थापित करने के लिए किया जाता है। यह डिलीट से अधिक तीव्र है।

संदर्भात्मक सत्यनिष्ठा कथन
एसक्यूएल में अन्य प्रकार के डीडीएल वाक्य का उपयोग संदर्भित अखंडता संबंधों को परिभाषित करने के लिए किया जाता है, जिसे सामान्यतः सारणी  के कुछ स्तंभों में प्राथमिक कुंजी और विदेशी कुंजी टैग के रूप में प्रारम्भ किया जाता है। इन दो कथनों को क्रिएट टेबल या अल्टर टेबल वाक्य में सम्मिलित किया जा सकता है |

अन्य भाषाएँ

 * [[XML स्कीमा]] एक्सएमएल (XML) के लिए डीडीएल का उदाहरण है।
 * JSON स्कीमा JSON के लिए डीडीएल का उदाहरण है।
 * डाटा फॉर्मेट डिस्क्रिप्शन भाषा डीडीएल का उदाहरण है जो अनेक पाठ और बाइनरी स्वरूपों का वर्णन कर सकता है।

यह भी देखें

 * डेटा नियंत्रण भाषा
 * डेटा परिवर्तन भाषा
 * डेटा क्वेरी भाषा
 * चयनित (एसक्यूएल)
 * डालें (एसक्यूएल)
 * अद्यतन (एसक्यूएल)
 * विस्थापित (एसक्यूएल)
 * ट्रंकेट (एसक्यूएल)

बाहरी संबंध

 * Oracle ALTER TABLE MODIFY column
 * डीडीएल Commands In Oracle