数据库设计的困惑
情况是这样的,我以前做网站的时候遇到像“推荐”,“置顶”啊之类的,都是在表里加一个字段如“IsTop”或是"IsDelete"等,用BOOL型。可是最近来到新公司,公司的领导不是这么做的。如:“IsTop”表示是否删除,他就用建一个news_delete表,里面的记录就是己经"IsTop"的ID值。
这么做好像也不错,用起也很方便。要增加别的类似别的,不用在修改原有的表了。请问在数据库设计方面的高手们,如何是好。
------解决方案--------------------
感觉都可以,如果觉得数据结构复杂,就按照第二种来设计,拆分开来。
------解决方案--------------------
要学会宽容
对于你的描述,没有一定的规则
附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案
------解决方案--------------------
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。
------解决方案--------------------