数据库(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等。
字段命名规范
在设计数据库表字段时,应该遵循简洁明了、易于阅读、有意义的原则,并且应该尽可能遵循以下命名规范,这有助于提高代码的可读性和可维护性。
- 字段名采用【小写字母】和【下划线】的组成,命名简洁明确;
- 禁止使用数据库关键字,如:name,time ,datetime,password等;
- 名称不易太长,一般不超过三个英文单词;
- 名称一般使用名词或者动宾短语;
- 用单数形式表示名称;
- 字段名不允许“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 | √ |
总结
缺省字段设计是一个比较重要的问题,需结合项目实际仔细考虑和设计。通过合理地设计缺省字段,我们可以避免不必要的复杂性问题,提高数据库的性能和可靠性,以满足更多业务需求。