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

114 阅读3分钟

数据库(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 项目中实际使用的缺省字段

基本缺省字段

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

层次数据额外缺省字段

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

总结

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