Lesson 12 SQL Cascading Referential Integrity in Hindi
इस Video में हम cascading Referential Integrity के बारेमे सीखेंगे लेकिन
पहेले आप निचे दिए गए जरुर देख ले.
Recommended Video
Lesson – 4 Primary Key and Foreign key
पहेले हम जरुरी Table बना लेते है.
Create Table
tblContactGroup
(
ID int primary key,
GroupName nvarchar(50)
)
insert into
tblContactGroup values(1, 'Customer')
insert into
tblContactGroup values(2, 'Freinds')
insert into
tblContactGroup values(3, 'Family')
insert into
tblContactGroup values(4, 'Other')
Create Table
tblContact
(
ContactID int
primary key identity(1,1),
Name nvarchar(50) Not Null,
PhoneNumber nvarchar(15),
GroupID int
references tblContactGroup(ID)
Constraint DF_tblContact_GroupID Default(4)
Constraint DF_tblContact_GroupID Default(4)
)
insert into
tblContact values('Sunil', '+91 9327514434', 1)
insert into
tblContact values('Kapil', '0261 2505318', 2)
insert into
tblContact values('Farhan', '+91 9173546430', 1)
insert into
tblContact values('Ali', '+91 9723992780', 1)
insert into
tblContact values('Vanita', '+91 9978804972', 2)
insert into
tblContact values('Hari', '+91 9904378128', 4)
insert into
tblContact values('Krupa', '+91 9904378128', 4)
insert into
tblContact values('Rajan', '+91 9904378128', 3)
insert into
tblContact values('Jayesh', '+91 9904378128', 3)
Select * from tblContact
Select * from
tblContactGroup
यहाँ पर दो Table Primary key और Foreign key से जुड़े है. अब अगर tblContactGroup टेबल में से 1 नम्बर की ID वाला रिकॉर्ड डिलीट कर दिया
जाये तो tblContact टेबल में ID 1, 3 और 4 के लिये GroupID कोलम में समस्या खड़ी होगी
अतः tblContactGroup में से 1 नम्बर ID वाला रिकॉर्ड डिलीट करने पर Error आएगी और रिकॉर्ड
डिलीट नहीं होगा.
Delete from tblContactGroup Where ID=1
इस समस्या के दो उपाय है
Solution – 1
पहेले tblContact में से GroupID 1 वाले सारे Record डिलीट कर दो फिर आप tblContactGroup में से ID 1 वाला रिकॉर्ड डिलीट कर सकते हो.
Delete from tblContact Where GroupID = 1
Delete from tblContactGroup Where ID = 1
Select * from tblContact
Select * from tblContactGroup
पर अगर tblContact के
रिकॉर्ड डिलीट नही करने हो तो
Solution – 2
tblContact की Foreign Key के लिये Delete Rule और Update Rule सेट कर दो.
Rule सेट करने के लिये
Object Explorer में tabel को Expand करे और Foreign key के ऊपर डबल क्लिक करे. या फिर Right Click करके Modify Option पर क्लिक करे.
Rule सेट करने के लिये
Object Explorer में tabel को Expand करे और Foreign key के ऊपर डबल क्लिक करे. या फिर Right Click करके Modify Option पर क्लिक करे.
Delete Rule और Update Rule के लिये 4 Option है.
1. No Action
By Default यह Rule सेट होता है. इनसे Delete या Update करनेका प्रयत्न करने पर अगर फोरेन की से रिकॉर्ड जुडा पाया जाता है तो Delete या Update नहीं होगा Error आएगी
2. Cascade
यह Rule सेट करने से Delete या Update करनेका प्रयत्न करने पर फोरेंन की से जुड़े जितने भी रिकॉर्ड होगे वह सारे रिकॉर्ड भी Delete या Update हो जायेंगे
3. Set Null
यह Rule सेट करने से Delete या Update करनेका प्रयत्न करने पर फोरेंन की से जुड़े जितने भी रिकॉर्ड होगे वह सारे रिकॉर्ड में NULL वेलु सेट हो जाएगी
4. Set Default
यह Rule सेट करने से Delete या Update करनेका प्रयत्न करने पर फोरेंन की से जुड़े जितने भी रिकॉर्ड होगे वह सारे रिकॉर्ड में Default Constraint वेलु सेट हो जाएगी
No comments:
Post a Comment