前言
作为后端程序员,对于数据库的操作使用是不可避免的,当我们在创建数据表,有哪些点需要我们注意呢?下面根据日常工作中 的开发,总结了我司经常使用到的几点要求,可能不是很好,但可作为参考:
数据库的命名
采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线 _ 组成,命名简洁明确,多个单词用下划 线 _ 分隔,一个项目一个数据库,多个项目慎用同一个数据库
数据库表的命名规范
1、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线 _ 组成,命名简洁明确,多个单词用下划线 _ 分隔
2、全部小写,禁止出现大写。
比如 订单商品表的命名
错误 | 正确 |
---|---|
orderGoods | order_goods |
3、禁止出现数据库的关键字。例如:time,desc,password等
4、表名不要太长了,一般不超过三个单词。
5、表的名称一般使用名词或者动宾短语。
6、一般用复数表示。
比如 订单商品表的命名
错误 | 正确 |
---|---|
order_good | order_goods |
7、注意添加表的注释。
数据库字段的命名
1、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线 _ 组成,命名简洁明确,多个单词用下划线 _ 分隔
2、全部小写,禁止出现大写。
比如:字段-开机次数
错误 | 正确 |
---|---|
bootNumber | boot_number |
3、字段的备注要写清楚。
主要是方便后面的同学的维护。
4、禁止使用数据库关键字,如:asc,desc ,distinct select,count 等
同时我们在连表查询的时候也要注意,不要将表的别名命名为数据库的关键字。
5、字段名不要太长了,一般不超过三个单词。
比如字段:合格品数量
错误 | 正确 |
---|---|
number_of_qualified_products | qualified_amount |
6、字段的名称一般使用名词或者动宾短语。
比如字段:描述
错误 | 正确 |
---|---|
describe | description |
7、在命名表的列时,不要重复表的名称。
比如:我们有个企业表enterprises,那我们命名企业名字
错误 | 正确 |
---|---|
enterprise_name | name |
因为表名enterprises已经对表的信息做了限制,这是一个记录企业信息的表,里面的信息是企业的信息。所以用name就可以了。
8、不要在列的名称中包含数据类型。 如:DATE,TEXT,FLOAT等
9、字段命名使用完整名称,禁止缩写。
10、表中的字段一般取单数。
比如字段:开机次数
错误 | 正确 |
---|---|
boot_numbers | boot_number |
对于特殊的字段,我们还是可以考虑复数,比如字段:订单编号 字段的类型是一个字符串数组
错误 | 正确 |
---|---|
order_sn | order_sns |
然后总结下平时命名的一些注意点
编号的命名
对于涉及编号字段的命名:比如涉及到的订单编号,系统编号,用户编号
一般是在对应的字段后面加上sn也就是编号的缩写表示。
字段 | 命名 |
---|---|
订单编号 | order_sn |
产品编号 | product_sn |
时间的命名
对于时间相关的命名,比如创建时间,更新时间,完成时间。习惯的命名习惯是:相关名词的过去式,加上at表示。
字段 | 命名 |
---|---|
完成时间 | completed_at |
创建时间 | created_at |
更新时间 | updated_at |
对于涉及到记录状态的字段
比如:对于企业,我们有一个字段企业的类型,那么我们会将这个字段定义为string,然后里面放对应状态的描述。
字段:企业类型 type
type text not null,
comment on column handle.enterprises.type is '企业类型: government,researchInstitute,socialGroup,enterprise';
可能这样定义,有点浪费存储字段的空间,但是优点就是易读。
什么是名词,什么是动宾短语?
名词
名词 (Nouns)是词性的一种,也是实词的一种,是指待人、物、事、时、地、情感、概念等实体或抽象事物的词。名词可以独立成句。在短语或句子中通常可以用代词来替代。名词可以 分为专有名词(Proper Nouns)和普通名词 (Common Nouns),专有名词是某个(些)人,地方,机构等专有的名称,如Beijing,China等。普通名词是一类人或东西或是一个抽 象概念的名词,如:book,sadness等。
动宾短语
动宾之间是支配与被支配、关涉与被关涉的关系。动词+宾语,宾语是回答动词“谁”、“什么”、“哪儿”的。如:消灭敌人、放下包袱、丢下它、发展生产、进行斗争、骗取信任、恢复平静、爱热闹、下决心、有幽默感、像珍珠等
总结
对于数据字段表结构的命名,要尽可能的精简。当然有时候不可避免有点字段的名字,比较长,那我们还是想着名字的精简命名,用名词 或者动宾短语去命名,还是就是用常用的英文单词,让我们一眼看到就能明白这个单词的含义。
参考
【数据库表字段命名规范】https://yq.aliyun.com/articles/585603
【名词】https://zh.wikipedia.org/wiki/%E5%90%8D%E8%A9%9E
【动宾短语】https://www.thn21.com/base/yu/9295.html