我有两张表,如下面的快照。如何将这种多对一的关系改变为一对一的关系?
[图表] [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管理工作室的屏幕截图 –