数据库表设计是否需要在字段前标注字段的所属对象,比如用户表的名字是 user_name,学校表的名字字段是 school_name

2021-04-14 22:06:57 +08:00
 Renco

这样写法会不会过于冗余。

8047 次点击
所在节点    程序员
102 条回复
feifanhanmc
2021-04-14 22:09:13 +08:00
目前在用的一套感觉比较好的命名规范
nam_school
nam_user
cod_sex
vlu_mail
num_phone
dethan
2021-04-14 22:09:31 +08:00
写也行,不写也行。没人说不好,也没人说好。
Renco
2021-04-14 22:11:39 +08:00
@dethan 行把
zoharSoul
2021-04-14 22:30:30 +08:00
@feifanhanmc 这都啥奇奇怪怪的缩写
David1119
2021-04-14 22:34:03 +08:00
@feifanhanmc 哪来的自信觉得好?少写一个字母是什么鬼???
feifanhanmc
2021-04-14 23:08:55 +08:00
@David1119 这叫奇怪的缩写?麻瓜
liprais
2021-04-14 23:26:39 +08:00
表名不是干这个用的么
oott123
2021-04-14 23:35:45 +08:00
@feifanhanmc 关于 1 楼提到的缩写,nam 应该是 name,num 是 number,这都没问题。可是 cod 和 vlu 分别是什么的缩写呢?我想了很久都没想出来,能否指点一下。
tyx1703
2021-04-14 23:39:01 +08:00
@oott123 code, value
SuperMild
2021-04-14 23:39:51 +08:00
完全没必要,可以用 user.nameschool.name 来区分。

不太懂用 user_name 和 school_name 有什么好处。
GuoGuang
2021-04-14 23:56:30 +08:00
@feifanhanmc 你这漏几个字母我觉得比拼音都离谱,lear_record 、ou_log
zidian
2021-04-15 00:07:53 +08:00
从来不加。
而且很迷的一件事,好像只有 id code name 爱加上表名,其他比如 age sex 就从没见过人加。
Chieh
2021-04-15 00:09:17 +08:00
@feifanhanmc 为了“简化”英文少了拼写,导致懂英文的和不懂英文的都看不懂
c6h6benzene
2021-04-15 00:15:25 +08:00
@zidian #12 因为这几个字段所有表都可能有,字段名写上表名 Join 的时候不会错。Join 时候别名一加,就不一定知道 u.nameuser.name 还是什么的 name 了。
ipwx
2021-04-15 00:21:45 +08:00
@c6h6benzene u.name 不就隐含 user.name 么,根据上下文都能知道。再不济到时候用 user.name 它不香嘛。。。

等等,除非你为了取出来到 php 里面的时候可以 select * ...
c6h6benzene
2021-04-15 00:53:57 +08:00
@ipwx #15 这不就是为了防止 user 和 unit 这种都是 U 开头的😂SQL JOIN 多的时候,ID 前面不加前缀我都想骂人
baobao1270
2021-04-15 02:04:15 +08:00
不加
反正 ORM 帮我搞定,现在几乎不怎么写 sql 了
neoblackcap
2021-04-15 04:00:44 +08:00
如果你用的是关系型数据库,那么你这个做法就是反模式。毕竟关系型数据库讲究数据模型正交。
stabc
2021-04-15 04:04:38 +08:00
我倾向于不加前缀
kchum
2021-04-15 07:01:14 +08:00
不加. 连表有也有表名在前面, 用 Alias 出错也只能怪自己

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/770704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX