问个数据库的初级问题
有必要将表属性命名成“表名_属性名”吗?
例如 user表 的 uname 有必要命名为 user_uname 吗?
我听一个数据库大拿说这么做方便日后XXXXXX(XXX代表忘了+各种不理解)
请问有必要这么命名吗?有什么好处?这样会不会名字变得很长?不利于某些操作?
初级问题
[解决办法]
一般好像不需要加上表名。
就像你说的,太长了,比如我原来公司的一个表是:rpt_dist_rule ,里面有个字段store_id,
那么按照这个规则,这个字段就不需要写成:rpt_dist_rule_store_id 但是这样太长了,这个表的名称还不算长的,要是再长,估计写到后面,你都会烦了。
[解决办法]
我觉的这个规则的初衷,应该是指,比如多个表关联的时候,那么你一看这个字段,就知道了这个字段是属于哪个表的。
我觉得本意是好的,但是这个规则是用一个所谓的规则,掩盖了另一个真正需要的规则,那就是比如:
select wd.store_id,wd.status,wm.org_id
from wc_dist_rule wd
inner join wc_mdm_status wm
on wd.id = wm.id
这个应该是在写sql语句时候,通过表的别名,比如上面的wd,和wm,来引用字段,那么就知道上面的store_id是wd的,也就是wc_dist_rule表的。
而不应该通过把字段写成 wc_dist_rule_store_id来实现。
[解决办法]