साहचर्य इकाई: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
एक साहचर्य इकाई [[संबंधपरक मॉडल]] और इकाई-संबंध मॉडल|इकाई-संबंध सिद्धांत में प्रयुक्त शब्द है। संबंधपरक डेटाबेस को अनेक-से-अनेक (डेटा मॉडल)|अनेक-से-अनेक संबंधों को हल करने के लिए आधार संबंध (या आधार तालिका) के कार्यान्वयन की आवश्यकता होती है. | एक साहचर्य इकाई [[संबंधपरक मॉडल]] और इकाई-संबंध मॉडल|इकाई-संबंध सिद्धांत में प्रयुक्त शब्द है। संबंधपरक डेटाबेस को अनेक-से-अनेक (डेटा मॉडल)|अनेक-से-अनेक संबंधों को हल करने के लिए आधार संबंध (या आधार तालिका) के कार्यान्वयन की आवश्यकता होती है. इस तरह की इकाई का प्रतिनिधित्व करने वाला आधार संबंध अनौपचारिक रूप से एक साहचर्य तालिका कहलाता है। [[Image:Associate_Entity.png|frame|एक साहचर्य इकाई ([[पीटर चेन]] अंकन का उपयोग करके)]]जैसा कि ऊपर उल्लेख किया गया है, साहचर्य संस्थाओं को साहचर्य तालिकाओं का उपयोग करके डेटाबेस संरचना में प्रयुक्त किया जाता है, जो कि ऐसी तालिकाएँ होती हैं जिनमें एक ही डेटाबेस के अंदरसमान या भिन्न डेटाबेस तालिकाओं के स्तंभों के संदर्भ हो सकते हैं। | ||
[[File:mapping_table_concept.png|right|मैपिंग | [[File:mapping_table_concept.png|right|मैपिंग तालिका की अवधारणा]]एक साहचर्य (या जंक्शन) तालिका प्रत्येक डेटा तालिका की [[प्राथमिक कुंजी]] (पीके) को संदर्भित करके दो या दो से अधिक तालिकाओं को एक साथ मैप करती है। असल में, इसमें कई [[विदेशी कुंजी]] (एफके) सम्मिलित हैं, प्रत्येक जंक्शन तालिका से अलग-अलग डेटा तालिका तक कई-से-एक रिश्ते में हैं। साहचर्य तालिका का पीके सामान्यतः स्वयं एफके कॉलम से बना होता है। | ||
साहचर्य तालिकाओं को बोलचाल की भाषा में कई नामों से जाना जाता है, जिनमें | साहचर्य तालिकाओं को बोलचाल की भाषा में कई नामों से जाना जाता है, जिनमें संगठन तालिका, पुल तालिका, प्रति संदर्भ तालिका, क्रॉसवॉक, मध्यस्थ तालिका, प्रतिच्छेदन तालिका, मिलान तालिका, जंक्शन तालिका, संपर्क तालिका, लिंकिंग तालिका, कई-से-कई रिज़ॉल्वर, मैप तालिका सम्मिलित हैं। , मैपिंग तालिका, पेयरिंग तालिका, पिवट तालिका (जैसा कि [[laravel|लारवेल]] में गलत विधि से उपयोग किया गया है - पिवट तालिका के सही उपयोग के साथ भ्रमित नहीं होना चाहिए), या संक्रमण तालिका। | ||
== साहचर्य तालिकाओं का उपयोग करना == | == साहचर्य तालिकाओं का उपयोग करना == | ||
Line 10: | Line 10: | ||
एक साहचर्य तालिका के व्यावहारिक उपयोग का उदाहरण उपयोगकर्ताओं को अनुमतियाँ प्रदान करना होगा। कई उपयोगकर्ता हो सकते हैं, और प्रत्येक उपयोगकर्ता को शून्य या अधिक अनुमतियाँ सौंपी जा सकती हैं। एक या अधिक उपयोगकर्ताओं को व्यक्तिगत अनुमतियां दी जा सकती हैं। | एक साहचर्य तालिका के व्यावहारिक उपयोग का उदाहरण उपयोगकर्ताओं को अनुमतियाँ प्रदान करना होगा। कई उपयोगकर्ता हो सकते हैं, और प्रत्येक उपयोगकर्ता को शून्य या अधिक अनुमतियाँ सौंपी जा सकती हैं। एक या अधिक उपयोगकर्ताओं को व्यक्तिगत अनुमतियां दी जा सकती हैं। | ||
तालिका उपयोगकर्ता बनाएं ( | तालिका उपयोगकर्ता बनाएं ( | ||
उपयोगकर्ता लॉगिन varchar(50) प्राथमिक कुंजी, | |||
उपयोगकर्ता पासवर्ड varchar(50) न्यूल नहीं, | |||
उपयोगकर्ता नाम वर्कर (50) पूर्ण नहीं है | उपयोगकर्ता नाम वर्कर (50) पूर्ण नहीं है | ||
); | ); | ||
तालिका अनुमतियां बनाएं ( | |||
अनुमति कुंजी varchar(50) प्राथमिक कुंजी, | |||
अनुमति विवरण varchar(500) अशक्त नहीं | |||
); | ); | ||
- यह जंक्शन | - यह जंक्शन तालिका है। | ||
तालिका बनाएं उपयोगकर्ता अनुमतियां ( | तालिका बनाएं उपयोगकर्ता अनुमतियां ( | ||
उपयोगकर्ता लॉगिन varchar(50) संदर्भ उपयोगकर्ता (उपयोगकर्ता लॉगिन), | |||
अनुमति कुंजी varchar(50) संदर्भ अनुमतियाँ (अनुमति कुंजी), | |||
प्राथमिक कुंजी (उपयोगकर्ता लॉगिन, अनुमति कुंजी) | प्राथमिक कुंजी (उपयोगकर्ता लॉगिन, अनुमति कुंजी) | ||
); | ); | ||
[[File:Junction Table.svg|center|दर्शाए गए संबंधों के साथ वर्णित तालिका स्कीमा का एक दृश्य चित्रण]] | [[File:Junction Table.svg|center|दर्शाए गए संबंधों के साथ वर्णित तालिका स्कीमा का एक दृश्य चित्रण]] | ||
{{-}} | {{-}} | ||
जंक्शन तालिका पर चयन (एसक्यूएल) -स्टेटमेंट में सामान्यतः जंक्शन तालिका के साथ मुख्य तालिका में सम्मिलित होना (एसक्यूएल) सम्मिलित होता है: | जंक्शन तालिका पर चयन (एसक्यूएल) -स्टेटमेंट में सामान्यतः जंक्शन तालिका के साथ मुख्य तालिका में सम्मिलित होना (एसक्यूएल) सम्मिलित होता है: | ||
चुनें * उपयोगकर्ताओं से | चुनें * उपयोगकर्ताओं से | ||
( | |||
(उपयोगकर्तालॉगिन) का उपयोग करके उपयोगकर्ता अनुमतियों में सम्मिलित हों; | |||
यह सभी उपयोगकर्ताओं और उनकी अनुमतियों की सूची लौटाएगा। | यह सभी उपयोगकर्ताओं और उनकी अनुमतियों की सूची लौटाएगा। | ||
Line 42: | Line 42: | ||
जंक्शन तालिका में [[सम्मिलित करें (एसक्यूएल)]] में कई चरण सम्मिलित हैं: पहले मुख्य तालिका में सम्मिलित करना, फिर जंक्शन तालिका को अद्यतन करना। | जंक्शन तालिका में [[सम्मिलित करें (एसक्यूएल)]] में कई चरण सम्मिलित हैं: पहले मुख्य तालिका में सम्मिलित करना, फिर जंक्शन तालिका को अद्यतन करना। | ||
- नया उपयोगकर्ता बनाना | - नया उपयोगकर्ता बनाना | ||
उपयोगकर्ताओं में सम्मिलित करें (उपयोगकर्ता लॉगिन, उपयोगकर्ता पासवर्ड, उपयोगकर्ता नाम) | उपयोगकर्ताओं में सम्मिलित करें (उपयोगकर्ता लॉगिन, उपयोगकर्ता पासवर्ड, उपयोगकर्ता नाम) | ||
मान ('कुछ उपयोगकर्ता', 'गुप्त पासवर्ड', 'उपयोगकर्ता नाम'); | मान ('कुछ उपयोगकर्ता', 'गुप्त पासवर्ड', 'उपयोगकर्ता नाम'); | ||
- नई अनुमति बनाना | - नई अनुमति बनाना | ||
अनुमतियों में प्रवेश करें (अनुमति कुंजी, अनुमति विवरण) | अनुमतियों में प्रवेश करें (अनुमति कुंजी, अनुमति विवरण) | ||
मान ('कुंजी', 'कई अनुमतियों के लिए उपयोग की जाने वाली कुंजी'); | |||
- अंत में, जंक्शन को अपडेट करना | - अंत में, जंक्शन को अपडेट करना | ||
उपयोगकर्ताअनुमति में डालें (उपयोगकर्ता लॉगिन, अनुमति कुंजी) | |||
मान ('कुछ उपयोगकर्ता', 'की'); | मान ('कुछ उपयोगकर्ता', 'की'); | ||
विदेशी कुंजियों का उपयोग करते हुए, डेटाबेस स्वचालित रूप से | विदेशी कुंजियों का उपयोग करते हुए, डेटाबेस स्वचालित रूप से उपयोगकर्ता अनुमति तालिका के मानों को अपनी स्वयं की तालिकाओं से हटा देगा। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 12:02, 22 February 2023
एक साहचर्य इकाई संबंधपरक मॉडल और इकाई-संबंध मॉडल|इकाई-संबंध सिद्धांत में प्रयुक्त शब्द है। संबंधपरक डेटाबेस को अनेक-से-अनेक (डेटा मॉडल)|अनेक-से-अनेक संबंधों को हल करने के लिए आधार संबंध (या आधार तालिका) के कार्यान्वयन की आवश्यकता होती है. इस तरह की इकाई का प्रतिनिधित्व करने वाला आधार संबंध अनौपचारिक रूप से एक साहचर्य तालिका कहलाता है।
जैसा कि ऊपर उल्लेख किया गया है, साहचर्य संस्थाओं को साहचर्य तालिकाओं का उपयोग करके डेटाबेस संरचना में प्रयुक्त किया जाता है, जो कि ऐसी तालिकाएँ होती हैं जिनमें एक ही डेटाबेस के अंदरसमान या भिन्न डेटाबेस तालिकाओं के स्तंभों के संदर्भ हो सकते हैं।
एक साहचर्य (या जंक्शन) तालिका प्रत्येक डेटा तालिका की प्राथमिक कुंजी (पीके) को संदर्भित करके दो या दो से अधिक तालिकाओं को एक साथ मैप करती है। असल में, इसमें कई विदेशी कुंजी (एफके) सम्मिलित हैं, प्रत्येक जंक्शन तालिका से अलग-अलग डेटा तालिका तक कई-से-एक रिश्ते में हैं। साहचर्य तालिका का पीके सामान्यतः स्वयं एफके कॉलम से बना होता है।
साहचर्य तालिकाओं को बोलचाल की भाषा में कई नामों से जाना जाता है, जिनमें संगठन तालिका, पुल तालिका, प्रति संदर्भ तालिका, क्रॉसवॉक, मध्यस्थ तालिका, प्रतिच्छेदन तालिका, मिलान तालिका, जंक्शन तालिका, संपर्क तालिका, लिंकिंग तालिका, कई-से-कई रिज़ॉल्वर, मैप तालिका सम्मिलित हैं। , मैपिंग तालिका, पेयरिंग तालिका, पिवट तालिका (जैसा कि लारवेल में गलत विधि से उपयोग किया गया है - पिवट तालिका के सही उपयोग के साथ भ्रमित नहीं होना चाहिए), या संक्रमण तालिका।
साहचर्य तालिकाओं का उपयोग करना
एक साहचर्य तालिका के व्यावहारिक उपयोग का उदाहरण उपयोगकर्ताओं को अनुमतियाँ प्रदान करना होगा। कई उपयोगकर्ता हो सकते हैं, और प्रत्येक उपयोगकर्ता को शून्य या अधिक अनुमतियाँ सौंपी जा सकती हैं। एक या अधिक उपयोगकर्ताओं को व्यक्तिगत अनुमतियां दी जा सकती हैं।
तालिका उपयोगकर्ता बनाएं (
उपयोगकर्ता लॉगिन varchar(50) प्राथमिक कुंजी, उपयोगकर्ता पासवर्ड varchar(50) न्यूल नहीं, उपयोगकर्ता नाम वर्कर (50) पूर्ण नहीं है
);
तालिका अनुमतियां बनाएं (
अनुमति कुंजी varchar(50) प्राथमिक कुंजी, अनुमति विवरण varchar(500) अशक्त नहीं
);
- यह जंक्शन तालिका है।
तालिका बनाएं उपयोगकर्ता अनुमतियां (
उपयोगकर्ता लॉगिन varchar(50) संदर्भ उपयोगकर्ता (उपयोगकर्ता लॉगिन), अनुमति कुंजी varchar(50) संदर्भ अनुमतियाँ (अनुमति कुंजी), प्राथमिक कुंजी (उपयोगकर्ता लॉगिन, अनुमति कुंजी)
);
जंक्शन तालिका पर चयन (एसक्यूएल) -स्टेटमेंट में सामान्यतः जंक्शन तालिका के साथ मुख्य तालिका में सम्मिलित होना (एसक्यूएल) सम्मिलित होता है:
चुनें * उपयोगकर्ताओं से
(उपयोगकर्तालॉगिन) का उपयोग करके उपयोगकर्ता अनुमतियों में सम्मिलित हों;
यह सभी उपयोगकर्ताओं और उनकी अनुमतियों की सूची लौटाएगा।
जंक्शन तालिका में सम्मिलित करें (एसक्यूएल) में कई चरण सम्मिलित हैं: पहले मुख्य तालिका में सम्मिलित करना, फिर जंक्शन तालिका को अद्यतन करना।
- नया उपयोगकर्ता बनाना
उपयोगकर्ताओं में सम्मिलित करें (उपयोगकर्ता लॉगिन, उपयोगकर्ता पासवर्ड, उपयोगकर्ता नाम)
मान ('कुछ उपयोगकर्ता', 'गुप्त पासवर्ड', 'उपयोगकर्ता नाम');
- नई अनुमति बनाना
अनुमतियों में प्रवेश करें (अनुमति कुंजी, अनुमति विवरण)
मान ('कुंजी', 'कई अनुमतियों के लिए उपयोग की जाने वाली कुंजी');
- अंत में, जंक्शन को अपडेट करना
उपयोगकर्ताअनुमति में डालें (उपयोगकर्ता लॉगिन, अनुमति कुंजी)
मान ('कुछ उपयोगकर्ता', 'की');
विदेशी कुंजियों का उपयोग करते हुए, डेटाबेस स्वचालित रूप से उपयोगकर्ता अनुमति तालिका के मानों को अपनी स्वयं की तालिकाओं से हटा देगा।
यह भी देखें
- अनेक-से-अनेक (डेटा मॉडल)
- संबंध का डेटाबेस
- अनूठी कुंजी
संदर्भ
- Hoffer, Jeffrey A.; Prescott, Mary B.; McFadden, Fred R. (2004). Modern Database Management (7th ed.). Prentice Hall. ISBN 978-0131453203.
- Codd, E. F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. ACM. 13 (6): 377–387. doi:10.1145/362384.362685.