Nếu tôi có hai quan hệ trong cơ sở dữ liệu, như thế này:
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
);và tôi thiết lập mối quan hệ khóa ngoại giữa hai người, như thế này:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;Sau đó, bạn có thể thấy rằng Coursethuộc tính trong BookCoursesquan hệ tham chiếu Codethuộc tính trong Coursesquan hệ.
Câu hỏi của tôi là khi việc xóa xảy ra ở một trong hai mối quan hệ, việc xóa tầng đó theo cách nào? Nếu tôi xóa một tuple trong Coursesmối quan hệ, nó sẽ xóa tất cả các tuple tham chiếu trong BookCoursesmối quan hệ, hay nó là cách khác?
Categoriesbảng có mộtCourseIDKhóa chính trong khiCoursesbảng cóEntryID. Bạn thực sự cần phải suy nghĩ lại về lựa chọn đặt tên của bạn.