比如一个论坛系统里,有[文章表]、[投票表]、[提问表]等表,而在收藏功能中,可以将这三种不同类型的内容都收藏起来,那么收藏表应该怎么设计?类似下面这种的方案一?收藏ID | 内容类型 | 内容编号 | 收藏时间
00001 | 文章 | 000001 | X年X月
00002 | 文章 | 000002 | X年X月
00003 | 投票 | 000001 | X年X月
00004 | 提问 | 000001 | X年X月还是下面这种的方案二?收藏ID | 文章编号 | 投票编号 | 提问编号 | 收藏时间
00001 | 000001 | | | X年X月
00002 | 000002 | | | X年X月
00003 | | 000001 | | X年X月
00004 | | | 000001 | X年X月还是有其他的方案三?
方案一的话怎么设计外键引用?方案二的话底层数据块会不会有大量空闲?谁有更好的方案三?
00001 | 文章 | 000001 | X年X月
00002 | 文章 | 000002 | X年X月
00003 | 投票 | 000001 | X年X月
00004 | 提问 | 000001 | X年X月还是下面这种的方案二?收藏ID | 文章编号 | 投票编号 | 提问编号 | 收藏时间
00001 | 000001 | | | X年X月
00002 | 000002 | | | X年X月
00003 | | 000001 | | X年X月
00004 | | | 000001 | X年X月还是有其他的方案三?
方案一的话怎么设计外键引用?方案二的话底层数据块会不会有大量空闲?谁有更好的方案三?
解决方案 »
- 批量更新问题,请高手给优化一下或提供一些解决此问题的办法。thanks!
- 记录查询显示问题,根据年份分拆记录
- 编号问题
- 对表1按课程编号分组,找出最小星期的那条记录,请前辈指导!先感谢前辈了!
- 谁是会员啊,建一个sql server的QQ群啊。交流不方便呢。
- 插入记录的一个小问题
- 请问更改数据库中某表的表名的SQL语句是什么?
- Sql Server6.5中已有数据表的Identity如何加上???
- 这句sql语句可不可以优化?
- 500分-----提供思路或解决者,马上给分。问题:“错误信息:代理程序处于置疑状态,在最近10分钟内没有响应-???”
- 安装SQL server2012
- 关于qt creator5.11.2使用及安装问题记录
虽然有浪费, 但设计简化了。再贴一个方案三:
增加3个表:
t1: 专门收藏文章:
收藏ID | 内容编号 | 收藏时间
00001 | 000001 | X年X月
00002 | 000002 | X年X月
t2: 专门收藏投票:
00003 | 投票 | 000001 | X年X月
t3: 专门收藏提问:
00004 | 提问 | 000001 | X年X月在数据量比较大, 收藏类型比较固定的情况下, 方案三是较优的