私はこのようなデータベースでは2人の関係、お持ちの場合:DELETE CASCADEのSQLでは、削除はどのように行われますか?
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
属性を参照します。
私の質問は、削除カスケードとどちらの方法で2つのリレーションシップのいずれかで削除が発生した場合です。 Courses
リレーションのタプルを削除すると、BookCourses
リレーションの参照元タプルがすべて削除されますか、それとも逆ですか?
ありがとうございます。
一つが唯一の不思議。あなたは真剣にあなたの命名の選択肢を考え直す必要があります。 –
混乱を避け、DB構造をクリアするため、適切なカラム名を付けてください。 –