मेरे पास 2 टेबल, User
और Employee
हैं। प्रत्येक उपयोगकर्ता को User_ID
दिया जाता है और यह User
तालिका में प्राथमिक कुंजी है और Employee
तालिका में एक विदेशी कुंजी है। क्या Employee
तालिका में यह विशेषता प्राथमिक कुंजी भी हो सकती है?क्या डेटाबेस विशेषता प्राथमिक और विदेशी कुंजी हो सकती है?
उत्तर
यदि आपके पास दो तालिकाओं के बीच एक-से-एक संबंध है, तो विवरण तालिका की प्राथमिक कुंजी भी एक विदेशी कुंजी है।
master detail (1 : 1)
+----------+ 1:1 +-------------+
| PK id |<---o| PK FK id |
+----------+ +-------------+
| col1 | | col1 |
| col2 | | col2 |
| etc. | | etc. |
+----------+ +-------------+
आप एक मीटर करने के लिए n संबंध है, तो जंक्शन मेज मीटर के दो प्राथमिक कुंजी और एन-टेबल से संबंधित कॉलम है। ये कॉलम एक ही समय में प्राथमिक कुंजी और विदेशी कुंजी हैं।
m : n
m_table junction
+----------+ 1:m +------------+ n_table
| PK id1 |<---o| PK FK1 id1 | n:1 +----------+
+----------+ | PK FK2 id2 |o--->| PK id2 |
| col1 | +------------+ +----------+
| col2 | | | | col1 |
| etc. | +------------+ | etc. |
+----------+ +----------+
ध्यान दें कि यह निर्माण के साथ, एक मेज के रिकार्ड केवल अन्य तालिका की एक विशिष्ट रिकॉर्ड करने के लिए एक बार जोड़ा जा सकता है, के बाद से जंक्शन तालिका में से प्रत्येक के समग्र प्राथमिक कुंजी अद्वितीय होना चाहिए।
m : n
junction
+---------+
m_table | PK id |
+----------+ 1:m +---------+ n_table
| PK id1 |<---o| FK1 id1 | n:1 +----------+
+----------+ | FK2 id2 |o--->| PK id2 |
| col1 | | | +----------+
| col2 | +---------+ | col1 |
| etc. | | etc. |
+----------+ +----------+
इस मामले में, प्राथमिक कुंजी और विदेशी कुंजी की कमी विभिन्न स्तंभों पर सेट कर रहे हैं: क्या आप गैर-अद्वितीय जोड़ी अनुमति देना चाहते हैं, जंक्शन तालिका में एक अलग प्राथमिक कुंजी परिभाषित करते हैं। वैकल्पिक रूप से आप दो विदेशी कुंजी और एक संख्यात्मक या अन्य समझदार विशेषता के साथ प्राथमिक कुंजी भी बना सकते हैं।
आपके मामले में, अगर वहाँ एक एक-से-एक या एक-से-शून्य या एक User
और Employee
के बीच संबंध है, तो हाँ, Employee
तालिका में User_ID
विदेशी कुंजी हो सकता है (एफके) और प्राथमिक कुंजी (पीके) एक ही समय में। शब्दों में, इसका मतलब यह होगा: उपयोगकर्ता एक कर्मचारी भी हो सकता है, इस मामले में कर्मचारी डेटा उपयोगकर्ता से जुड़ा होगा। यदि वह कर्मचारी नहीं है (वह बाहरी विशेषज्ञ हो सकता है), कोई कर्मचारी रिकॉर्ड संलग्न नहीं है। यदि User_ID
Employee
में एफके और पीके है, तो प्रत्येक उपयोगकर्ता के पास अधिकतम एक कर्मचारी रिकॉर्ड संलग्न हो सकता है। यदि User_ID
केवल एफके था लेकिन तालिका Employee
में पीके नहीं था तो उपयोगकर्ता के पास कई संबंधित कर्मचारी रिकॉर्ड हो सकते थे।
हां। उदाहरण के लिए आप ऐसा करेंगे यदि आप यह लागू करना चाहते हैं कि सभी कर्मचारी उपयोगकर्ता हैं, और कुछ उपयोगकर्ता कर्मचारी हो सकते हैं। यह एक रिश्ते के लिए (शून्य या एक) होगा।
अन्यथा, आपके पास आमतौर पर प्राथमिक कुंजी जैसी विदेशी कुंजी नहीं होगी, हालांकि इसमें कई प्रमुख रिश्तों के लिए जंक्शन तालिका के मामले में विदेशी कुंजी हो सकती है।
- 1. क्या SQL सर्वर दृश्यों में प्राथमिक और विदेशी कुंजी हो सकती है?
- 2. क्या रेल में एक यौगिक विदेशी कुंजी हो सकती है?
- 3. ScalaQuery एकाधिक प्राथमिक कुंजी और विदेशी कुंजी
- 4. RestKit प्राथमिक कुंजी विशेषता
- 5. क्या हमारे पास एक विदेशी कुंजी हो सकती है जो किसी अन्य तालिका में प्राथमिक कुंजी नहीं है?
- 6. विदेशी कुंजी जो शून्य भी हो सकती है
- 7. MySQL प्राथमिक/विदेशी कुंजी आकार?
- 8. विदेशी कुंजी और प्राथमिक कुंजी पर पोस्टग्रेज और इंडेक्स
- 9. ईबीन - समग्र प्राथमिक कुंजी जिसमें विदेशी कुंजी
- 10. CakePHP विदेशी कुंजी नहीं प्राथमिक कुंजी
- 11. समग्र प्राथमिक कुंजी और विदेशी कुंजी बाधा त्रुटि
- 12. ओरेकल समग्र प्राथमिक कुंजी/विदेशी कुंजी प्रश्न
- 13. ग्रिड प्राथमिक/विदेशी कुंजी दुविधा एसक्यूएल सर्वर
- 14. प्राथमिकता फ्रेमवर्क में प्राथमिक/विदेशी कुंजी
- 15. क्या उसी कॉलम में प्राथमिक कुंजी और विदेशी कुंजी बाधा अन्य कॉलम
- 16. क्या विदेशी कुंजी तालिका प्राथमिक कुंजी बननी चाहिए?
- 17. समग्र प्राथमिक कुंजी, विदेशी कुंजी। ऑब्जेक्ट या कुंजी का संदर्भ?
- 18. डेटाबेस कॉलम और विदेशी कुंजी सामान्य
- 19. अद्वितीय और प्राथमिक कुंजी
- 20. विदेशी कुंजी वास्तव में क्या है?
- 21. एक ही समय में प्राथमिक और विदेशी कुंजी
- 22. क्या कोई विदेशी कुंजी फ़ील्ड नाम के बजाय स्थिर हो सकती है? एसटीआई उपवर्ग
- 23. क्या डेटाबेस तालिका में दो कॉलम हैं जो विदेशी कुंजी हैं, एक तीसरा कॉलम है जो प्राथमिक कुंजी है?
- 24. विदेशी कुंजी
- 25. डेटाबेस डेटाबेस को डिज़ाइन करना जो केवल 2 विदेशी कुंजी में से एक हो सकता है?
- 26. गैर-प्राथमिक कुंजी फ़ील्ड के लिए इकाई फ्रेमवर्क विदेशी कुंजी
- 27. MySQL प्राथमिक कुंजी बदल देते हैं विदेशी कुंजी contraints मौजूद
- 28. एसक्यूएल प्राथमिक कुंजी '0' स्वीकार कर सकती है?
- 29. फिक्स ORA-02,273: इस अनूठी/प्राथमिक कुंजी कुछ विदेशी कुंजी
- 30. प्राथमिक, अद्वितीय और विदेशी कुंजी बाधाओं, और अनुक्रमणिका के बीच क्या अंतर है?
कर्मचारी तालिका में प्राथमिक कुंजी क्या है? प्रत्येक तालिका में केवल एक प्राथमिक कुंजी की अनुमति है। आप समग्र प्राथमिक कुंजी (एक से अधिक कॉलम) कर सकते हैं। –