近期发现这些数据库设计的原因是,一个项目的数据库分了几个人一同设国外服务器计,结果导致设计风格不一致,我认为是字段不应该用缩写,容易产生歧义,而且没有固定的缩写字典可查,除了部分比较被认可的可以用缩写,比如执照 license 可以用 lic 。但是同事的缩写,比如取英文字母的前三位, 前四位这种我觉得不如直接写全,虽然字段可能会有些长。但至少清晰。大家是怎么想呢。。
顺便,这种问题我本意是想参考一下大家的设计风格。来使设计更加合理。以讨论为主,不要人身攻击,也不要秀优越。谢谢各位啦。
重点不是缩不缩写,而是有个统一的规则大家都遵守,只要都遵守了,哪怕写的是乱码都能看文档解决,当然最好通俗易懂。。
有团队规范, 按团队规范来. 没有, 那就不要用缩写...
有些缩写是临时起意想出来的, 过了几天, 连自己都可能忘了, 更别说团队其他人了...
现代编程,不需要缩写。
所以最佳的规范应该是,**不使用任何未被广泛接收的缩写**。
至于什么是广泛接收呢?是无论团队外的或团队内的人看到这个缩写立刻能想到是什么并且没有歧义。例如 IO 、TCP
名称要让大家都认识,要不然就没有意义了。从这个角度看,使用非常广泛的缩写可以用,自己发明的就完全没必要了。像前几位截断这种最可怕,过两周自己都不认识了。
了解了,谢谢
如果每个人看到这缩写都能想到同一个东西就可以,不然觉得还是写全名,而且加上中文的注释
需要查字典的就不应该出现了
设计的产出物,目标是用于程序和人类 2 种不同类型的用户。
鉴于程序是由人类编写的,我的观点是应该优先满足人类用户。
所以我理想中的原则如下:
1. 尽量不要用缩写
2. 需要缩写的情况(例如表或者字段名字的长度有限制)要逐个列出,然后指明缩写和全文之间的对应关系
3. 所有的名词都要有一个统一的字典来解释含义
4. 多个名词组合的时候,要使用统一的分隔符
5. 对于实体表和关联表要有明确的命名规则
首先肯定要统一风格。我个人比较喜欢拼音全拼的命名方式。虽说在 V2EX 、zhihu 这种平台上,英语不好的就不配做程序员。但现实里英语不好的程序员多了去了。拼音全拼,至少大家不需要查字典。
另外,如果支持 unicode,直接用中文最清晰。就我所知,不是特别旧的 MySQL 、PostgreSQL 都是支持中文字段的。至于编程语言就不用多说了,流行的那几个都是支持的。