Foreign Keys and Referential Integrity In Hindi

Foreign Keys and Referential Integrity In Hindi

एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में फॉरेन की डेटाबेस यूजर क्रिएटेड टेबल में एक कॉलम या कॉलम का ग्रुप कलेक्शन होता है, सामान्यता फॉरेन की का यूज़ दो डेटाबेस टेबल के डेटा के मध्य टेबल कॉलम लिंक क्रिएट करने मे किया जाता है। जहा किसी एक डेटाबेस टेबल में क्रिएटेड फॉरेन की दूसरी टेबल में डिफाइन प्राइमरी की या यूनिक की को डायरेक्ट पॉइंट कर लिंक करती है. जोकि दोनों डेटाबेस टेबल के बीच डायरेक्ट इन-डायरेक्ट एक लिंक क्रिएट कर दो डिफरेंट टेबल में रिलेशनशिप को एस्टेब्लिश करती है। डेटाबेस मैनेजमेंट सिस्टम में यह कॉन्सेप्ट रेफरेंशियल इंटीग्रिटी के लिए बहुत ज़रूरी प्रोसेस है, जो यह तय करता है कि डेटाबेस टेबल के बीच रिलेशनशिप लगातार मेन्टेन रहे।

Foreign Keys and Referential Integrity In Hindi

Let’s now understand the concept of foreign keys and how to apply referential integrity in a database.

Foreign Keys in Database Management Systems.

एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में फॉरेन की डेटाबेस टेबल में एक कॉलम या कॉलम का ग्रुप कलेक्शन का सेट होता है, फॉरेन की का डेटाबेस टेबल में यूज़ दो अलग अलग डेटाबेस टेबल डेटा के बीच लिंक क्रिएट करने और उसे टेबल में अप्लाई करने मे किया जाता है। क्रिएटेड फॉरेन की टेबल में दूसरी टेबल में प्राइमरी की या यूनिक की से प्रॉपर मैच होती है। फॉरेन की डेटाबेस टेबल में यह फिक्स करती है कि किसी एक टेबल में कॉलम वैल्यू दूसरी टेबल में वैल्यू से एग्जैक्ट मैच होती हो, या NULL वैल्यू  के रूप में डिफाइन हों, जिससे की दोनों अलग टेबल के बीच रिलेशनशिप क्रिएट होती है। 

Features of Foreign Keys in DBMS.

  • Referential Integrity – एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में फॉरेन की यह फिक्स करती है कि फॉरेन की टेबल कॉलम में वैल्यू रेफरेंस वाली टेबल में प्रॉपर वैल्यू से मैच हो जाए।
  • Enforcing Relationships – यह फीचर्स दो टेबल टेबल के मध्य रिलेशनशिप एस्टाब्लिशड करती है। जैसे, ऑर्डर्स डेटाबेस टेबल में customer_id एक फॉरेन की क्रिएट हो सकती है. जो कस्टमर्स टेबल में customer_id को इंडीकेट करती है।
  • NULL Values – यदि डेटाबेस टेबल में रिलेशनशिप ऑप्शनल चॉइस होतो, तो टेबल में फॉरेन की कॉलम में NULL वैल्यू डिफाइन हो सकती हैं। ऐसा ज्यादातर तब होता है, जब दो अलग अलग डेटाबेस टेबल में चाइल्ड टेबल में एक रो का पैरेंट टेबल में एक रो से प्रॉपर मैच होना ज़रूरी नहीं होता है।
  • Cascading Actions – डेटाबेस टेबल में फॉरेन की को पैरेंट टेबल में किसी भी प्रकार के मॉडिफिकेशन ट्रिगर होने पर चाइल्ड टेबल में रिलेटेड टेबल रो डाटा पर ऑटोमैटिक आर्डर में इक्वल एक्शन जैसे, टेबल डाटा डिलीट करना या मौजूदा डाटा को अपडेट या इन्सर्ट करने के लिए प्रॉपर कॉन्फ़िगर या सेट किया जाता है।

Syntax for creating a foreign key in SQL.

CREATE TABLE orders (

order_id INT PRIMARY KEY,

customer_id INT,

customer_name VARCHAR(100);

order_date DATE,

FOREIGN KEY (customer_id) REFERENCES customers(customer_id)

);

In this example.

  • यहाँ ऑर्डर्स टेबल में customer_id कॉलम को एक फॉरेन की से डिफाइन किया गया है, जो की मौजूदा कस्टमर्स टेबल में customer_id को इंडीकेट करती है।
  • यहाँ फॉरेन की यह तय करती है कि ऑर्डर्स टेबल में हर customer_id कस्टमर्स टेबल में एक प्रॉपर customer_id से एग्जैक्ट मैच हो जाए।

Referential Integrity in Database Management Systems.

डेटाबेस मैनेजमेंट सिस्टम में रेफरेंशियल इंटीग्रिटी एक पॉपुलर कॉन्सेप्ट है, जो डेटाबेस में यह फिक्स करता है कि क्रिएटेड ऑफ़ नंबर्स डेटाबेस टेबल के मध्य रिलेशनशिप प्रॉपर आर्डर में क्रिएट और मेन्टेन रहे। यह फीचर्स डेटाबेस यूजर को सुनिश्चित करता देता है कि क्रिएटेड चाइल्ड टेबल में फॉरेन की वैल्यू हमेशा पैरेंट टेबल में प्राइमरी की वैल्यू से प्रॉपर मैच हो जाएगी या NULL के रूप में डिफाइन होंगी। जब डेटाबेस टेबल में रेफरेंशियल इंटीग्रिटी को अप्लाई किया जाता है. जिससे की डेटाबेस यूजर इस तरह की सिचुएशन को ब्लॉक या कण्ट्रोल कर सके।

Elements of Referential Integrity in Database Management Systems.

  • Orphaned records – यह डेटाबेस टेबल में चाइल्ड टेबल रिकॉर्ड होते है, जो टेबल में ऐसे पैरेंट रिकॉर्ड को इंडीकेट करते हैं, जो की अभी मौजूद नहीं हैं।
  • Inconsistent data – यह डेटाबेस टेबल में डेटा इंटीग्रिटी की पॉब्लेम्स होती है, जो की डेटाबेस टेबल में फॉरेन की की रिलेशनशिप को वॉइलेट करता है।

How Referential Integrity works in DBMS.

डेटाबेस मैनेजमेंट सिस्टम में एक पैरेंट टेबल में प्राइमरी की डेटाबेस क्रिएटर के द्वारा डिफाइन होती है, जिसे लिंक्ड चाइल्ड टेबल द्वारा रेफर या इंडीकेट किया जाता है।  डेटाबेस टेबल में फॉरेन की कंस्ट्रेंट यह तय करता है कि मौजूदा चाइल्ड डेटाबेस टेबल में फॉरेन की वैल्यू या तो पैरेंट टेबल में प्राइमरी की वैल्यू से प्रॉपर मैच होती है, या NULL के रूप में डिफाइन होती है, यदि यहाँ रिलेशनशिप ऑप्शनल होती है।

For example, consider this applied to two different tables.

  • Customers table (Parent table) – the main table.
  • Orders table (Child table) – linked with the parent table.

यहाँ ऑर्डर्स डेटाबेस टेबल में, customer_id एक फॉरेन की के रूप में डिफाइन है, जो की कस्टमर्स डेटाबेस टेबल में customer_id को रेफर या इंडीकेट करती है।

डेटाबेस टेबल में रेफरेंशियल इंटीग्रिटी के बगैर डेटाबेस यूजर के पास एक ऑर्डर्स रिकॉर्ड हो सकता है, जिसमें एक customer_id हो जो की कस्टमर्स टेबल में एक्सिस्ट  नहीं है, जिससे की यह इनवैलिड या इन्कन्सीस्टेन्ट डेटा के रूप में हो सकता है। इसमें रेफरेंशियल इंटीग्रिटी कांसेप्ट को अप्लाई करके ऐसी जनरेट होने वाली प्रॉब्लम को स्टॉप किया जा सके।

A complete example of a foreign key with parent and child tables.

तो चलिए फॉरेन की और रेफरेंशियल इंटीग्रिटी को एक्साम्प्ल के माध्यम से बेहतर जाने।

Parent table creation steps: Customers table.

CREATE TABLE customer (

customer_id INT PRIMARY KEY,

cust_name VARCHAR(140),

);

Child table creation steps: Orders table.

CREATE TABLE orders (

order_id INT PRIMARY KEY,

customer_id INT,

order_name VARCHAR(130),

order_date DATE,

FOREIGN KEY (customer_id)

REFERENCES customer(customer_id)

ON DELETE CASCADE

ON UPDATE CASCADE

);

Now insert a manual data into the Customers table.

INSERT INTO customer (customer_id, cust_name)

VALUES (109, ‘Harry Deora’), (401, ‘Siddhi Deora’);

Insert data manually into the Orders child table.

INSERT INTO orders (order_id, order_name, customer_id, order_date)

VALUES (202, ‘Hp Laptop ‘, ‘2026-01-08’), (444, 4, ‘2026-02-07’);

Here, deleting a record from the Customers table will automatically delete its corresponding orders.

DELETE FROM customer WHERE customer_id = 109; — यह कस्टमर टेबल में हैरी नाम कस्टमर के सभी ऑर्डर भी डिलीट हो जाएंगे।

In this example.

  • यहाँ दो टेबल में कस्टमर्स टेबल एक पैरेंट टेबल के रूप में डिफाइन है, और इसमें ऑर्डर्स टेबल को चाइल्ड टेबल के रूप में डिफाइन किया गया है।
  • जहा ऑर्डर्स टेबल में customer_id एक फॉरेन की के रूप में क्रिएटेड है, जो कस्टमर्स टेबल में customer_id को इंडीकेट या रेफरेंस करती है।
  • जहा ON DELETE CASCADE स्टेटमेंट यह फिक्स करता है कि अगर किसी कस्टमर को कस्टमर टेबल से डिलीट किया जाता है, तो यह उस कस्टमर टेबल में ऐड सभी कस्टमर ऑर्डर भी आटोमेटिक रूप से डिलीट हो जाएंगे।
  • इसमें ON UPDATE CASCADE स्टेटमेंट यह फिक्स करता है कि अगर कस्टमर टेबल में customer_id अपडेट किया जाता है, तो यह इनफार्मेशन ऑर्डर्स टेबल में अपने आप अपडेट हो जाएगा।

Leave a Reply