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

还是接上一个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
================================
  /\_/\                        
 (=^o^=)  Wu.Country@侠缘      
 (~)@(~)  一辈子,用心做一件事!
--------------------------------
  学而不思则罔,思而不学则怠!  
================================
原文地址:https://www.cnblogs.com/WuCountry/p/305629.html