我遇到了数据库设计问题,我不确定应该选择哪种替代方案。
我有一个系统显示政治家对每个问题的投票。用户可以在每个问题上登录并“支持”该政治家。我不确定协会应该如何运作。以下是两种选择的图片:
http://i1068.photobucket.com/albums/u447/dmoss18/ScreenShot2012-05-03at111656AM.png
选项1:政治家在许多问题上有很多选票。用户支持每位政治家的投票。
选项2:用户在某个问题上支持政治家(具有三个外键的关联表)。
选项2根本不可行吗?将三个表关联到一个实体中是不好的做法吗?哪个选项被认为是最佳做法?
答案 0 :(得分:2)
我更喜欢选项(1),因为它表明用户支持特定投票。在选项(2)中,似乎有可能(没有额外的约束)用户在特定问题上支持某个政治家,而这个政治家根本就没有投票! (当然,如果这是一个理想的可能性,那么你必须选择(2))。