अगर मैं एक डेटाबेस में दो संबंधों, इस तरह है:एसक्यूएल डिलीट कैस्केड पर, किस तरह से विलोपन होता है?
CREATE TABLE Courses (
CourseID int NOT NULL PRIMARY KEY,
Course VARCHAR(63) NOT NULL UNIQUE,
Code CHAR(4) NOT NULL UNIQUE
);
CREATE TABLE BookCourses (
EntryID int NOT NULL PRIMARY KEY,
BookID int NOT NULL,
Course CHAR(4) NOT NULL,
CourseNum CHAR(3) NOT NULL,
CourseSec CHAR(1) NOT NULL
);
और मैं दोनों के बीच एक विदेशी कुंजी संबंध स्थापित कर देते हैं:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
तो फिर तुम देख सकते हैं कि Course
विशेषता BookCourses
संबंध Courses
संबंध में Code
विशेषता का संदर्भ देता है।
मेरा सवाल यह है कि जब दोनों संबंधों में से किसी एक में विलोपन होता है, तो किस तरह से विलोपन कैस्केड होता है? अगर मैं Courses
संबंध में एक टुपल हटा देता हूं, तो क्या यह BookCourses
संबंध में सभी संदर्भ टुपल्स को हटा देगा, या यह दूसरी तरफ है?
आपके समय के लिए धन्यवाद।
एक ही चमत्कार क्यों 'Categories' तालिका प्राथमिक कुंजी है, जबकि' Courses' तालिका 'EntryID' है के रूप में एक' CourseID' है। आपको अपने नामकरण विकल्पों पर पुनर्विचार करने की गंभीरता से आवश्यकता है। –
भ्रम और स्पष्ट डीबी संरचना से बचने के लिए उपयोगकर्ता को उचित कॉलम नाम दें। –