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

还是接上一个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

转载于:https://www.cnblogs.com/WuCountry/archive/2005/12/08/305629.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值