前面也出过一篇文章,那篇文章里面详细介绍了数据库的设计规范,包括方方面面的内容。说实话,其实里面好多东西都是一种习惯的问题,用不用都影响不大,只要知道那个概念,遇见时能理解,需要时会使用就行,没必要纠结太多。
目录
而这篇文章,主要是从实用的角度出发,去繁化简,总结一下数据库的设计规范,这个是需要在实践中牢记并使用的。
1.表的设计
1.1表的属性
记住,无论什么表
字符集:utf8mb4
排序规则:utf8mb4_0900_ai_ci(就是第一个)
1.2表的名称
好的名称能够容易分便表的作用
- 实体表(切切实实存数据的):t_xxx_xxx
- 关系表(存表与表之间的关系的):ref_xxx_xxx
- 字典表:dic_xxx_xxx
注意事项:
- 各种类型的表的开头是一致的
- 表名要见名知意,不同单词间用"_"连接
如下图:
2.字段设计
2.1必有字段
每个数据库都必须有下面的这些字段:
- id (bigint unsigned)
- recision (int unsigned)乐观锁
- creator(varchar(32) )创建人
- updater(varchar(32))更新人
- create_time(datetime)创建时间
- update_time(datetime)更新时间
- del_flag(int unsigned)删除标志
2.2详细讲述
id 不用多说,必有字段
注意:类型要用 bigint unsigned ,不要用bigint
原因:bigint,默认是有符号,即取值范围是正负范围;bigint unsigned,无符号,即取值范围就是正值范围;使用bigint unsigned 在使用B+树索引时更方便更高效
recision:乐观锁
暂时不知道啥用,加上也不碍事
creator / updater:就是记录信息用的,没啥
create_time / update_time:也是记录信息的,方便后面的使用
del_flag:记录是否删除用的
注意:我们对数据库中所有数据的删除操作只能是软删除,也就是说用update这个关键字来删除,而不是用delete;我们对数据库中数据的所有查询操作都要带上del_flag这个字段,根据里面的内容,确定是否显示
2.3其他注意事项
- varchar的长度一般设置为32就够了,不用设置为255,除非特别长的情况,不然不设置为255
- 所有的字段都必须为非空字段,也就是说你要设置默认值
3.小结
这篇文章就是从实操角度讲了一些数据库设计时的一些规范性问题。主要设计表和字段两方面。不要嫌弃麻烦,实操时最好都用上。