数据库设计 : Creating an association of an association

标签 database database-design associations model-associations

<分区>

我有一个数据库设计问题,我不确定我应该选择哪个备选方案。

我有一个系统可以显示政治家对每个问题的投票。用户可以登录并在每个问题上“支持”该政客。我不确定协会应该如何运作。这是两个备选方案的图片:

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

选项 1:政治家在很多问题上有很多选票。用户支持每个政客的投票。

选项 2:用户在某个问题上支持政治家(具有三个外键的关联表)。

选项2根本不可行吗?在一个实体中关联三个表是一种不好的做法吗?哪个选项被认为是最佳做法?

最佳答案

我更喜欢选项 (1),因为它表明用户支持特定的投票。在选项 (2) 中,用户似乎有可能(在没有额外限制的情况下)在某个政客从未投票过的某个问题上支持某个政客! (当然,如果这是一个理想的可能性,那么您必须选择选项 (2))。

关于数据库设计 : Creating an association of an association,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436380/

相关文章:

android - 在 ListView 中加载大型数据库

sql - 患者和疾病的数据库设计

ruby-on-rails - 处理 PostgreSQL 创建表、关联和 Rails

mysql - 使用 Sequelize 排除空关联数组

ruby-on-rails - FactoryGirl - 无法写入未知属性和未定义方法 `name'

php - 我无法将 HTML 表单与 MySQL 数据库连接

c# - ASP.NET MVC 3 如何将 ViewModel 数据保存到多个关联表

dictionary - 需要同义词库

mysql - 'fantasy football' 数据库中结果表的正确数据库结构

mysql - SQL:发货/发票地址和 SELECT CONCAT 问题的表设计