【问题标题】:should i separate table different types contents or not?我应该分开表格不同类型的内容吗?
【发布时间】:2013-03-21 03:33:56
【问题描述】:
我正在编写 ASP.Net 网站文档。该网站看起来像 c-sharpcorner.com,允许用户发布文章、问题、工作机会、工作请求。当我在设计网站的 ER 图时,我是否应该将所有用户的帖子类型(文章、任务、滚刀......等)放在一个表中并只创建一个类型属性来区分它们,或者我应该将它们分开,我会感到困惑在单独的实体中发布类型..什么更好?对我来说也是一样,但我需要一位专家来告诉我处理这个问题的最佳方法是什么。谢谢
【问题讨论】:
标签:
sql
sql-server
database-design
entity-relationship
normalization
【解决方案1】:
您的问题没有开箱即用的答案,因为它是特定于解决方案的。
问自己以下问题,您自己就会得到答案。
表中将存在多少个空字段?如果您有仅用于帖子的列,则意味着该列对于所有其他答案类型将为空。如果您的数据库中有很多空值,那么这并不是一个好的设计。
随着时间的推移,要求发生变化的可能性有多大,您需要自定义或更多的帖子类型?您以后需要自定义的可能性越大,您就越适合为每种帖子类型使用单独的表格。
每种类型的帖子的相对数量是多少?如果您将获得 90% 的答案是一种类型,而只有 10% 是所有其他类型的答案,那么在使用 10% 时分离表并避免性能问题可能是个好主意...
同样,这里没有正确或错误的答案。您需要进一步分析您的具体解决方案,以找出最适合您的解决方案。