我有兩張表,如下面的快照。如何將這種多對一的關係改變爲一對一的關係?
[圖表] [1]
情景: 一個問題,應該只有一個正確答案,但可以(在我的情況3)有很多錯誤的答案(如智力競賽節目)。
問題:
Questions
表已在Answers
表中的多個答案,但只有一個正確答案。正確的答案是Questions
表中的AnswerID
表,它與Answer
表中的AnswerID
列有關。但它顯示爲多對一關係(請參閱粗體字段)。
我對問題表中的AnswerID應用了UNIQUE約束,但它仍然顯示了多對一的關係。我可以做什麼,以便每個AnswerID列條目都鏈接到Question表中的單個AnswerID?或者這是好的,因爲它是?
謝謝
問題表:
CREATE TABLE [dbo].[Questions](
[QuestionID] [int] NOT NULL,
[QuestionText] [nvarchar](max) NOT NULL,
[AnswerID] [int] UNIQUE NOT NULL,
[ImageLocation] [ntext] NULL,
CONSTRAINT [PK_Questions_1] PRIMARY KEY CLUSTERED
解答表:
CREATE TABLE [dbo].[Answers](
[AnswerID] [int] NOT NULL,
[AnswerText] [nchar](50) NOT NULL,
[QuestionID] [int] NOT NULL,
CONSTRAINT [PK_Answers] PRIMARY KEY CLUSTERED
爲什麼不簡單地在你的答案表中添加一個標誌(RigtAnswer)?這將爲您節省額外支票(正確的答案不在可能的答案列表中......) –
請向我們展示您的FOREING KEY腳本。 –
@MauricioGracia我添加了一個來自SQL管理工作室的屏幕截圖 –