事先道歉,这绝对是初学者的问题;但是我真的很难找到解决方案。
在这里链接的图表中,告诉我哪些列必须链接到其他表。 chart
但是,我对Books
表感到困惑,因为它需要有2个键控列。一个是主键(Book ID
),它已经设置好了。但是,Title
也应该用Book ID
表中的Book Copies
键。我试图将Book ID
指定为引用Title
中的Books
的外键,并收到一条错误消息
“书”中未引用主键或候选键
这是因为我不知道如何将Title设置为键,因为该表中已经存在一个。我的Books
和Book Copies
表创建代码如下所示。外键链接现在无法正常工作,因为我不确定如何引用不是主键的列。如果有人可以帮助我解决如何将“书籍”中的“标题”设置为非主键,并且可以由“书籍副本”中的“书籍ID”引用该非主键,我将不胜感激。
谢谢!
CREATE TABLE Books
(
Book_ID INT PRIMARY KEY NOT NULL IDENTITY (1,1),
Title VARCHAR(50) NOT NULL
Publisher_NAME VARCHAR(50) NOT NULL
CONSTRAINT fk_Publisher_Name
FOREIGN KEY REFERENCES Publisher(Publisher_Name)
ON UPDATE CASCADE ON DELETE CASCADE,
);
CREATE TABLE Book_Copies
(
Book_ID INT NOT NULL
CONSTRAINT fk_Title
FOREIGN KEY REFERENCES Books(Title) ON UPDATE CASCADE ON DELETE CASCADE,
Branch_ID VARCHAR(50) NOT NULL,
Number_Of_Copies INT NOT NULL
);