Jika saya memiliki dua relasi dalam database, seperti ini:
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
);
dan saya membangun hubungan kunci asing antara keduanya, seperti ini:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
Kemudian Anda dapat melihat bahwa Courseatribut dalam BookCoursesrelasi merujuk Codeatribut dalam Coursesrelasi.
Pertanyaan saya adalah kapan penghapusan terjadi di salah satu dari dua hubungan tersebut, ke arah mana penghapusan akan terjadi? Jika saya menghapus tuple dalam Coursesrelasi, apakah ini akan menghapus semua tupel referensi dalam BookCoursesrelasi, atau sebaliknya?
Categoriestabel memilikiCourseIDsebagai Kunci Utama sementaraCoursestabel memilikiEntryID. Anda serius perlu memikirkan kembali pilihan penamaan Anda.