"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या एक विदेशी कुंजी बहुरूपी संघों में एकाधिक तालिकाओं का संदर्भ दे सकती है?

क्या एक विदेशी कुंजी बहुरूपी संघों में एकाधिक तालिकाओं का संदर्भ दे सकती है?

2024-11-16 को प्रकाशित
ब्राउज़ करें:545

Can a Foreign Key Reference Multiple Tables in Polymorphic Associations?

बहुरूपी विदेशी कुंजी: क्या एक विदेशी कुंजी एकाधिक तालिकाओं का संदर्भ दे सकती है?

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

उत्तर: नहीं

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

शामिल वंशानुक्रम:

एक एकल तालिका बनाएं जिसमें चाइल्ड टेबल के सभी कॉलम और एक विभेदक कॉलम शामिल हो ताकि यह पता लगाया जा सके कि प्रत्येक पंक्ति किस तालिका से संबंधित है।

    प्रति वर्ग पदानुक्रम तालिका:
  • अलग बनाएं प्रत्येक चाइल्ड टेबल के लिए तालिकाएँ और वंशानुक्रम के माध्यम से उनके बीच संबंध स्थापित करें।
  • संघ प्रकार:
  • एक एकल कॉलम का उपयोग करें जो डेटा को समायोजित कर सके विभिन्न डोमेन से मान, इसे एकाधिक चाइल्ड तालिकाओं को संदर्भित करने की अनुमति देता है। संसाधन:
  • SQL में प्रैक्टिकल ऑब्जेक्ट-ओरिएंटेड मॉडल
  • SQL एंटीपैटर्न, खंड 1: डेटाबेस प्रोग्रामिंग के नुकसान से बचना
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729692085 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3