5

以下のスナップショットのように、2 つのテーブルがあります。

![図][1]

シナリオ: 質問の正解は 1 つだけであるべきですが、多く (私の場合は 3 つ) の不正解 (クイズ番組のように) が含まれる場合があります。

問題:

Questionstable には複数の回答がありますが、正解は1 つAnswersだけです。正解はテーブル内で、テーブル内の列に関連しています。ただし、多対 1 の関係として表示されます (太字のフィールドを参照してください)。AnswerIDQuestionsAnswerIDAnswer

Question テーブルの AnswerID に UNIQUE 制約を適用しましたが、それでも多対 1 の関係を示しています。AnswerID 列の各エントリが Question テーブルの 1 つの 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 
4

5 に答える 5

0

回答テーブルは AnswerId PK と FK を Questions(QuestionId) に設定します

于 2013-08-30T13:47:50.510 に答える