रेफरेंशियल इंटीग्रिटी

SQL में रिलेशनल डेटाबेस का परिचय

Timo Grossenbacher

Data Journalist

रेफरेंशियल इंटीग्रिटी

  • किसी दूसरी टेबल को रेफर करने वाला रिकॉर्ड, उसी टेबल में मौजूद रिकॉर्ड को ही संदर्भित करे
  • दो टेबलों के बीच परिभाषित
  • फॉरेन कीज़ से लागू
SQL में रिलेशनल डेटाबेस का परिचय

रेफरेंशियल इंटीग्रिटी उल्लंघन

टेबल A से टेबल B तक की रेफरेंशियल इंटीग्रिटी टूटती है...

  • ...यदि टेबल B का कोई रिकॉर्ड, जिसे टेबल A का रिकॉर्ड रेफर करता है, डिलीट हो जाए।
  • ...यदि टेबल A में ऐसा रिकॉर्ड इंसर्ट हो जो टेबल B के मौजूद न होने वाले रिकॉर्ड को रेफर करे।
  • फॉरेन कीज़ ऐसी उल्लंघनों को रोकती हैं!
SQL में रिलेशनल डेटाबेस का परिचय

उल्लंघनों से निपटना

CREATE TABLE a (
 id integer PRIMARY KEY,
 column_a varchar(64), 
 ...,
 b_id integer REFERENCES b (id) ON DELETE NO ACTION
);
CREATE TABLE a (
 id integer PRIMARY KEY,
 column_a varchar(64), 
 ...,
 b_id integer REFERENCES b (id) ON DELETE CASCADE
);
SQL में रिलेशनल डेटाबेस का परिचय

उल्लंघनों से निपटना, जारी

ON DELETE...

  • ...NO ACTION: त्रुटि फेंकें
  • ...CASCADE: सभी रेफरेंसिंग रिकॉर्ड डिलीट करें
  • ...RESTRICT: त्रुटि फेंकें
  • ...SET NULL: रेफरेंसिंग कॉलम को NULL करें
  • ...SET DEFAULT: रेफरेंसिंग कॉलम को उसके डिफॉल्ट मान पर सेट करें
SQL में रिलेशनल डेटाबेस का परिचय

कुछ उदाहरण देखें!

SQL में रिलेशनल डेटाबेस का परिचय

Preparing Video For Download...