Foreign Key in DBMS in Hindi: एक विदेशी कुंजी (Foreign Key) में एक कॉलम होता है जो किसी अन्य तालिका में दूसरे कॉलम को संदर्भित करता है। संदर्भित किया जा रहा यह कॉलम अक्सर संदर्भित तालिका की प्राथमिक कुंजी है।
विदेशी कुंजी का उद्देश्य डेटा की संदर्भात्मक अखंडता सुनिश्चित करना होता है। इस ट्यूटोरियल में, आप उदाहरण के साथ डीबीएमएस में विदेशी कुंजी के बारे में सब कुछ सीखेंगे।
नोट: अगर आपको Keys के बारे में ज्यादा जानकारी नहीं है तो सबसे पहले आप RDBMS क्या है, Keys के प्रकारों जैसे Primary, Super और candidate key को समझ लें। डेटाबेस को भी इस वीडियो से समझें –
आइए फॉरेन की क्या है उदाहरण सहित समझें –
Table of Contents
Foreign Key in DBMS in Hindi (विदेशी कुंजी क्या है)?
Foreign Key एक attribute है जो इसकी मूल तालिका (table) में प्राथमिक कुंजी है, लेकिन किसी अन्य होस्ट तालिका में एक attribute के रूप में शामिल है। अर्थात् Foreign keys एक तालिका के स्तंभ (columns) हैं जो किसी अन्य तालिका की प्राथमिक कुंजी की ओर इशारा करती हैं। वे तालिकाओं के बीच एक क्रॉस-रेफरेंस के रूप में कार्य करते हैं।
यह हमें डेटा अखंडता बनाए रखने में मदद करता है और एक इकाई (entity) के दो अलग-अलग उदाहरणों के बीच नेविगेशन की भी अनुमति देता है। मॉडल में हर रिश्ते को एक विदेशी कुंजी द्वारा समर्थित होना चाहिए।
दूसरे शब्दों में, केवल वे मान जो डेटाबेस में दिखाई देने वाले हैं की अनुमति है। जब आप किसी व्यवसाय के लिए जानकारी का प्रबंधन करने के लिए एक डेटाबेस बनाते हैं, तो डेटाबेस में तालिकाओं के लिए कॉलम समान होना आम बात है।
निम्नलिखित उदाहरण में, Customer और Order तालिकाएँ CustID
कॉलम साझा (share) करती हैं:
यहाँ CustID
CUSTOMER तालिका में एक प्राथमिक कुंजी है, और CustID
ORDER तालिका में एक विदेशी कुंजी (foreign key) है।
Example of Foreign Key in DBMS (विदेशी कुंजी का उदाहरण)
नीचे दिए गए उदाहरण में Course_enrollment
तालिका में Stu_Id
कॉलम एक विदेशी कुंजी है क्योंकि यह छात्र तालिका की प्राथमिक कुंजी को इंगित करता है।
Course_enrollment table:
Course_Id | Stu_Id |
---|---|
C001 | 1002 |
C002 | 1001 |
C003 | 1003 |
C005 | 1004 |
Student table:
Stu_Id | Stu_Name | Stu_Age |
---|---|---|
1001 | Badal | 23 |
1002 | Kanchan | 20 |
1003 | Sujit | 21 |
नोट: व्यावहारिक रूप से, विदेशी कुंजी का किसी अन्य तालिका के प्राथमिक कुंजी टैग से कोई लेना-देना नहीं है, यदि यह किसी अन्य तालिका के एक अद्वितीय कॉलम (जरूरी नहीं कि प्राथमिक कुंजी) की ओर इशारा करता है, तो भी, यह एक विदेशी कुंजी होगी।
तो, विदेशी कुंजी की एक सही परिभाषा होगी: विदेशी कुंजी एक तालिका के स्तंभ (columns) हैं जो किसी अन्य तालिका के उम्मीदवार कुंजी की ओर इशारा करते हैं।
Benefits of Foreign Keys in Hindi (विदेशी कुंजी के लाभ):
- डेटाबेस डिज़ाइन के संबंध में FOREIGN KEY बाधा महत्वपूर्ण है।
- यह हमें अपनी जरूरतों के अनुसार डेटा को लिंक करने देता है।
- विदेशी कुंजियाँ रिलेशनल डेटाबेस में संरचना बनाने में मदद करती हैं।
- विदेशी कुंजियों का उपयोग करने से आवश्यकता पड़ने पर डेटाबेस को अपडेट करना आसान हो जाता है।
- यह तेजी से छँटाई, खोज और क्वेरी करने के संचालन में मदद करता है।
मूल रूप से, विदेशी कुंजियाँ अपनी तालिकाओं में विशिष्ट रूप से रिकॉर्ड की पहचान नहीं करती हैं, वे एक महत्वपूर्ण लाभ प्रदान करती हैं। वे आपको फ़ील्ड साझा करने वाली तालिकाओं के बीच एक लिंक बनाने में मदद करता है।
How to Create FOREIGN Key (विदेशी कुंजी बनाए)
अब, देखते हैं कि हम डेटाबेस में विदेशी कुंजी बाधाओं को कैसे बना सकते हैं:
-- This table doesn't have a foreign key
CREATE TABLE Customers (
id INT,
first_name VARCHAR(40),
last_name VARCHAR(40),
age INT,
country VARCHAR(10),
CONSTRAINT CustomersPK PRIMARY KEY (id)
);
-- Adding foreign key to the customer_id field
-- The foreign key references to the id field of the Customers table
CREATE TABLE Orders (
order_id INT,
item VARCHAR(40),
amount INT,
customer_id INT REFERENCES Customers(id),
CONSTRAINT OrdersPK PRIMARY KEY (order_id)
);
यहां, id
तालिका में customer_id
कॉलम का मान Customers
नामक एक अन्य तालिका में अपने Orders
कॉलम के साथ पंक्ति को संदर्भित करता है।
छोटा जवाब है “हां” हो सकती है। हालांकि, प्राथमिक कुंजी केवल अद्वितीय मानों की अनुमति देती है, और विदेशी कुंजी डुप्लीकेट की अनुमति देती है, इसलिए प्राथमिक कुंजी स्वयं ही उपयुक्त नहीं होगी।
Complete DBMS Course in Hindi
अगर आप पूरा DBMS हिंदी में सीखना चाहते हैं, तो यहाँ हमारा मुफ़्त DBMS कोर्स है! कोर्स बटन पर क्लिक करके सीखना शुरू करें।
निष्कर्ष
एक फॉरेन की (Foreign Key) एक संबंधपरक डेटाबेस तालिका में एक स्तंभ (column) या स्तंभों का समूह है जो दो तालिकाओं में डेटा के बीच एक कनेक्शन या लिंक प्रदान करता है।
दूसरे शब्दों में, विदेशी कुंजी तालिका में एक फ़ील्ड है जो किसी अन्य तालिका में प्राथमिक कुंजी है। और विदेशी कुंजियाँ कई अशक्त मान स्वीकार कर सकती हैं।
इस “Foreign Key in DBMS in Hindi (विदेशी कुंजी क्या है)” ट्यूटोरियल में, हमने डीबीएमएस में विदेशी कुंजी के बारे में सीखा और उदाहरणों की सहायता से उनका उपयोग कैसे किया जाए ये भी समझा।