Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL तालिकाओं के लिए एक शुरुआती मार्गदर्शिका

इस लेख में, हम SQL सर्वर में उपयोगकर्ता-परिभाषित तालिकाओं को बनाने के लिए विभिन्न प्रकार की SQL तालिकाओं और सर्वोत्तम प्रथाओं का पता लगाएंगे।

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

  • पंक्ति :यह विशिष्ट रूप से एक रिकॉर्ड की पहचान करता है। उदाहरण के लिए, पंक्ति 1 डेटा [राज] नामक कर्मचारी का है। यह किसी अन्य कर्मचारी के लिए डेटा संग्रहीत नहीं कर सकता।
  • कॉलम :प्रत्येक कॉलम तालिका की एक विशेषता को परिभाषित करता है। उदाहरण के लिए, [फर्स्टनाम] कॉलम सभी कर्मचारियों के लिए पहला नाम संग्रहीत करता है। आप इस कॉलम में [City] जैसे अन्य डेटा स्टोर नहीं कर सकते हैं।

मान लीजिए कि हमें SQL डेटाबेस में एक [कर्मचारी] तालिका की आवश्यकता है। यह तालिका कंपनी के कर्मचारी रिकॉर्ड संग्रहीत करती है। [EmpID] कॉलम के लिए, हमें एक धनात्मक संख्या की आवश्यकता होती है (बिना किसी दशमलव बिंदु के)। इस मामले में, [पूर्णांक] डेटा प्रकार सबसे उपयुक्त है। एक बार जब आप [EmpID] कॉलम को पूर्णांक के रूप में परिभाषित कर लेते हैं, तो SQL सर्वर आपको कोई भी मान सम्मिलित करने की अनुमति नहीं देता है जो पूर्णांक डेटा प्रकार को संतुष्ट नहीं करता है। उदाहरण के लिए, आप [EmpID[ कॉलम में 'राज' स्ट्रिंग नहीं डाल सकते।

SQL तालिका बनाना

उच्च स्तर पर, SQL तालिका बनाने के लिए, हमारे पास निम्न जानकारी होनी चाहिए:

  1. ऑब्जेक्ट स्टोरेज के लिए SQL इंस्टेंस और डेटाबेस नाम क्या है?
  2. आप किस स्कीमा में टेबल को स्टोर करना चाहते हैं?
  3. आपकी विशिष्ट तालिका के लिए कॉलम नाम क्या हैं?
  4. इन स्तंभों के लिए डेटा प्रकार क्या हैं?
  5. क्या कॉलम NULL मान संग्रहीत करने की अनुमति देते हैं?
  6. क्या आप प्राथमिक कुंजी कॉलम का उपयोग करते हैं? यदि हाँ, तो कौन सा कॉलम प्राथमिक कुंजी कॉलम के रूप में कार्य करेगा?
  7. क्या आप कोई गैर-संकुल अनुक्रमणिका बनाना चाहते हैं?

इस प्रदर्शन के लिए, आइए कर्मचारी तालिका बनाने के लिए इन सवालों के निम्नलिखित उत्तरों का उपयोग करें।

  • उत्तर 1:लक्ष्य डेटाबेस का नाम [AzureDemoDatabase]
  • . है
  • उत्तर 2:हम टेबल को डिफ़ॉल्ट DBO स्कीमा में स्टोर करना चाहते हैं
  • उत्तर 3:[कर्मचारी] तालिका में पांच कॉलम होने चाहिए:[आईडी], [प्रथम नाम], [अंतिम नाम], [शहर] और [डीओबी]
  • उत्तर 4:[कर्मचारी] तालिका को निम्नलिखित डेटा प्रकारों का उपयोग करना चाहिए।
    • [आईडी]:पूर्णांक
    • [प्रथम नाम]:वरचर(50) नॉट न्यूल
    • [LastName]:Varchar(30) NOT NULL
    • [शहर]:वरचर[50] नल
    • [DOB]:दिनांक पूर्ण नहीं है
  • उपरोक्त परिभाषित शून्य गुण
  • हां, [आईडी] कॉलम प्राथमिक कुंजी कॉलम है
  • नहीं, केवल संकुल अनुक्रमणिका की आवश्यकता है

एसक्यूएल टेबल के प्रकार

SQL सर्वर तालिकाओं को निम्न श्रेणियों में विभाजित किया जा सकता है।

सिस्टम टेबल

SQL सर्वर इंस्टेंस कॉन्फ़िगरेशन और डेटाबेस गुणों को तालिकाओं के एक विशेष सेट में संग्रहीत करता है। इन तालिकाओं को सिस्टम टेबल के रूप में जाना जाता है। उपयोगकर्ताओं को इन तालिकाओं में सीधे परिवर्तन करने की अनुमति नहीं है। SQL सर्वर विशिष्ट सिस्टम तालिकाओं को सीधे क्वेरी करने की अनुमति नहीं देता है। इसके बजाय, यह इन घटकों को क्वेरी करने के लिए सिस्टम संग्रहीत कार्यविधियाँ, फ़ंक्शन, SQL सर्वर प्रबंधन ऑब्जेक्ट और प्रतिकृति प्रबंधन ऑब्जेक्ट प्रदान करता है। सिस्टम तालिकाओं को अधिक विस्तार से समझने के लिए आप Microsoft दस्तावेज़ देख सकते हैं।

अस्थायी टेबल

कभी-कभी, हमें गणना, हेरफेर या मध्यवर्ती परिणामों को संग्रहीत करने के लिए डेटा को अस्थायी रूप से डेटाबेस में संग्रहीत करने की आवश्यकता होती है। इन मामलों में, हम अस्थायी तालिकाओं का उपयोग कर सकते हैं जिन्हें हमेशा TempDB सिस्टम डेटाबेस में रखा जाता है।

SQL सर्वर में दो प्रकार की अस्थायी तालिकाएँ होती हैं:

  • स्थानीय: प्रत्येक स्थानीय अस्थायी तालिका एक चिन्ह (#) से शुरू होती है। इसका दायरा वर्तमान कनेक्शन तक सीमित है। उपयोगकर्ता के डिस्कनेक्ट होने पर SQL सर्वर स्वचालित रूप से इन तालिकाओं को छोड़ देता है।
  • वैश्विक: प्रत्येक वैश्विक अस्थायी तालिका एक चिन्ह (##) से शुरू होती है। सभी उपयोगकर्ता वैश्विक अस्थायी तालिकाओं का संदर्भ दे सकते हैं। यदि वैश्विक तालिका को संदर्भित करने वाले सभी उपयोगकर्ता जुड़े हुए हैं, तो SQL सर्वर इसे छोड़ देता है।

– अस्थायी तालिका (स्थानीय)
तालिका बनाएं #TableA
(
ID int,
[Name] varchar(50)
)

-वैश्विक अस्थायी तालिका
तालिका बनाएं ##TableB
(
ID int,
[Name] varchar(50)
)

स्थायी या उपयोगकर्ता-निर्धारित तालिका

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

इन तालिकाओं को हमेशा डेटाबेस में संग्रहीत किया जाता है जब तक कि कोई उन्हें स्पष्ट रूप से नहीं छोड़ता। इसलिए, इन्हें स्थायी तालिकाओं के रूप में भी जाना जाता है।

SQL सर्वर में उपयोगकर्ता-परिभाषित तालिका बनाने के कई तरीके हैं।

  • एसक्यूएल सर्वर प्रबंधन स्टूडियो जीयूआई
  • टी-एसक्यूएल स्क्रिप्ट का उपयोग करना

-स्थायी तालिका
तालिका तालिका बनाएं
(
ID int,
[Name] varchar(50)
)

बाहरी टेबल

बाहरी तालिकाएँ एक विशेष प्रकार की तालिका होती हैं जिनका उपयोग SQL सर्वर 2016 में आगे किया जा सकता है। ये तालिकाएँ SQL सर्वर की PolyBase सुविधा का उपयोग करते हुए Azure ब्लॉब स्टोरेज, Hadoop, Oracle, Excel, ODBC, Bigdata, MongoDB और Teradata जैसे अन्य डेटा स्रोतों का संदर्भ देती हैं।

SQL सर्वर में PolyBase को और अधिक एक्सप्लोर करने के लिए आप इस दस्तावेज़ का संदर्भ ले सकते हैं।

ग्राफ़ टेबल

SQL सर्वर ग्राफ़ डेटाबेस अलग-अलग नोड्स (कोने) और किनारों (रिलेशनशिप) के संग्रह का उपयोग करते हैं।

  • नोड तालिका :नोड तालिका समान प्रकार वाले नोड्स का एक संग्रह है। उदाहरण के लिए, व्यक्ति नोड तालिका में ग्राफ़ में सभी व्यक्ति नोड होते हैं।
  • किनारे की मेज :एज टेबल समान किनारों का एक संग्रह है। उदाहरण के लिए, एक मित्र तालिका में वे सभी किनारे होते हैं जो एक व्यक्ति को दूसरे व्यक्ति से जोड़ते हैं।

इसे और अधिक एक्सप्लोर करने के लिए, ग्राफ़ डेटाबेस श्रेणियों का संदर्भ लें।

SQL सर्वर में उपयोगकर्ता-परिभाषित तालिका बनाने के लिए दिशानिर्देश

  • तालिका नामों के लिए उपयुक्त नामकरण परंपरा को परिभाषित करें।
  • समान तालिका ऑब्जेक्ट को समूहीकृत करने के लिए विभिन्न स्कीमा का उपयोग करें।
  • हमेशा सुनिश्चित करें कि प्राथमिक कुंजी और विदेशी कुंजी जैसे SQL सर्वर बाधाओं का उपयोग करके संदर्भात्मक अखंडता बनाए रखी जाती है।
  • डेटा को तुरंत पढ़ने और लिखने के लिए हमेशा एक उपयुक्त डेटा प्रकार और उसकी लंबाई को परिभाषित करें।
  • डेटा अतिरेक को कम करने और डेटा अखंडता में सुधार करने के लिए डेटाबेस सामान्यीकरण तकनीकों का उपयोग करें।
  • विभिन्न सामान्यीकरण रूपों को समझें और उनका उपयोग कैसे करें। (आप इस लेख का संदर्भ ले सकते हैं: SQL सर्वर में डेटाबेस सामान्यीकरण क्या है?)
  • अपने क्वेरी वर्कलोड के लिए उपयुक्त इंडेक्स परिभाषित करें।
  • डेटाबेस मॉडलिंग और सर्वोत्तम प्रथाओं को लागू करने के बारे में सलाह के लिए हमेशा डेटाबेस पेशेवरों से परामर्श लें

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में LEFT () फ़ंक्शन कैसे काम करता है

  2. SQL सर्वर में रखरखाव योजनाएँ बनाना

  3. SQL सर्वर में संदर्भ निकाय खोजें:sys.dm_sql_referencing_entities ()

  4. SQL सर्वर (T-SQL) में विभाजित तालिका के लिए सीमा मान प्राप्त करें

  5. स्वचालित डेटा संग्रह:MS SQL सर्वर में डेटाबेस फ़ाइलें और लॉजिकल ड्राइव