एक सामान्य डेटाबेस डिज़ाइन में समग्र कुंजी का उपयोग करके तालिकाओं के बीच संबंध स्थापित करना शामिल है। एक समग्र कुंजी कई स्तंभों का एक संयोजन है जो किसी तालिका में किसी रिकॉर्ड की विशिष्ट पहचान करती है। इस परिदृश्य में, आपके पास दो टेबल, ट्यूटोरियल और समूह हैं, जहां आपको ट्यूटोरियल में समग्र अद्वितीय कुंजी को समूह में एक फ़ील्ड से लिंक करने की आवश्यकता है।
MySQL दस्तावेज़ के अनुसार, MySQL समग्र कुंजी के लिए विदेशी कुंजी मैपिंग का समर्थन करता है। हालाँकि, इस संबंध को स्थापित करने के लिए, आपको संदर्भित तालिका (ट्यूटोरियल) में प्राथमिक कुंजी कॉलम से मेल खाने के लिए संदर्भ तालिका (समूह) में कई कॉलम बनाने की आवश्यकता होगी।
यहां कैसे बनाएं इसके चरण दिए गए हैं विदेशी कुंजी मैपिंग:
-- Alter the 'group' table to add the composite foreign key columns ALTER TABLE `group` ADD COLUMN `beggingTime` time NOT NULL, ADD COLUMN `day` varchar(8) NOT NULL, ADD COLUMN `tutorId` int(3) NOT NULL; -- Add the foreign key constraint ALTER TABLE `group` ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);
समूह तालिका में तीन विदेशी कुंजी कॉलम (बेगिंगटाइम, दिन और ट्यूटरआईडी) बनाकर, आप इसके साथ संबंध स्थापित करते हैं ट्यूटोरियल तालिका में समग्र प्राथमिक कुंजी। यह आपको मिश्रित कुंजी के आधार पर दोनों तालिकाओं से डेटा को जोड़ने और पुनर्प्राप्त करने की अनुमति देता है।
यह ध्यान रखना महत्वपूर्ण है कि समग्र विदेशी कुंजी का उपयोग तकनीकी रूप से समर्थित है, इसके बजाय आम तौर पर एकल-स्तंभ प्राथमिक कुंजी का उपयोग करने की अनुशंसा की जाती है। ऐसा इसलिए है क्योंकि समग्र कुंजियाँ प्रदर्शन को प्रभावित कर सकती हैं और आपके डेटाबेस डिज़ाइन की जटिलता को बढ़ा सकती हैं। यदि संभव हो, तो ट्यूटोरियल में सिंगल-कॉलम प्राथमिक कुंजी का उपयोग करने के लिए अपनी तालिकाओं को फिर से आर्किटेक्चर करने पर विचार करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3