日期:2014-05-17  浏览次数:20523 次

数据库设计的两难
做了N个项目,设计了N个数据库。
我一直没弄明白。
到底是设计最小的表,然后用视图关联多个表来查询好,
还是设计最大的表,里面有N多的冗余字段,一个表就搞定一个功能好?

------解决方案--------------------
把常用字段做冗余还是很有必要的,相应的维护成本会变高。

数据量大的话你想做成一张表都做不了。。。。。
------解决方案--------------------
楼主你这样貌似走了极端哦,干嘛不是最小就要最大?
------解决方案--------------------
如果放在一个表里对于务业的理解是合理的话当然如在一个表里啦,select 的时候 不用的字段不 select不就可以了,这样最后就只多就扫描你这张表的记录数,分成多张表去查的话就不同了,表连接,招描的时候是各表相乘的次数啊
------解决方案--------------------
数据库设计不是有范式吗?
------解决方案--------------------
你是查询的多还是更新的多?更新的数据是否冗余? 你要先了解你的应用程序的访问方式然后再做设定。 
------解决方案--------------------
实际情况实际分析。。很多时间要权衡,主要看如何使用数据
------解决方案--------------------
最小的表 如果他里面的数据会以后有可能变化,建议分离。
如果确定没有变化了,可以放入大表

比如:员工工号 员工姓名 表 
因为员工姓名确定不会变化,那么直接放入大表。
------解决方案--------------------
具体应用时,都是工程,不是科学
范式只是理论、大方向

一般是常用属性字段的放一个表,不常用另外放,使用时id关联即可