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

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

时间:2023-05-19 22:22:12浏览次数:48  
标签:NVARCHAR2 admin boot 缺省 应用程序 ----

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

标签:NVARCHAR2,admin,boot,缺省,应用程序,----
From: https://www.cnblogs.com/soft1314/p/17416463.html

相关文章

  • springboot异常处理
    在SpringBoot中,我们可以使用@ControllerAdvice和@ExceptionHandler来处理系统错误异常。下面是一个简单的例子:@ControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(Exception.class)publicResponseEntity<String>handleException(Exceptione......
  • java基于springboot+vue的漫画网站管理系统,附源码+数据库+lw文档+PPT,适合毕业设计、课
    1、项目介绍考虑到实际生活中在漫画网站方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。(a)管理员;管理员使用本系统涉到的功能主要有:首页、个人中心、用户管理、漫画分类管理、漫画投稿管理、分类管理、排行榜管理、交流论坛、系统管理等功能......
  • SpringBoot处理日志
    SpringBoot处理日志工作需求需要把不同类的日志分开存储,方便查阅。例如Controller的日志存一个文件,Service的日志存一个文件。需求分析日志一般都用slf4j,意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的......
  • Spring Boot入门案例
    一、实验目的和要求1、掌握使用IDEA通过Maven和SpringInitializr的方式创建SpringBoot应用程序;2、掌握Maven的工作原理;3、了解spring-boot-starter-parent的配置内容;4、掌握配置场景依赖启动器starter的方式,了解starter的原理;5、掌握利用starter扩展Sp......
  • springboot~国际化Locale正确的姿势
    Java中的Locale.getDefault()获取的是操作系统的默认区域设置,如果需要获取客户端浏览器的区域设置,可以从HTTP头中获取"Accept-Language"的值来进行解析。使用说明Java网站中实现国际化(多语言支持)通常需要涉及以下几个方面:为所有可见的文本(如按钮、标签、提示等)都提供多语言......
  • 关于SpringBoot AutoConfiguration
    (1)如何导入的自动配置类首先我们得从@SpringBootApplication注解入手。@SpringBootApplicationpublicclassSpringBootDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringBootDemoApplication.class,args);......
  • springboot开启跨域security也开启跨域配置
    springboot开启跨域security也开启跨域配置浏览器同源策略,导致跨域失败,添加了security框架后,因为安全框架有一些列的过滤器,即使springboot把跨域打开,security的过滤器也可以能拦截。所以,如果要在服务器端设置,要改两处 方法一:先开放springboot的跨域 再开启security的跨......
  • SpringBoot实现WebSocket发送接收消息 + Vue实现SocketJs接收发送消息
    SpringBoot实现WebSocket发送接收消息+Vue实现SocketJs接收发送消息参考:1、https://www.mchweb.net/index.php/dev/887.html2、https://itonline.blog.csdn.net/article/details/81221103?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2......
  • springboot 2.4 版本后的多环境配置
    beanpackagecom.example.demo.tt;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@ComponentpublicclassTT{@Value("${test.ww}")pub......
  • Sonarqube---You're not authorized to run analysis. Please contact the project ad
    问题:sonarqube执行时报错:You'renotauthorizedtorunanalysis.Pleasecontacttheprojectadministrator原因:项目开始执行是好的,因为需要做项目的权限控制,所以将project从public修改为private后,再执行就报You'renotauthorizedtorunanalysis.Pleasecontacttheproject......