Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> Office

डेटा कंट्रोल लैंग्वेज (DCL)

डेटा कंट्रोल लैंग्वेज स्ट्रक्चर्ड क्वेरी लैंग्वेज का एक सबसेट है। डेटाबेस एडमिनिस्ट्रेटर रिलेशनल डेटाबेस में सुरक्षा पहुंच को कॉन्फ़िगर करने के लिए DCL का उपयोग करते हैं। यह डेटा डेफिनिशन लैंग्वेज का पूरक है, जो डेटाबेस ऑब्जेक्ट जोड़ता और हटाता है, और डेटा मैनिपुलेशन लैंग्वेज, जो डेटाबेस की सामग्री को पुनर्प्राप्त, सम्मिलित, और संशोधित करता है।

DCL SQL सबसेट में सबसे सरल है, क्योंकि इसमें केवल तीन कमांड होते हैं: GRANT, REVOKE, और DENY। संयुक्त रूप से, ये तीन कमांड एडमिनिस्ट्रेटर को डेटाबेस अनुमतियों को विस्तृत तरीके से सेट और हटाने के लिए लचीलापन प्रदान करते हैं।

GRANT कमांड के साथ अनुमतियां जोड़ना

GRANT कमांड एक डेटाबेस उपयोगकर्ता को नई अनुमतियां जोड़ता है। इसका एक बहुत ही सरल सिंटैक्स है, जिसे निम्नानुसार परिभाषित किया गया है:

GRANT [privilege]
ON [object]
TO [user]
[WITH GRANT OPTION]

यहां इस कमांड के साथ आपूर्ति किए जा सकने वाले प्रत्येक पैरामीटर का विवरण दिया गया है:

  • विशेषाधिकार — या तो कीवर्ड ALL (विभिन्न प्रकार की अनुमतियां देने के लिए) या एक विशिष्ट डेटाबेस अनुमति या अनुमतियों का सेट हो सकता है। उदाहरणों में CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE, और CREATE VIEW शामिल हैं।
  • ऑब्जेक्ट — कोई भी डेटाबेस ऑब्जेक्ट हो सकता है। वैध विशेषाधिकार विकल्प आपके द्वारा इस क्लॉज में शामिल डेटाबेस ऑब्जेक्ट के प्रकार के आधार पर भिन्न होते हैं। आमतौर पर, ऑब्जेक्ट या तो एक डेटाबेस, फ़ंक्शन, स्टोर्ड प्रोसीजर, टेबल, या व्यू होगा।
  • उपयोगकर्ता — कोई भी डेटाबेस उपयोगकर्ता हो सकता है। यदि आप भूमिका-आधारित डेटाबेस सुरक्षा का उपयोग करना चाहते हैं तो आप इस क्लॉज में उपयोगकर्ता के लिए एक भूमिका भी प्रतिस्थापित कर सकते हैं।
  • यदि आप GRANT कमांड के अंत में वैकल्पिक WITH GRANT OPTION क्लॉज शामिल करते हैं, तो आप न केवल SQL स्टेटमेंट में परिभाषित अनुमतियों के साथ निर्दिष्ट उपयोगकर्ता को अनुमति देते हैं, बल्कि उपयोगकर्ता को अन्य डेटाबेस उपयोगकर्ताओं को उन समान अनुमतियों को आगे देने की अनुमति भी देते हैं। इस कारण से, इस क्लॉज का उपयोग सावधानी से करें।

उदाहरण के लिए, मान लें कि आप उपयोगकर्ता जो को HR नामक डेटाबेस में कर्मचारी टेबल से जानकारी पुनर्प्राप्त करने की क्षमता देना चाहते हैं। निम्न SQL कमांड का उपयोग करें:

GRANT SELECT
ON HR.employees
TO Joe

जो कर्मचारियों की टेबल से जानकारी पुनर्प्राप्त कर सकता है। हालांकि, वह अन्य उपयोगकर्ताओं को उस टेबल से जानकारी पुनर्प्राप्त करने की अनुमति देने में सक्षम नहीं होगा क्योंकि DCL स्क्रिप्ट में WITH GRANT OPTION क्लॉज शामिल नहीं था।

डेटाबेस एक्सेस रद्द करना

REVOKE कमांड किसी उपयोगकर्ता से पहले दी गई डेटाबेस एक्सेस को हटा देता है। इस कमांड के लिए सिंटैक्स निम्नानुसार परिभाषित किया गया है:

REVOKE [GRANT OPTION FOR] [permission]
ON [object]
FROM [user]
[CASCADE]

REVOKE कमांड के पैरामीटर्स पर यहां विवरण दिया गया है:

  • अनुमति — पहचाने गए उपयोगकर्ता से हटाने के लिए डेटाबेस अनुमतियों को निर्दिष्ट करता है। कमांड पहचाने गए अनुमति के लिए पहले किए गए GRANT और DENY दोनों दावों को रद्द कर देता है।
  • ऑब्जेक्ट — कोई भी डेटाबेस ऑब्जेक्ट हो सकता है। वैध विशेषाधिकार विकल्प आपके द्वारा इस क्लॉज में शामिल डेटाबेस ऑब्जेक्ट के प्रकार के आधार पर भिन्न होते हैं। आमतौर पर, ऑब्जेक्ट या तो एक डेटाबेस, फ़ंक्शन, स्टोर्ड प्रोसीजर, टेबल, या व्यू होगा।
  • उपयोगकर्ता — कोई भी डेटाबेस उपयोगकर्ता हो सकता है। यदि आप भूमिका-आधारित डेटाबेस सुरक्षा का उपयोग करना चाहते हैं तो आप इस क्लॉज में उपयोगकर्ता के लिए एक भूमिका भी प्रतिस्थापित कर सकते हैं।
  • GRANT OPTION FOR क्लॉज निर्दिष्ट उपयोगकर्ता की निर्दिष्ट अनुमति को अन्य उपयोगकर्ताओं को देने की क्षमता को हटा देता है। यदि आप REVOKE स्टेटमेंट में GRANT OPTION FOR क्लॉज शामिल करते हैं, तो प्राथमिक अनुमति रद्द नहीं की जाती है। यह क्लॉज केवल देने की क्षमता को रद्द करता है।
  • CASCADE विकल्प उन उपयोगकर्ताओं से भी निर्दिष्ट अनुमति को रद्द कर देता है जिन्हें निर्दिष्ट उपयोगकर्ता ने अनुमति दी थी।

निम्न कमांड पिछले उदाहरण में जो को दी गई अनुमति को रद्द कर देता है:

REVOKE SELECT
ON HR.employees
FROM Joe

स्पष्ट रूप से डेटाबेस एक्सेस अस्वीकार करना

DENY कमांड किसी उपयोगकर्ता को विशेष अनुमति प्राप्त करने से स्पष्ट रूप से रोकता है। यह सुविधा तब उपयोगी होती है जब कोई उपयोगकर्ता किसी भूमिका या समूह का सदस्य होता है जिसे एक अनुमति दी जाती है, और आप उस व्यक्तिगत उपयोगकर्ता को एक अपवाद बनाकर उस अनुमति को विरासत में लेने से रोकना चाहते हैं। इस कमांड के लिए सिंटैक्स निम्नानुसार है:

DENY [permission]
ON [object]
TO [user]

DENY कमांड के पैरामीटर GRANT कमांड के लिए उपयोग किए गए पैरामीटर के समान हैं। उदाहरण के लिए, यदि आप यह सुनिश्चित करना चाहते हैं कि मैथ्यू को कभी भी कर्मचारियों की टेबल से जानकारी हटाने की क्षमता प्राप्त न हो, तो निम्न कमांड जारी करें:

DENY DELETE
ON HR.employees
TO Matthew
  1. निर्बाध माइग्रेशन: अपने MS एक्सेस डेटा को SQL सर्वर 2014 में ले जाएं निर्बाध माइग्रेशन: अपने MS एक्सेस डेटा को SQL सर्वर 2014 में ले जाएं

    हाल ही में, मुझे एक एक्सेस डेटाबेस से डेटा को SQL सर्वर 2014 में माइग्रेट करना पड़ा क्योंकि मेरा डेटाबेस एक्सेस के लिए संभालने के लिए बहुत बड़ा हो रहा था। भले ही प्रक्रिया काफी सरल है, मैंने सोचा कि मैं चरण-दर-चरण निर्देशों के साथ एक लेख लिखूंगा। सबसे पहले, आपको यह सुनिश्चित करने की आवश्यकता है कि आ

  1. 7 सरल चरणों में एक्सेल डेटाबेस बनाएं: एक शुरुआती मार्गदर्शिका 7 सरल चरणों में एक्सेल डेटाबेस बनाएं: एक शुरुआती मार्गदर्शिका

    नहीं जानते कि एक्सेल में एक साधारण डेटाबेस कैसे बनाएं? इस लेख में, हम आपको दिखाएंगे कि आप केवल 7 सरल चरणों में एक्सेल में डेटाबेस कैसे बना सकते हैं। क्या आप MS Access को डेटाबेस के रूप में उपयोग करने के लिए एक जटिल उपकरण पाते हैं? तो, एक्सेल ऐसा करने के लिए एक बेहतरीन उपकरण है। आइए तकनीक सीखें। निम्

  1. Excel डेटाबेस को स्वचालित रूप से अपडेट करें: 4 सिद्ध तरीके Excel डेटाबेस को स्वचालित रूप से अपडेट करें: 4 सिद्ध तरीके

    यह लेख दिखाता है कि 4 उपयोगी तरीकों की मदद से Excel में एक डेटाबेस कैसे बनाएं जो स्वचालित रूप से अपडेट होता है। यह गतिशील डेटा के साथ काम करते समय आवश्यक एक महत्वपूर्ण विशेषता है। जब डेटाबेस किसी अन्य स्रोत से डेटा पर निर्भर करता है, तो स्रोत डेटा के अनुसार स्वचालित अपडेट बहुत महत्वपूर्ण है। आइए उदा