前言
疫情期间开发了一款新应用,目前项目正在验收阶段,需要补充一些文档(例如:技术方案、数据库设计和系统测试要求等)。那么这篇文章就以数据库设计为主分享给大家,有更好的建议可以留言哦~~~
引言
1、编写目的
本文档是项目方案的重要组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本开发、本文档遵循《数据库设计和开发规范》。使用对象是需求人员、系统设计人员、开发人员、测试人员。
2、术语表
定义文档中涉及的重要术语,为使用者在阅读时提供必要的参考信息。
术语表
3、参考资料
参考资料
数据库环境说明
数据库环境说明
备注:在实际开发中可能需要DBA配合
数据库名门规则
提示:如果本数据库的命名规则与实际不一致,请做出解释。
1、基本命名原则
Ø规范:字母全部小写原则
所有数据库对象命名字母全部小写,统一大小写有助于在多数据库间转移。
Ø规范:字符范围原则
只能使用英文字母、下划线、数字进行命名,且首位字符必须是英文字母。
Ø规范:分段命名原则
命名中多个单词间采用下划线分割,以便阅读同时方便某些工具对数据库对象的映射。例如:user_name。
Ø规范:不要用保留词
数据库对象命名不能直接使用数据库保留关键字,但分段中可以使用。如user不能用于表名、列名等,但是user_name可以用于列名,user_info也可以用于表名。
Ø规范:同义性原则
对于同一含义尽量使用相同的单词命名,不管使用英文单词、英文缩写还是拼音首字母,以免引起误解。如telphone的A表中表示固定电话号码,在B表中就不应该用于表示移动电话号码。尽量避免同一单词表示多种含义的情况。
Ø规范:命名方式一致原则在一个系统、一个项目中尽量采用一致的命名方式,都采用英文单词或者拼音首字母。尤其要避免在一个对象命名中同时采用英文单词和拼音首字母。如确实需要在一个项目中采用两种命名方式,考虑系统功能设计相关表(开发)使用英文单词命名,业务相关的表(实施)使用拼音首字母。
2、命名前缀规范
Ø规范:以下对象命名采用固定前缀进行命名,前缀表示数据库对象的类型,前缀代码规范如下:
命名前缀规范
3、表和列规范
3.1 表规范
Ø规范:表名采用多段式命名,各单词间用下划线分隔;
Ø规范:表名只允许用英文字母、下划线、数字进行命名,不允许用中文或者其他符号;
Ø规范:表名全部字母小写;
Ø规范:根据历史习惯各系统常用表类前缀作如下约定:
表规范
Ø建议:表名也用于相关索引、分区、分区表空间、约束、主键等命名,因此为了避免相关对象命名长度超过限制,建议表名长度不要超过20。
3.2 列规范
Ø建议:列名只允许用英文字母、下划线、数字进行命名,不允许用中文或者其他符号。
Ø规范:列名字母全部小写。
Ø规范:列名采用多段式命名时,各单词间用下划线分隔;
Ø规范:列名不能直接使用数据库保留字;
Ø规范:日期类型字段推荐以“_date”结尾的名字命名,时间类型的字段推荐以“_time”结尾的名字命名。
3.3 常用字段规范
常用字段规范
4、物理表设计
4.1 用户信息表
用户信息表
MySQL脚本:
create table sys_user
(
id varchar(32) not null comment '主键id'
primary key,
user_name varchar(30) not null comment '用户名',
mobile int(11) null comment '手机号码',
password varchar(30) null comment '密码',
status char(2) default '0' null comment '状态(0-可用,1-不可用,2-删除)',
create_time timestamp default CURRENT_TIMESTAMP null comment '创建时间',
update_time timestamp default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间'
)
comment '用户信息表';
后面大家可以补充更多物理表信息啦!
注意:本文归作者所有,未经作者允许,不得转载