【发布时间】:2012-03-28 13:43:59
【问题描述】:
我的网站有问题。该网站有多个实体:文章、帖子、评论……或 6 种类型。现在我介绍用户对项目进行评分的可能性(可以是这些实体中的任何一个)
我创建了一个表 Votes(int Id 主键,int ItemId,nvarchar(30) Ip,datetime Timestamp,int VoteValue)。在这里,我将存储所有投票及其 ip。
我的问题是我的 ItemID 必须是唯一的......但是我的数据库已经有各种类型的项目具有相同的 id。所有表的 id 都从 0 开始。您认为我的设计有哪些选项可以将所有投票存储在一个表中?
【问题讨论】:
-
是否必须是唯一的 ID 列?难道你不能也有一个类型列(它标识它应该来自哪个表)并且它是一个唯一的组合?
-
你是对的......但我在考虑是否要进行查询以获得项目的所有选票
-
您是想将投票限制为每个项目一个,还是所有项目都是一种?
-
我不明白为什么你不能简单地在你的表投票中添加一个 IDENTITY 列?我可能不明白你想要什么。你能澄清一下吗?
标签: sql-server asp.net-mvc-3 database-design database-schema