Wu.Country@侠缘

勤学似春起之苗,不见其增,日有所长; 辍学如磨刀之石,不见其损,日所有亏!

导航

[导入]数据库设计的一设想

还是接上一个POST的一个想法,我不想每次查询的时候都查询备注字段,而又不想每次都写很到的SQL语句,虽然可以用一些SQL语句生成器,但毕竟越简单越好。

于是想在数据库的设计上想点办法。例如我的数据库里有5个表里会有备注字段,于是我想应该可以把这5个表的所有备注都放到一个表里,而我的设计可以是这样的:
t_comment里的字段c_id,c_table1ID,c_table2ID,c_table3ID,c_tabl4ID,c_table5ID,c_comment,而其中前5个分别为表的记录的ID号,用来区别备注属于哪个表及哪个记录。

例如,我在表1里只用基本信息而不用备注,就可以直接用:
select * from t_table1
如果要加备注:
select t_table.*,t_comment.c_comment from t_table1,t_comment where t_table1.t_id=t_comment.t_table1ID
因为要使用备注的时候很少,而且相对于前一个SQL语句的使用频繁度来说,后一个几乎是不用的。而在一个系统里,如果存在一些表,它的备注是不可少的,而又不是每一条记录都会有备注,这样的做法可以省很多SQL语句的代码,而且在资源上也会省很多。

这样管理和运行都会好很多,而且在SQL语句的写法上,平均起来也会好很多。。。。。决定这样做了。

当然,如果反向的想一下,在每一个表里,把备注字段都修改为备注表里的ID,也是一个好的做法,这就要看备注的使用频率来决定用哪一个方法了。


文章来源:http://computer.mblogger.cn/wucountry/posts/49781.aspx

posted on 2005-12-08 19:10  Wu.Country@侠缘  阅读(256)  评论(0编辑  收藏  举报