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

打印 上一主题 下一主题

主题 897|帖子 897|积分 2691

数据库(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](https://github.com/soft1314/boot-admin)
> [项目源码仓库gitee](https://gitee.com/soft1314/boot-admin-vue)  
## 字段命名规范
在设计数据库表字段时,应该遵循简洁明了、易于阅读、有意义的原则,并且应该尽可能遵循以下命名规范,这有助于提高代码的可读性和可维护性。
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|        |        √               
## 总结
缺省字段设计是一个比较重要的问题,需结合项目实际仔细考虑和设计。通过合理地设计缺省字段,我们可以避免不必要的复杂性问题,提高数据库的性能和可靠性,以满足更多业务需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表