mysql关联表怎么命名啊?求教 ,感觉数据库命名太乱了?

现在有个a1_cat表 和 a1表 有个第三个表 把 a1 和 a1关联起来 采用 a1_cat_a1 现在命名自己的项目都搞得晕晕乎乎的 ,不知道各位在项目中是怎么命名的啊。
求指点,我自己想改成relevance_a1_cat_a1 (relevance 有相关性的意思),这样的话感觉下划线又太多了,咋办数据库多了后就晕了
除非a1_cat 改成a1cat 这样的话就成了relevance_a1cat_a1 好歹的也简洁啊。

阅读 9.6k
6 个回答

比如一个素材表—————————————————Article

与它关联的表有素材类别表————————————Article_Type

还有素材库分组表————————————————Article_Group

相关联的表一般用_下划线隔开,如果有很多关联的表的话,如:Article_Group_Type_Module,我就会命名为Article_Module,直接把中间的省略掉,看着简洁也舒服。

users // 用户表
plugins // 插件
user_plugin_relationships //用户插件关系表

你这个直接就起名a1_cat_relationships 然后在主键里把表是干什么用的写到备注里
数据库还是给开发人员看的,内部统一一套规矩就OK了

比如goods,或者 goods_category ,你可以直接 goods_goods_category,这种一般你只要命名看出什么意思,在加上规范命名,就可以的了, 你也可以合成revolve_goods_category

程序员的变量命名本来就是个学问,从最开始的 a1 表就看不懂是啥意思了。
英语好的直接用单词,不好的去有道,变量多长都行,要表达清楚意思,但是表名不宜太长,可以多用简写。
但是这 a1 也太简了..

来分享一个repo:carlos-wong/cerebro-codelf
简介是:给变量起名的事情上,为你生命省 3s (Save 3 seconds of your life when naming things.)

需要建立关联表,那么一般来说 a1和a1_cat 就是多对多的关系了。可以根据你的命名咋看a1_cat和a1是一对一或者一对多的关系,保证好的命名习惯。
比如表a和表b需要建立关联表,可以在后面加个_map(表现关系的单词都可以,比如你提到的relevance),如a_b_map。如果嫌下划线太多可以选择性的去掉一些字符,比如a1和a1_cat的关联表为a1_cat_map而不是a1_a1_cat_map。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题