1

データベースの設計に問題があり、どの代替案を使用すればよいかわかりません。

私は、すべての問題に関する政治家の投票を表示するシステムを持っています。ユーザーはログインして、各問題についてその政治家を「サポート」できます。アソシエーションがどのように機能するかわかりません。2 つの代替案の図を次に示します。

http://i1068.photobucket.com/albums/u447/dmoss18/ScreenShot2012-05-03at111656AM.png

オプション 1: 政治家は多くの問題について多くの投票権を持っています。ユーザーは各政治家の投票を支持します。

オプション 2: ユーザーが特定の問題 (3 つの外部キーを持つ関連テーブル) で政治家をサポートします。

オプション 2 はまったく実行可能ではありませんか? 1 つのエンティティで 3 つのテーブルを関連付けるのは悪い習慣ですか? ベスト プラクティスと見なされるオプションはどれですか?

4

1 に答える 1

2

ユーザーが特定の投票をサポートしていることを示すため、オプション (1) をお勧めします。オプション (2) では、政治家がまったく投票したことがない場合でも、ユーザーが特定の問題について特定の政治家をサポートすることが (追加の制約なしで) 可能であるように思われます! (もちろん、それが望ましい可能性である場合は、オプション(2)を選択する必要があります)。

于 2012-05-04T10:40:17.387 に答える