boot-admin 项目数据库缺省字段设计之最佳实践

数据库(Database)中的缺省字段(也称为默认字段),就是在一般情况下,每个数据表(Table)必须包含的字段(Field),这类字段用于满足特定的数据需求,字段值的填充或更改一般遵照一定的逻辑要求。缺省字段的设计应该考虑到数据的完整性和一致性,以确保数据的正确与可靠,设计合理的表字段对于数据的有效管理和高效查询至关重要。

boot-admin 是一款采用前后端分离模式、基于 SpringCloud 微服务架构的SaaS后台管理框架。系统内置基础管理、权限管理、运行管理、定义管理、代码生成器、办公管理和流程管理7个功能模块,集成分布式事务 Seata、工作流引擎 Flowable、业务规则引擎 Drools、后台作业调度框架 Quartz 等,技术栈包括 Mybatis-plus、Redis、Nacos、Seata、Flowable、Drools、Quartz、SpringCloud、Springboot Admin Gateway、Liquibase、jwt、Openfeign、I18n等。

项目源码仓库github
项目源码仓库gitee

字段命名规范

在设计数据库表字段时,应该遵循简洁明了、易于阅读、有意义的原则,并且应该尽可能遵循以下命名规范,这有助于提高代码的可读性和可维护性。

  1. 字段名采用【小写字母】和【下划线】的组成,命名简洁明确;
  2. 禁止使用数据库关键字,如:name,time ,datetime,password等;
  3. 名称不易太长,一般不超过三个英文单词;
  4. 名称一般使用名词或者动宾短语;
  5. 用单数形式表示名称;
  6. 字段名不允许“IS_XXX”,“SET_XXX”,“GET_XXX”等形式;

boot-admin 项目中实际使用的缺省字段

基本缺省字段

序号 字段 名称 数据类型 主键 非空 默认值 枚举 备注说明
1 GUID 主键 NVARCHAR2(38) 插入时应用程序填充
2 CREATE_BY 记录创建者 NVARCHAR2(100) 插入时应用程序填充
3 CREATE_TIME 记录创建时间 DATE 插入时应用程序填充
4 MODIFY_BY 记录最后修改者 NVARCHAR2(100) 应用程序触发更新
5 MODIFY_TIME 记录最后修改时间 DATE 应用程序触发更新
6 DATESTAMP 时间戳 DATE sysdate 数据库触发更新
7 ENABLED 启用状态 NVARCHAR2(1) ENABLED 应用程序触发更新
8 DELETED 删除状态 NVARCHAR2(1) DELETED 逻辑删除应用程序触发更新
9 VERSION 乐观锁 INT
10 REMARKS 备注 NVARCHAR2(900)
11 TENANT_ID_ 租户ID NVARCHAR2(38) 多租户数据隔离

层次数据额外缺省字段

序号 字段 名称 数据类型 主键 非空 默认值 枚举 备注说明
12 LEAF 是否末级 NVARCHAR2(1) YESNO
13 PARENT_GUID 父级GUID NVARCHAR2(38)
14 SORT 顺序号 INT

总结

缺省字段设计是一个比较重要的问题,需结合项目实际仔细考虑和设计。通过合理地设计缺省字段,我们可以避免不必要的复杂性问题,提高数据库的性能和可靠性,以满足更多业务需求。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容