डेटा परिभाषा भाषा: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{short description|Syntax for defining data structures}}[[SQL|एसक्यूएल]] के संदर्भ में, डेटा डेफिनिशन या डेटा डिस्क्रिप्शन लैंग्वेज (डीडीएल) डेटाबेस ऑब्जेक्ट्स जैसे टेबल,इंडेक्स और यूजर्स को बनाने और संशोधित करने के लिए सिंटैक्स है। डीडीएल स्टेटमेंट [[डेटा संरचना|डेटा संरचनाओं]], विशेष रूप से [[डेटाबेस स्कीमा]] को परिभाषित करने के लिए कंप्यूटर [[प्रोग्रामिंग भाषा]] के समान हैं। डीडीएल स्टेटमेंट के सामान्य उदाहरणों में शामिल हैं <code>CREATE</code>, <code>ALTER</code>, और <code>DROP</code> शामिल हैं |                                                                                                                                                                                                                 '''<big>इतिहास</big>'''
{{short description|Syntax for defining data structures}}[[SQL|एसक्यूएल]] के संदर्भ में, डेटा डेफिनिशन या डेटा डिस्क्रिप्शन लैंग्वेज (डीडीएल) डेटाबेस ऑब्जेक्ट्स जैसे टेबल,इंडेक्स और यूजर्स को बनाने और संशोधित करने के लिए सिंटैक्स है। डीडीएल स्टेटमेंट [[डेटा संरचना|डेटा संरचनाओं]], विशेष रूप से [[डेटाबेस स्कीमा]] को परिभाषित करने के लिए कंप्यूटर [[प्रोग्रामिंग भाषा]] के समान हैं। डीडीएल स्टेटमेंट के सामान्य उदाहरणों में सम्मिलित हैं <code>CREATE</code>, <code>ALTER</code>, और <code>DROP</code> सम्मिलित हैं |                                                                                                         '''<big>इतिहास</big>'''


डेटा डेफिनिशन लैंग्वेज और उसके नाम की अवधारणा [[कोडासिल]] [[डेटाबेस]] मॉडल के संबंध में प्रथम बार प्रस्तुत किया गया था, जहां डेटाबेस की स्कीमा [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] में प्रत्याशी [[डेटा मॉडल]] का [[सेट (सार डेटा प्रकार)]] रिकॉर्ड (कंप्यूटर साइंस), फील्ड (कंप्यूटर साइंस) का वर्णन करते हुए लिखी गई थी पश्चात में इसका उपयोग टेबल में इसे [[तालिका (डेटाबेस)]], कॉलम, डेटा प्रकार और इंटीग्रिटी बाधाओं की घोषणा के लिए [[स्ट्रक्चर्ड क्वेरी लैंग्वेज]] (एसक्यूएल) के सबसेट को संदर्भित करने के लिए उपयोग किया गया था। [[SQL-92|एसक्यूएल-92]] ने स्कीमा हेरफेर भाषा और स्कीमा सूचना तालिकाओं को क्वेरी स्कीमा में प्रस्तुत किया।<ref name="SQL92">{{cite web |title=Information Technology - Database Language SQL |url=http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt |website=SQL92 |publisher=Carnegie Mellon |access-date=12 November 2018}}</ref> इन सूचना तालिकाओं को एसक्यूएल:2003 में एसक्यूएल/स्कीमाटा के रूप में निर्दिष्ट किया गया था। डेटा या सूचना संरचनाओं का वर्णन करने के लिए किसी भी [[औपचारिक भाषा]] को संदर्भित करने के लिए डीडीएल शब्द का उपयोग सामान्य अर्थ में भी किया जाता है।
डेटा डेफिनिशन लैंग्वेज और उसके नाम की अवधारणा [[कोडासिल]] [[डेटाबेस]] मॉडल के संबंध में प्रथम बार प्रस्तुत किया गया था, जहां डेटाबेस की स्कीमा [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] में प्रत्याशी [[डेटा मॉडल]] का [[सेट (सार डेटा प्रकार)]] रिकॉर्ड (कंप्यूटर साइंस), फील्ड (कंप्यूटर साइंस) का वर्णन करते हुए लिखी गई थी पश्चात में इसका उपयोग टेबल में इसे [[तालिका (डेटाबेस)]], कॉलम, डेटा प्रकार और इंटीग्रिटी बाधाओं की घोषणा के लिए [[स्ट्रक्चर्ड क्वेरी लैंग्वेज]] (एसक्यूएल) के सबसेट को संदर्भित करने के लिए उपयोग किया गया था। [[SQL-92|एसक्यूएल-92]] ने स्कीमा हेरफेर भाषा और स्कीमा सूचना तालिकाओं को क्वेरी स्कीमा में प्रस्तुत किया।<ref name="SQL92">{{cite web |title=Information Technology - Database Language SQL |url=http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt |website=SQL92 |publisher=Carnegie Mellon |access-date=12 November 2018}}</ref> इन सूचना तालिकाओं को एसक्यूएल:2003 में एसक्यूएल/स्कीमाटा के रूप में निर्दिष्ट किया गया था। डेटा या सूचना संरचनाओं का वर्णन करने के लिए किसी भी [[औपचारिक भाषा]] को संदर्भित करने के लिए डीडीएल शब्द का उपयोग सामान्य अर्थ में भी किया जाता है।


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


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


एसक्यूएल में क्रिएट स्टेटमेंट [[संबंधपरक डेटाबेस प्रबंधन प्रणाली]] (आरडीबीएमएस) में घटक बनाता है। एसक्यूएल 1992 विनिर्देश में, बनाए जा सकने वाले घटकों के प्रकार स्कीमा, तालिका (डेटाबेस), दृश्य (डेटाबेस), डोमेन, वर्ण सेट, संयोजन, अनुवाद और अभिकथन हैं।<ref name="SQL92" />कई कार्यान्वयन अतिरिक्त तत्वों के निर्माण की अनुमति देने के लिए सिंटैक्स का विस्तार करते हैं, जैसे [[डाटाबेस इंडेक्स]] और उपयोगकर्ता प्रोफाइल। कुछ प्रणालियाँ, जैसे कि [[PostgreSQL|Postgreएसक्यूएल]] और माइक्रोसॉफ्ट एसक्यूएल सर्वर, [[डेटाबेस लेनदेन|डेटाबेस आदान प्रदान]] के अंदर CREATE और अन्य डीडीएल कमांड की अनुमति देती हैं और इस प्रकार वे [[रोलबैक (डेटा प्रबंधन)]] हो सकते हैं।<ref>{{cite web |last1=Laudenschlager |first1=Douglas |last2=Milener |first2=Gene |last3=Guyer |first3=Craig |last4=Byham |first4=Rick |title=Transactions (Transact-SQL) |url=https://docs.microsoft.com/en-us/sql/t-sql/language-elements/transactions-transact-sql?view=sql-server-2017 |website=Microsoft Docs |publisher=Microsoft |access-date=12 November 2018}}</ref><ref>{{cite web |title=PostgreSQL Transactions |url=https://www.postgresql.org/docs/8.3/tutorial-transactions.html |website=PostgreSQL 8.3 Documentation |date=7 February 2013 |publisher=PostgreSQL |access-date=12 November 2018}}</ref>
एसक्यूएल में क्रिएट स्टेटमेंट [[संबंधपरक डेटाबेस प्रबंधन प्रणाली]] (आरडीबीएमएस) में घटक बनाता है। एसक्यूएल 1992 विनिर्देश में, बनाए जा सकने वाले घटकों के प्रकार स्कीमा, तालिका (डेटाबेस), दृश्य (डेटाबेस), डोमेन, वर्ण सेट, संयोजन, अनुवाद और अभिकथन हैं।<ref name="SQL92" />अनेक कार्यान्वयन अतिरिक्त तत्वों के निर्माण की अनुमति देने के लिए सिंटैक्स का विस्तार करते हैं, जैसे [[डाटाबेस इंडेक्स]] और उपयोगकर्ता प्रोफाइल। कुछ प्रणालियाँ, जैसे कि [[PostgreSQL|Postgreएसक्यूएल]] और माइक्रोसॉफ्ट एसक्यूएल सर्वर, [[डेटाबेस लेनदेन|डेटाबेस आदान प्रदान]] के अंदर CREATE और अन्य डीडीएल कमांड की अनुमति देती हैं और इस प्रकार वे [[रोलबैक (डेटा प्रबंधन)]] हो सकते हैं।<ref>{{cite web |last1=Laudenschlager |first1=Douglas |last2=Milener |first2=Gene |last3=Guyer |first3=Craig |last4=Byham |first4=Rick |title=Transactions (Transact-SQL) |url=https://docs.microsoft.com/en-us/sql/t-sql/language-elements/transactions-transact-sql?view=sql-server-2017 |website=Microsoft Docs |publisher=Microsoft |access-date=12 November 2018}}</ref><ref>{{cite web |title=PostgreSQL Transactions |url=https://www.postgresql.org/docs/8.3/tutorial-transactions.html |website=PostgreSQL 8.3 Documentation |date=7 February 2013 |publisher=PostgreSQL |access-date=12 November 2018}}</ref>
 
 
==== क्रिएट टेबल स्टेटमेंट ====
==== क्रिएट टेबल स्टेटमेंट ====
आमतौर पर  उपयोग किया जाने वाला क्रिएट कमांड क्रिएट टेबल कमांड है। सामान्य उपयोग है:
सामान्यतः उपयोग किया जाने वाला क्रिएट कमांड क्रिएट टेबल कमांड है। सामान्य उपयोग है:


  CREATE TABLE ''[table name]'' ( ''[column definitions]'' ) ''[table parameters]''
  CREATE TABLE ''[table name]'' ( ''[column definitions]'' ) ''[table parameters]''
Line 21: Line 19:
*कॉलम परिभाषा: [कॉलम नाम] [डेटा प्रकार] नल | नल नहीं} {कॉलम विकल्प}
*कॉलम परिभाषा: [कॉलम नाम] [डेटा प्रकार] नल | नल नहीं} {कॉलम विकल्प}
* [[प्राथमिक कुंजी]] परिभाषा: प्राथमिक कुंजी ( [अल्पविराम से अलग कॉलम सूची])
* [[प्राथमिक कुंजी]] परिभाषा: प्राथमिक कुंजी ( [अल्पविराम से अलग कॉलम सूची])
*बाधाएं: [बाधा परिभाषा]
*बाधाएं: [बाधा परिभाषा]
* संबंधपरक डेटाबेस प्रणाली विशिष्ट कार्यक्षमता
* संबंधपरक डेटाबेस प्रणाली विशिष्ट कार्यक्षमता


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


क्रिएट टेबल डीडीएल के कुछ रूपों में डीएमएल ([[डेटा हेरफेर भाषा]]) जैसी रचनाएँ शामिल हो सकती हैं, जैसे कि एसक्यूएल के CREATE TABLE AS SELECT (CTaS) सिंटैक्स।<ref>
क्रिएट टेबल डीडीएल के कुछ रूपों में डीएमएल ([[डेटा हेरफेर भाषा]]) जैसी रचनाएँसम्मिलित हो सकती हैं, जैसे कि एसक्यूएल के CREATE TABLE AS SELECT (CTaS) सिंटैक्स।<ref>
{{cite book
{{cite book
| last                  = Allen
| last                  = Allen
Line 49: Line 47:
}}
}}
</ref>
</ref>
=== ड्रॉप स्टेटमेंट ===
=== ड्रॉप स्टेटमेंट ===
ड्रॉप स्टेटमेंट मौजूदा डेटाबेस, टेबल, इंडेक्स या व्यू को नष्ट कर देता है।
ड्रॉप स्टेटमेंट उपस्थित डेटाबेस, टेबल, इंडेक्स या व्यू को नष्ट कर देता है।


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


  DROP ''objecttype objectname.''
  DROP ''objecttype objectname.''


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


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


  ALTER ''objectype objectname'' ''parameters.''
  ALTER ''objectype objectname'' ''parameters.''


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


=== ट्रंकेट स्टेटमेंट ===
=== ट्रंकेट स्टेटमेंट ===
ट्रंकेट स्टेटमेंट का प्रयोग Table से सभी Data को हटाने के लिए किया जाता है। यह डिलीट से बहुत तेज है।
ट्रंकेट स्टेटमेंट का प्रयोग Table से सभी Data को हटाने के लिए किया जाता है। यह डिलीट से बहुत तीव्र है।


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


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


== यह भी देखें ==
== यह भी देखें ==
Line 87: Line 80:
*डेटा हेरफेर भाषा
*डेटा हेरफेर भाषा
* [[डेटा क्वेरी भाषा]]
* [[डेटा क्वेरी भाषा]]
*चयनित (एसक्यूएल)
*चयनित (एसक्यूएल)
* डालें (एसक्यूएल)
* डालें (एसक्यूएल)
* [[अद्यतन (एसक्यूएल)]]
* [[अद्यतन (एसक्यूएल)]]

Revision as of 10:50, 24 February 2023

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

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

संरचित क्वेरी भाषा (एसक्यूएल)

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

क्रिएट स्टेटमेंट

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

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

क्रिएट टेबल स्टेटमेंट

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

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) सिंटैक्स।[4]

ड्रॉप स्टेटमेंट

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

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

DROP objecttype objectname.

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

परिवर्तन कथन

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

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

ALTER objectype objectname parameters.

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

ट्रंकेट स्टेटमेंट

ट्रंकेट स्टेटमेंट का प्रयोग Table से सभी Data को हटाने के लिए किया जाता है। यह डिलीट से बहुत तीव्र है।

संदर्भात्मक सत्यनिष्ठा कथन

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

अन्य भाषाएँ

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 "Information Technology - Database Language SQL". SQL92. Carnegie Mellon. Retrieved 12 November 2018.
  2. Laudenschlager, Douglas; Milener, Gene; Guyer, Craig; Byham, Rick. "Transactions (Transact-SQL)". Microsoft Docs. Microsoft. Retrieved 12 November 2018.
  3. "PostgreSQL Transactions". PostgreSQL 8.3 Documentation. PostgreSQL. 7 February 2013. Retrieved 12 November 2018.
  4. Allen, Grant (2010). The Definitive Guide to SQLite. Apresspod. Mike Owens (2 ed.). Apress. pp. 90–91. ISBN 9781430232254. Retrieved 2012-10-02. The create table statement has a special syntax for creating tables from select statements. [...]: [...] create table foods2 as select * from foods; [...] Many other databases refer to this approach as CTaS, which stands for Create Table as Select, and that phrase is not uncommon among SQLite users.


बाहरी संबंध