I have two tables as in the snapshot below.
![Diagram][1]
Scenario: A question should have only one correct answer, but can have many ( 3 in my case) wrong answers ( like a quiz show).
Problem:
Questions table has multiple answers in the Answers table, but only one correct answer. The correct answer is the AnswerID in Questions table and it is related to AnswerID column in Answer table. But it shows up as a Many to One relationship ( please see the bolded fields).
I have applied UNIQUE constraint to AnswerID in Question table but still it shows a many to one relationship. What can I do so that each AnswerID column entry is linked to a single AnswerID in the Question table? or is this ok as it is?
Thank you
QUESTIONS TABLE:
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
ANSWERS TABLE:
CREATE TABLE [dbo].[Answers](
[AnswerID] [int] NOT NULL,
[AnswerText] [nchar](50) NOT NULL,
[QuestionID] [int] NOT NULL,
CONSTRAINT [PK_Answers] PRIMARY KEY CLUSTERED
Another approach:
QuestionID from your Answers table.AnswerID column from your Questions table.QuestionAnswer (or something more meaninful, like Exam, Test, etc.), which has a QuestionID, an AnswerID, and an IsCorrect flag.Answers to their Questions, and mark which one is correct. Now you can re-use answers for other questions as well, and every question and ever answer only exists once. It may also be useful if you want to add additional metadata about the question answer combinations. For example:
Sequence column to control the order in which the answers appear.PointValue column to help produce a final score or grade.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With