首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个表设计的有关问题

2012-09-24 
一个表设计的问题打个比方有三张主表新闻表 、项目表 、 房屋表而他们都有相应的评论表结构为(id , 评论时间

一个表设计的问题
打个比方

有三张主表 新闻表 、项目表 、 房屋表

而他们都有相应的评论  
表结构为 (id , 评论时间 ,评论内容 ,主表id(新闻表id 或者 项目表id 或者 房屋表id) 也就是所有的评论的结构是一个样子的 ,除了参照的主表id不一样 。

这样的情况下是把所有的评论放在同一张表中,还是分别为各个主表建一张评论表 (如 新闻表建新闻评论表,项目表建项目评论表...)

不知道应该怎么做,请各位大侠指教

(如果所有评论放一张表,那么程序设计就比较方便了,但就不能让评论表参照主表了)

[解决办法]
如果可以,把新闻表 、项目表 、 房屋表放到一张表,增加一个类型
这个表的id是主键
[解决办法]
分开好处理查询一点,而且也没有什么不妥。如果放在一起,查询的时候得判断主表id,这样的话需要动态SQL,可能从效率上会比前者差点。建议分开使用
[解决办法]

探讨

引用:

如果可以,把新闻表 、项目表 、 房屋表放到一张表,增加一个类型
这个表的id是主键

大侠,这肯定不行的啊。 这三张表都是完全不一样的啊

不知道有没有别的办法

[解决办法]
可以把评论放到一个表,然后加一个类型来区分是什么评论。但是那个评论表的主键就应该是主表主键加类型的组合主键。这个我以前用的很多,没问题的。然后也建议到了一定数据量,可以考虑按照那个类型来做分区(不是拆成实体表的那种分区,2008有分区功能)。这样效率就不会明显降低。同时注意索引的维护。这种表不建议使用外键,因为级联操作的时候可能会比较痛苦。编码时注意就好了
[解决办法]
我觉得还是将评论放到一个表好些,楼上的讲到有道理,我有时候就是这样处理的
[解决办法]
觉得5楼的方案不错,楼主可考虑实践一下。

热点排行