यदि मैं नीचे दी गई तालिका घोषित करता हूं तो यह स्पष्ट रूप से दर्शाता है कि दोनों विदेशी कुंजी एक अद्वितीय प्राथमिक कुंजी बनाती हैं या क्या मुझे दोनों प्राथमिकताओं को प्राथमिक कुंजी के रूप में बनाने के लिए कुछ और करने की आवश्यकता है?प्राथमिक कुंजी के रूप में एसक्यूएल एकाधिक विदेशी कुंजी
CREATE TABLE Report_has_Items
(
ReportID int REFERENCES Report(ReportID) NOT NULL,
ItemID int REFERENCES Item(ItemID) NOT NULL
)
अनिवार्य रूप से दोनों विशेषताओं जो अन्य तालिकाओं से विदेशी कुंजी हैं, एक साथ एक अद्वितीय कुंजी बनेंगे।
बाधा नामकरण का क्या फायदा है? – Kairan
@Kairan - एक मुख्य लाभ यह है कि, यदि कोई क्वेरी (सम्मिलित, अद्यतन, हटाएं) एक बाधा का उल्लंघन करती है, तो बाधा नाम के साथ एक त्रुटि संदेश उत्पन्न किया जाएगा। यदि बाधा नाम स्पष्ट और वर्णनात्मक है, तो त्रुटि संदेश को समझना आसान होगा; यदि बाधा नाम एक यादृच्छिक है तो यह कम स्पष्ट होगा। – Gayu
मेरे लिए मुख्य कारण वातावरण में स्थिरता है। मैं एक समर्थन डीबीए हूँ। उस नौकरी का हिस्सा DEV से QA में PROD में परिवर्तन माइग्रेट कर रहा है। मैं इसके लिए एक स्कीमा तुलना उपकरण का उपयोग करें। यह अच्छा है कि बाधाओं का नाम समान है ताकि नामकरण में मतभेद अंतर के रूप में ध्वजांकित न हों। –