如何在外键上连接三列?
How to concat three columns on a foreign key?
我有 3 个实体。 Books, Students and "Borrow"(不知道这个在英文里有没有意义)
在 Books 上,我需要插入一个包含借阅 ID、日期和借阅这些书的学生的列。所以,这一列是一个外键,但是,我怎样才能将这三列连接在一起呢?这可能吗?
我也这么认为,但我知道这是不正确的:
LOCALIZADOR VARCHAR2(?),
CONSTRAINT “PK_BOOK” PRIMARY KEY(ISBN),
CONSTRAINT “FK_BOOK.CODEDATE” FOREIGN KEY(LOCALIZADOR CODIGO DATE_BORROW)
REFERENCES(BORROW, STUDENT, BORROW)
ON DELETE CASCADE
您通常需要一个外键来建立一个 table 和(通常)另一个 table 中的主键之间的关系。所以听起来您需要一个从 LOCALIZADOR
到 BOOKS
的外键来确保它是一个有效的图书 ID,另一个到 STUDENTS
以确保它是一个有效的学生 ID。我认为您不会将借用日期作为外键的一部分,因为它不是不同 table.
的一部分
你只给我们看了其中的一部分 table,所以我不确定其他的是什么样子。我想你想要这样的东西:
constraint fk_book foreign key ( book_id )
references books.book_id
constraint fk_student foreign key ( student_id )
references students.student_id
我有 3 个实体。 Books, Students and "Borrow"(不知道这个在英文里有没有意义)
在 Books 上,我需要插入一个包含借阅 ID、日期和借阅这些书的学生的列。所以,这一列是一个外键,但是,我怎样才能将这三列连接在一起呢?这可能吗?
我也这么认为,但我知道这是不正确的:
LOCALIZADOR VARCHAR2(?),
CONSTRAINT “PK_BOOK” PRIMARY KEY(ISBN),
CONSTRAINT “FK_BOOK.CODEDATE” FOREIGN KEY(LOCALIZADOR CODIGO DATE_BORROW)
REFERENCES(BORROW, STUDENT, BORROW)
ON DELETE CASCADE
您通常需要一个外键来建立一个 table 和(通常)另一个 table 中的主键之间的关系。所以听起来您需要一个从 LOCALIZADOR
到 BOOKS
的外键来确保它是一个有效的图书 ID,另一个到 STUDENTS
以确保它是一个有效的学生 ID。我认为您不会将借用日期作为外键的一部分,因为它不是不同 table.
你只给我们看了其中的一部分 table,所以我不确定其他的是什么样子。我想你想要这样的东西:
constraint fk_book foreign key ( book_id )
references books.book_id
constraint fk_student foreign key ( student_id )
references students.student_id