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

SQL सर्वर प्रबंधन स्टूडियो (SSMS) के साथ डेटाबेस डिज़ाइन अवधारणाएँ भाग 1

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

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

आवश्यकताएं

आगे बढ़ने से पहले, निम्नलिखित चीज़ें सुनिश्चित करें:

  1. SQL सर्वर 2016/2017/2019 एक्सप्रेस/डेवलपर संस्करण आपकी मशीन पर स्थापित है
  2. एसएसएमएस (एसक्यूएल सर्वर प्रबंधन स्टूडियो) स्थापित है

साथ ही, आपको डेटाबेस और उपरोक्त टूल का बुनियादी ज्ञान होना चाहिए।

यदि आपके पास नवीनतम SQL सर्वर और SSMS संस्करण नहीं हैं तो यह कोई समस्या नहीं है। हालांकि, यदि नवीनतम संस्करण उपलब्ध नहीं हैं, तो नए संस्करण रखने की अत्यधिक अनुशंसा की जाती है। आप नीचे दिए गए संसाधनों से आवश्यक संस्करण प्राप्त कर सकते हैं:

  • SQL सर्वर 2017 डेवलपर संस्करण डाउनलोड करें।
  • SQL सर्वर 2019 डाउनलोड करें (वैकल्पिक रूप से, नवीनतम SQL सर्वर एक्सप्रेस/डेवलपर संस्करण प्राप्त करने के लिए)।
  • या, डेवलपर या एक्सप्रेस SQL ​​सर्वर का निःशुल्क विशेषीकृत संस्करण डाउनलोड करें।
  • एसएसएमएस (एसक्यूएल सर्वर मैनेजमेंट स्टूडियो) डाउनलोड करें

ध्यान दें कि इस लेख को लिखते समय ये सभी लिंक ठीक काम कर रहे हैं। यदि Microsoft उन्हें बदलने का निर्णय लेता है, तो कृपया उस समय उपलब्ध नए संस्करण को डाउनलोड करें।

SQL डेटाबेस डिज़ाइन के बारे में

SQL सर्वर प्रबंधन स्टूडियो (SSMS) के साथ अपने SQL डेटाबेस को डिज़ाइन करना शुरू करने के लिए, आपके दिमाग में कुछ डिज़ाइन योजना होनी चाहिए।

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

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

हम निम्नलिखित बातों के संदर्भ में एक विशिष्ट डेटाबेस को समझते हैं:

  1. इकाइयाँ
  2. विशेषताएं
  3. रिश्ते

इकाई क्या है?

एक इकाई कुछ भी है जिसे व्यवसाय या एक व्यक्ति डेटाबेस में संग्रहीत करना चाहेगा। उदाहरण के लिए:

  1. ग्राहक।
  2. आदेश।
  3. उत्पाद।

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

हालांकि, एक आदेश उत्पाद . के बिना ज़्यादा मतलब नहीं है . ग्राहक को दिया जाने वाला उत्पाद भी एक इकाई है।

इकाई को डेटाबेस में कैसे मैप किया जाता है?

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

एक विशेषता क्या है?

एक विशेषता एक इकाई का विवरण है। उदाहरण के लिए:

  1. ग्राहक नाम
  2. आदेश प्रकार
  3. उत्पाद का नाम

यदि ग्राहक एक इकाई है, तो ग्राहक का नाम (ग्राहक नाम ) एक विशेषता है। यह विशेषता हमारी इकाई (ग्राहक .) का वर्णन करती है ) इसी तरह, आदेश प्रकार आदेश . की विशेषता है इकाई, और उत्पाद का नाम उत्पाद . की विशेषता है इकाई।

एट्रीब्यूट को डेटाबेस में कैसे मैप किया जाता है?

एक विशेषता, जैसे ग्राहक नाम, ग्राहक . का वर्णन करता है तालिका और उस तालिका के किसी स्तंभ में मैप किया जा सकता है।

एक से अधिक गुणों वाली इकाई

एक इकाई के लिए कई विशेषताओं का होना ठीक है। इसलिए, हमारे पास एक टेबल (इकाई) में कई कॉलम (विशेषताएं) हो सकते हैं।

इकाई संबंध

रिश्तों के माध्यम से एक इकाई को दूसरी इकाई से जोड़ा जा सकता है। एक टेबल को दूसरी टेबल से जोड़ा जा सकता है। इकाइयाँ या सारणीबद्ध संबंध कई प्रकार के होते हैं:

ग्राहक-आदेश संबंध (एक-से-अनेक)

एक ग्राहक (इकाई/तालिका) निम्नलिखित कारणों से एक आदेश (इकाई/तालिका) से संबंधित हो सकता है:

  1. एक ग्राहक एक आदेश दे सकता है।
  2. एक ग्राहक कई ऑर्डर दे सकता है।

इसके विपरीत भी सच है:

  1. एक ग्राहक कई ऑर्डर दे सकता है।
  2. एक ग्राहक एक ऑर्डर दे सकता है।

यह एक-से-अनेक संबंध . का एक उदाहरण है :एक ग्राहक कई ऑर्डर दे सकता है, और एक ग्राहक कई ऑर्डर दे सकता है।

उत्पाद-आदेश संबंध (एक-से-अनेक)

एक उत्पाद (इकाई/तालिका) निम्नलिखित में एक आदेश (इकाई/तालिका) से संबंधित हो सकता है:

  1. एक उत्पाद को एक ऑर्डर के लिए असाइन किया जा सकता है।
  2. एक उत्पाद को कई ऑर्डर के लिए असाइन किया जा सकता है।

इसी तरह:

  1. किसी उत्पाद को कई ऑर्डर दिए जा सकते हैं।
  2. एक ऑर्डर में एक उत्पाद हो सकता है।

उत्पाद . के बीच एक-से-अनेक संबंध है और आदेश

ग्राहक-उत्पाद संबंध (अनेक-से-अनेक)

अब ग्राहक और उत्पाद के बीच संबंध को इस प्रकार समझाया गया है:

  1. एक ग्राहक एक उत्पाद खरीद सकता है।
  2. एक ग्राहक एक से अधिक उत्पाद खरीद सकता है।
  3. एक उत्पाद ग्राहक द्वारा खरीदा जा सकता है।
  4. एक उत्पाद को एक से अधिक ग्राहक खरीद सकते हैं।

कई उत्पाद कई ग्राहकों द्वारा खरीदे जा सकते हैं, जिसका अर्थ है कि ग्राहक और उत्पाद संबंध अनेक-से-अनेक है .

नीचे दिए गए उदाहरण पर एक नज़र डालें:

विद्यार्थी-प्रशिक्षक डिजाइन परिदृश्य

आइए एक अलग डेटाबेस डिज़ाइन परिदृश्य पर विचार करें। आप इस लेख के दूसरे भाग में SSMS (SQL सर्वर प्रबंधन स्टूडियो) का उपयोग करके इसे लागू करेंगे।

व्यावसायिक आवश्यकताएं

मान लीजिए आपको एक डेटाबेस डिजाइन करने की आवश्यकता है जो निम्नलिखित जानकारी संग्रहीत करता है:

  1. विद्यार्थी।
  2. प्रशिक्षक)।
  3. वे छात्र जिन्हें प्रशिक्षक आवंटित किया गया है।
  4. शिक्षक जो छात्रों को सौंपे जाते हैं।

प्रारंभिक विश्लेषण

करीब से देखने पर, आप उपरोक्त आवश्यकताओं के बारे में कुछ दिलचस्प पाएंगे। "जिन छात्रों ने एक प्रशिक्षक आवंटित किया है" और "जिन प्रशिक्षकों को छात्रों को सौंपा गया है" एक ही आवश्यकता है।

यह अक्सर हो सकता है कि डेटाबेस डिज़ाइन के संदर्भ में दो अलग-अलग दिखने वाली आवश्यकताएं समान हों।

इकाइयों की पहचान करें

निम्नलिखित संस्थाओं को सीधे आवश्यकताओं से निकाला जा सकता है:

  1. विद्यार्थी
  2. प्रशिक्षक

हालांकि, एक और संस्था हमें छात्रों को आवंटित प्रशिक्षकों के बारे में जानकारी प्रदान करने का काम करती है।

आइए पहले उदाहरण को याद करें जहां हमने ऑर्डर तालिका का उपयोग किया था - कई ग्राहक ग्राहक-आदेश संबंध में कई ऑर्डर खरीद सकते हैं। यह हमारे विद्यार्थी-प्रशिक्षक के समान है सारणीबद्ध संबंध - कई छात्रों को कई प्रशिक्षक आवंटित किए जा सकते हैं।

विशेषताओं की पहचान करें

ग्राहक-आदेश परिदृश्य के अनुसार, हम पहचानी गई संस्थाओं के लिए उपयोगी विशेषताएँ चुन सकते हैं:

  1. छात्र:छात्र आईडी, नाम।
  2. प्रशिक्षक:प्रशिक्षक आईडी, नाम।
  3. छात्र-प्रशिक्षक:छात्र-प्रशिक्षक आईडी, छात्र आईडी, प्रशिक्षक आईडी।

पहचान संबंध:

संस्थाओं के संबंधों की पहचान करें:

  1. विद्यार्थी -> छात्र-प्रशिक्षक (एक से अनेक)।
  2. प्रशिक्षक-> छात्र-प्रशिक्षक (एक से कई)।
  3. विद्यार्थी -> प्रशिक्षक (कई-से-अनेक)।

याद रखें कि हम हमेशा कई-से-अनेक संबंधों को हल करने के लिए एक मध्य-तालिका का उपयोग करते हैं। इसलिए हमने छात्र-प्रशिक्षक इकाई को योजना में शामिल किया है।

तालिकाओं और स्तंभों के लिए संस्थाओं और विशेषताओं का मानचित्रण

अब हम संस्थाओं को तालिकाओं में मैप कर सकते हैं। इस प्रकार, हम निम्नलिखित तीन तालिकाएँ बनाने जा रहे हैं:

  1. विद्यार्थी।
  2. प्रशिक्षक।
  3. विद्यार्थी-प्रशिक्षक।

इसी तरह, उन संस्थाओं की विशेषताएँ, जब कॉलम में मैप की जाती हैं, वे इस प्रकार होंगी:

  1. छात्र:छात्र आईडी, नाम।
  2. प्रशिक्षक:प्रशिक्षक आईडी, नाम।
  3. स्टूडेंट-इंस्ट्रक्टर:स्टूडेंट इंस्ट्रक्टर आईडी, स्टूडेंट आईडी, इंस्ट्रक्टर आईडी।

नीचे दिए गए उदाहरण पर ध्यान दें:

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

अगले लेख आपको एसएसएमएस (एसक्यूएल सर्वर मैनेजमेंट स्टूडियो) का उपयोग करके डेटाबेस डिजाइनिंग चरणों के बारे में बताएंगे।

करने के लिए चीज़ें

अब जब आप डेटाबेस डिजाइनिंग की मूल बातें समझ गए हैं, तो अपने कौशल को और बेहतर बनाने के लिए निम्नलिखित चीजों को आजमाएं:

  1. आपूर्तिकर्ता नामक एक अन्य इकाई को जोड़ने का प्रयास करें प्रदायक आईडी और प्रदायक नाम विशेषताओं के साथ। जांचें कि क्या आप निम्नलिखित संबंधों को सही ढंग से पहचान सकते हैं:
    1. आपूर्तिकर्ता-आदेश;
    2. आपूर्तिकर्ता-ग्राहक;
    3. आपूर्तिकर्ता-उत्पाद।
  2. एक पुस्तकालय के लिए संस्थाओं, विशेषताओं और संबंधों की पहचान के साथ एक डेटाबेस डिजाइन करें। संकेत:सदस्यों को पुस्तकें जारी की जाती हैं, और सदस्य पुस्तकालय से पुस्तकें उधार लेते हैं। सदस्य, पुस्तक, जारी किया गया इकाइयां हो सकती हैं।
  3. उपरोक्त वर्णित संस्थाओं के लिए निम्नलिखित सारणीबद्ध संबंधों के प्रकार की पहचान करें:
    1. सदस्य द्वारा जारी;
    2. पुस्तक-जारी;
    3. सदस्य-पुस्तक;
    4. पुस्तक-सदस्य।

यह भी पढ़ें

SQL सर्वर प्रबंधन स्टूडियो (SSMS) के साथ डेटाबेस डिज़ाइन सीखें - भाग 2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उपयोगकर्ता संग्रहीत कार्यविधियों के नामकरण से बचें SP% या SP_%

  2. Salesforce SOQL के साथ SQL सर्वर का उपयोग करने के लिए युक्तियाँ

  3. सी # का उपयोग कर SQL सर्वर सम्मिलित कमांड से वापसी मूल्य

  4. SQL सर्वर:info_schema से विदेशी कुंजी संदर्भ कैसे प्राप्त करें?

  5. SQL सर्वर 2017 में एक डेटाबेस बनाएँ