FOREIGN KEYS
बस सुनिश्चित करें कि आपका डेटा सुसंगत है।
वे दक्षता की दृष्टि से प्रश्नों में सुधार नहीं करते हैं, वे बस कुछ गलत प्रश्नों को विफल कर देते हैं।
अगर आपका ऐसा रिश्ता है:
CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
, तो आप किसी department
. को हटा नहीं सकते अगर इसमें कुछ employee
है है।
यदि आप ON DELETE CASCADE
. की आपूर्ति करते हैं FOREIGN KEYS
के लिए परिभाषा, संदर्भित पंक्तियों को संदर्भित पंक्तियों के साथ स्वचालित रूप से हटा दिया जाएगा।
एक बाधा के रूप में, FOREIGN KEYS
वास्तव में प्रश्नों को थोड़ा धीमा कर देता है।
संदर्भित तालिका से हटाते समय या संदर्भ तालिका में सम्मिलित करते समय अतिरिक्त जाँच करने की आवश्यकता होती है।