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 KEY, तो संदर्भित पंक्तियों को स्वचालित रूप से संदर्भित लोगों के साथ हटा दिया जाएगा।
एक बाधा के रूप में, FOREIGN KEYवास्तव में प्रश्नों को थोड़ा धीमा कर देता है।
संदर्भित तालिका से हटाते समय या किसी संदर्भ में सम्मिलित करते समय अतिरिक्त जाँच की जानी चाहिए।