इस पोस्ट में, हम DBMS में प्राथमिक कुंजी (Primary key) और विदेशी कुंजी (Foreign key) के बीच अंतर को समझेंगे।
प्राथमिक कुंजी (Primary key)
यह सुनिश्चित करने के लिए उपयोग किया जाता है कि विशिष्ट कॉलम में डेटा अद्वितीय (unique) है।
यह एक संबंधपरक डेटाबेस में एक रिकॉर्ड को विशिष्ट रूप से पहचानने में मदद करता है।
एक टेबल में केवल एक प्राथमिक कुंजी अनुमत है।
यह 'UNIQUE' और 'Not Null' प्रतिबंधों का संयोजन है।
इसका मतलब है कि यह NULL मान नहीं हो सकता।
इसका मान पैरेंट टेबल से हटाया नहीं जा सकता।
प्रतिबंध को अस्थायी टेबल के लिए अंतर्निहित रूप से परिभाषित किया जा सकता है।
उदाहरण - SQL में:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, …. );
विदेशी कुंजी (Foreign Key)
यह एक संबंधपरक डेटाबेस टेबल में एक कॉलम या कॉलम का समूह है।
यह दोनों टेबल में डेटा के बीच एक लिंक देता है।
यह एक टेबल में वह फ़ील्ड है जो दूसरी टेबल की प्राथमिक कुंजी के समान है।
एक टेबल में एक से अधिक विदेशी कुंजी अनुमत हैं।
यह संबंधपरक डेटाबेस में डुप्लिकेट मान रख सकता है।
यह NULL मान रख सकता है।
इसका मान चाइल्ड टेबल से हटाया जा सकता है।
प्रतिबंध को स्थानीय या वैश्विक अस्थायी टेबल पर परिभाषित नहीं किया जा सकता।
उदाहरण - SQL में:
CREATE TABLE table_name (
col_name int NOT NULL PRIMARY KEY,
col_name int FOREIGN KEY REFERENCES Persons(col_name)
);