Relationships in tables
कुंजी एक विशेष प्रकार की बाधा होती है जिसका उपयोग संबंधों और विशिष्टता को
स्थापित करने के लिए किया जाता है। उन्हें वर्तमान तालिका में किसी विशिष्ट पंक्ति
की पहचान करने के लिए या किसी अन्य तालिका में किसी विशिष्ट पंक्ति को संदर्भित
करने के लिए उपयोग किया जा सकता है। इस अध्याय में हम दो प्रकार की कुंजियों को
देखेंगे जो इन विशेष भूमिकाओं को पूरा करती हैं: प्राथमिक कुंजी और विदेशी कुंजी।
प्राथमिक कुंजी
दो संस्थाओं या
डेटा के दो टुकड़ों के बीच संबंध स्थापित करने का एक आवश्यक हिस्सा डेटा की सही
पहचान करने में सक्षम है। SQL में, विशिष्ट डेटा की पहचान
करना महत्वपूर्ण है। प्राथमिक कुंजी डेटा की एक पंक्ति के लिए एक विशिष्ट
पहचानकर्ता है।
विशिष्ट पहचानकर्ता
के रूप में कार्य करने के लिए, एक कॉलम में कुछ डेटा होना चाहिए, और वह डेटा
प्रत्येक पंक्ति के लिए अद्वितीय होना चाहिए। यदि आप सोच रहे हैं कि उन आवश्यकताओं
को हमारे नॉट नल और अद्वितीय बाधाओं की तरह लगता है, तो आप सही होंगे; वास्तव में, स्तंभ को प्राथमिक
कुंजी बनाना अनिवार्य रूप से उस कॉलम में NULL और UNIQUE बाधाओं को जोड़ने के बराबर है।
विदेशी कुंजी
एक विदेशी कुंजी
हमें एक तालिका में एक पंक्ति को दूसरी तालिका में एक पंक्ति में संबद्ध करने की
अनुमति देती है। यह एक तालिका को किसी विदेशी कुंजी के रूप में एक तालिका में सेट
करके किया जाता है और उस स्तंभ का संदर्भ किसी अन्य तालिका के प्राथमिक कुंजी
स्तंभ से होता है। इस संबंध का निर्माण इस प्रकार के संदर्भ कीवर्ड का उपयोग करके
किया जाता है:
किसी तालिका के
स्कीमा के भाग के रूप में एक विदेशी कुंजी का उपयोग करने का विशिष्ट तरीका उस
संबंध पर निर्भर करता है, जिसे हम अपनी तालिकाओं के बीच परिभाषित करना
चाहते हैं। उस स्कीमा को सही ढंग से लागू करने के लिए, उन संबंधों का
औपचारिक रूप से वर्णन करना उपयोगी है जिन्हें हमें अपनी संस्थाओं के बीच मॉडल करने
की आवश्यकता है:
1 एक उपयोगकर्ता का
एक पता हो सकता है। एक पते में केवल एक उपयोगकर्ता होता है।
2 एक समीक्षा केवल
वन बुक के बारे में हो सकती है। एक पुस्तक में कई समीक्षाएँ हो सकती हैं।
3 उपयोगकर्ता के
पास MANY पुस्तकें हो सकती हैं जिन्हें उसने चेक किया हो या वापस
लौटा हो। 4 MANY उपयोगकर्ताओं द्वारा बुक बुक की जा सकती है / की जा सकती
है।
ऊपर वर्णित इकाई
संबंधों को तीन प्रकार के संबंधों में वर्गीकृत किया जा सकता है:
1 एक से एक
2 अनेको के लिये एक
3 कई कई
आइए बारी-बारी से
प्रत्येक को देखें।
एक से एक
दो संस्थाओं के
बीच एक-से-एक संबंध तब मौजूद होता है जब एक तालिका में एक विशेष इकाई उदाहरण मौजूद
होता है, और इसमें किसी अन्य तालिका में केवल एक संबद्ध इकाई आवृत्ति
हो सकती है।
उदाहरण: एक
उपयोगकर्ता का केवल एक पता हो सकता है,
और एक पता केवल एक
उपयोगकर्ता का होता है।
अनेको के लिये एक
एक अधिक जटिल
(लेकिन यह भी अधिक सामान्य) प्रकार का संबंध एक-से-कई / कई-से-एक है। उदाहरण के
लिए, यदि आपके पास कला के
कार्यों की सूची और संग्रहालयों की सूची है, तो कला का प्रत्येक कार्य एक समय में केवल एक संग्रहालय में
हो सकता है, लेकिन प्रत्येक
संग्रहालय में कला के कई कार्य हो सकते हैं। एक आधार में, दो तालिकाओं में संस्थाओं (संग्रहालयों और कला के कार्यों)
की इन दो सूचियों को विभाजित करने से आप प्रत्येक इकाई के लिए प्रासंगिक जानकारी
संग्रहीत कर सकते हैं। कला के कामों के लिए, इसमें कलाकार और पूर्ण होने की तिथि और संग्रहालयों की
जानकारी शामिल हो सकती है, इसमें संग्रहालय
के शुरुआती घंटों और उसके पते के बारे में जानकारी शामिल हो सकती है।
यदि आप
संग्रहालयों की सूची और कला के कामों की एक सूची के बीच एक-से-कई संबंधों का
प्रतिनिधित्व करने वाला एक एयरटेबल बेस बनाने के लिए थे, तो आप उन सूचियों में से प्रत्येक को संग्रहालयों की तालिका
और कार्य तालिका में रख सकते हैं। लिंक किए गए रिकॉर्ड फ़ील्ड का उपयोग करते हुए,
आप तब इसे सेट कर सकते हैं ताकि कार्य तालिका
में प्रत्येक रिकॉर्ड एक संग्रहालय रिकॉर्ड से जुड़ा हो, और संग्रहालयों की तालिका में प्रत्येक रिकॉर्ड कार्य
तालिका में एक या अधिक रिकॉर्ड से जुड़ा हो।
कई कई
एक इकाई उदाहरण
के लिए दूसरी तालिका में कई रिकॉर्ड हो सकते हैं, और इसके विपरीत, तो कई-से-कई
संबंध दो संस्थाओं के बीच मौजूद हैं।
उदाहरण: एक
उपयोगकर्ता कई पुस्तकों की जांच कर सकता है। एक पुस्तक को कई उपयोगकर्ताओं (समय के
साथ) द्वारा देखा जा सकता है।
अंत में, संस्थाओं के
कई-से-कई संबंध भी हो सकते हैं। मान लें कि आपके पास पुस्तकों की एक सूची है, और लेखकों की एक
सूची है - प्रत्येक पुस्तक में एक या अधिक लेखक हो सकते हैं, और प्रत्येक लेखक
ने अन्य पुस्तकें लिखी हो सकती हैं। इस मामले में, आपके पास कई लेखकों से
संबंधित कई किताबें हैं। एयरटेबल में, इन दो सूचियों के बीच संबंधों का प्रतिनिधित्व
करना उतना ही सरल है जितना दो तालिकाओं को बनाना और लिंक किए गए रिकॉर्ड फ़ील्ड
बनाना।
एयरटेब में, दो सूचियों के
बीच एक सरल कई-से-कई संबंधों का प्रतिनिधित्व करना एक-से-कई संबंधों का
प्रतिनिधित्व करने के समान ही सरल है। लिंक किए गए रिकॉर्ड फ़ील्ड के साथ, आप इसे सेट कर
सकते हैं ताकि पुस्तकों की तालिका में प्रत्येक रिकॉर्ड एक या एक से अधिक लेखक
रिकॉर्ड से जुड़ा हो, और लेखकों की तालिका में प्रत्येक रिकॉर्ड
पुस्तक तालिका में एक या अधिक रिकॉर्ड से जुड़ा हो।
No comments:
Post a Comment
Please Do Not Enter Any Spam Link in the comment Box.