我在Sql Power Architect中創建了以下關係圖(正如我在學校被告知的那樣)。本課程介紹的下一步是使用Forward Engineer來獲取腳本並使用新的Query將其粘貼到Sql Management Server中。我得到這個錯誤「數據庫中已經有一個名爲'Author'的對象。」我不知道它是什麼意思或應該如何糾正。如果我無法執行任何錯誤,我無法進入本課程的下一步。 (我讀以前問的問題,但我不知道答案適用於我的腳本。)」數據庫中已有一個名爲'Author'的對象。「
CREATE TABLE Author (
Author_ID INT NOT NULL,
Author_Name VARCHAR(50) NOT NULL,
CONSTRAINT Author_ID PRIMARY KEY (Author_ID)
)
CREATE TABLE Publisher (
Publisher_ID INT NOT NULL,
Publisher_Name VARCHAR(80) NOT NULL,
Address VARCHAR(100),
CONSTRAINT Publisher_ID PRIMARY KEY (Publisher_ID)
)
CREATE UNIQUE NONCLUSTERED INDEX Publisher_idx
ON Publisher
(Publisher_ID)
CREATE TABLE Book (
ISBN CHAR(13) NOT NULL,
Title VARCHAR(128) NOT NULL,
Price REAL NOT NULL,
DateAdded DATETIME,
Pages INT,
DescriptionSummary TEXT,
Publisher_ID INT NOT NULL,
Author_ID INT NOT NULL,
CONSTRAINT ISBN PRIMARY KEY (ISBN)
)
CREATE UNIQUE NONCLUSTERED INDEX Book_idx
ON Book
(Title)
CREATE UNIQUE CLUSTERED INDEX Book_idx11
ON Book
(ISBN)
CREATE UNIQUE CLUSTERED INDEX Book_idx2
ON Book
(ISBN)
CREATE UNIQUE CLUSTERED INDEX Book_idx3
ON Book
(ISBN)
CREATE TABLE Book_Genre (
ISBN CHAR(13) NOT NULL,
Genre_ID_sq_1 INT NOT NULL,
CONSTRAINT ISBN PRIMARY KEY (ISBN, Genre_ID_sq_1)
)
CREATE TABLE Genre (
Genre_ID INT NOT NULL,
ISBN CHAR(13) NOT NULL,
Genre VARCHAR(44) NOT NULL,
CONSTRAINT ID PRIMARY KEY (Genre_ID, ISBN)
)
CREATE UNIQUE NONCLUSTERED INDEX Genre_idx
ON Genre
(Genre_ID)
ALTER TABLE Book ADD CONSTRAINT Author_Book_fk
FOREIGN KEY (Author_ID)
REFERENCES Author (Author_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
ALTER TABLE Book ADD CONSTRAINT Publisher_Book_fk
FOREIGN KEY (Publisher_ID)
REFERENCES Publisher (Publisher_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
ALTER TABLE Book_Genre ADD CONSTRAINT Book_Book_Genre_fk
FOREIGN KEY (ISBN)
REFERENCES Book (ISBN)
ON DELETE NO ACTION
ON UPDATE NO ACTION
ALTER TABLE Genre ADD CONSTRAINT Book_Genre_Genre_fk
FOREIGN KEY (ISBN, Genre_ID)
REFERENCES Book_Genre (ISBN, Genre_ID_sq_1)
ON DELETE NO ACTION
ON UPDATE NO ACTION
由於'Author'是您創建的第一個項目,所以我會下注已經存在的表格,之前已由您的腳本的另一個運行創建。我不知道sql服務器,但是要麼有'創建或替換'語法,要麼應該'放下'表(或整個'schema')。 – Aaron
'IF OBJECT_ID('dbo.Author','U')不是NULL DROP TABLE dbo.Author; '所有表格。 – artm