Student_id VARCHAR(6) NOT NULL, Course_id VARCHAR(6) NOT NULL, Semester NUMERIC(2), /* This Option ensures that your cascade action is guaranteed to work */ CONSTRAINT FOREIGN KEY Student_fk (Student_id) REFERENCES STUDENT(Student_id) ON DELETE CASCADE, CONSTRAINT FOREIGN KEY Course_fk (Course_id) REFERENCES COURSE(Course_id) ON DELETE CASCADE);
/* Using this Option has the effect of not allowing a cascade
action if the foreign key was pre-defined without the DML action. If this is introducing foreign keys while introducing DML action in one go the cascade will work*/ ALTER TABLE SEMESTER_COURSE ADD CONSTRAINT FOREIGN KEY Student_fk (Student_id) REFERENCES STUDENT(Student_id) ON DELETE CASCADE,
INSERT INTO STUDENT VALUES('01-001', 'John', 'Chambers'); INSERT INTO COURSE VALUES('CMP101', 'Intro To Logic', 03); INSERT INTO SEMESTER_COURSE VALUES('01-001', 'CMP101', 02); DELETE FROM STUDENT WHERE Student_id = '01-001';
/*Insert the Data into the tables:
You can enter the data per record:*/ /* STUDENT Table Data: */ INSERT INTO STUDENT VALUES('01-001', 'John', 'Chambers'); INSERT INTO STUDENT VALUES('01-002', 'William', 'Gates'); INSERT INTO STUDENT VALUES('01-003', 'Mark', 'Zukerberg'); INSERT INTO STUDENT VALUES('01-004', 'Richard', 'Branson');
/* COURSE Table Data: */
INSERT INTO COURSE VALUES('CMP101', 'Intro To Logic', 03); INSERT INTO COURSE VALUES('CMP102', 'Parallel Programming', 05); INSERT INTO COURSE VALUES('CMP103', 'Business Computing', 07); INSERT INTO COURSE VALUES('CMP104', 'Social network design', 09);
/* SEMESTER_COURSE Table Data: */
INSERT INTO SEMESTER_COURSE VALUES('01-001', 'CMP101', 02); INSERT INTO SEMESTER_COURSE VALUES('01-002', 'CMP102', 02); INSERT INTO SEMESTER_COURSE VALUES('01-003', 'CMP101', 02); INSERT INTO SEMESTER_COURSE VALUES('01-004', 'CMP104', 02);
/* Enter data in one INSERT statement per table: */