1
を持たないためにMYSQL DBトークを構築することができ、私は3つのテーブルusers
、userchoices
、およびchoices
どのように私は冗長性
ユーザー
- のuserId
- 名
UserChoices
を持っています- のuserId私はEにこれらの3つのテーブルをリンクしようとしています
- choice1
- choice2
- choice3
選択肢
- 選択肢
- pic_loc
その他。私はchoiceId
をテーブルChoices
に追加してからchoice1
...をUserChoices
に取り除くことを考えましたが、それは1人のユーザが複数のレコードを持つ原因になります。私が見ていない方法はありますか?
待ち、私はこれを見て、これはで冗長性を作成するwouldntはユーザーの選択?ユーザーが選択できる複数の選択肢があるとすれば、各ユーザーごとに複数の行があるとします@Sonikas – Kevlwig
事前定義された選択肢とユーザーがある場合、ユーザーに選択肢を割り当てる適切な方法はマッピング表ですが、ユーザーIDは問題ありませんが、ユーザーが同じ選択肢を2回選択するのを防ぐために、固有の制約を追加できます。このような状況であるマッピングテーブルはベストプラクティスです。 – Sonikas