资源描述
Hi平台数据库设计规范
- 10 -
2020年4月19日
文档仅供参考
Hi平台数据库设计规范
版本:V1.0
北京中交国科物流技术发展有限公司
二○一○年三月
该文档版权归北京中交国科物流技术发展有限公司所有
文档管理信息表
关 键 字
xx_详细设计
提交时间
yyyy-mm-dd
创 建 人
文档修改记录表
版本
修改人
修改时间
修改内容
V1.0
李旺善
-3-19
新建文档
文档审批表
审核人
审核时间
批准人
批准时间
1引言
1.1编写目的
指导进行数据库设计人员进行数据库开发。
1.2背景
为了规范应用Hi平台进行软件开发环节中的数据库设计,特编制此数据库设计说明书,来规范数据库设计。此规范也使用与非Hi平台的数据库设计。
2实体对象命名规范
根据项目实际需要,在不违反2.1-2.6规范的前提下,可自行添加、修改或删除。
2.1表名的命名规范
表名以英文单词、单词缩写、数字及下划线组成。总长度要求小于30位。
数据库中的表分四类:
l 系统表
系统运行最基础的表,如用户表、权限表、日志表等,不需要开发人员自行定义有Hi平台自动生成,如果业务需要遵循以下命名规范:
² 规则:sys_+表名
² 说明:规则中的“表名”,有开发人员根据业务含义自行取名,如系统日志表取名为sys_log。
l 公共表
系统各个模块都要用到的、与实际业务联系紧密的表。遵循以下命名规范:
² 规则:com_+表名
² 说明:规则中的“表名”,有开发人员根据业务含义自行取名,如系统单位表取名为com_unit。
l 基础表
系统中的基础数据,如员工表、仓库表等具有固定数据,作为其它数据流的基础的一部分表。遵守以下命名规范:
² 规则:base_+表名
² 说明:规则中的“表名”,有开发人员根据业务含义自行取名,如仓库表取名为base_storage。
l 系统子模块表
系统中各个模块所涉及的、可模块之间基本独立的表,遵循以下命名规范:
² 规则:模块名简写_+表名
² 说明:规则中的“表名”,有开发人员根据业务含义自行取名,如设备管理表中的设备申请报废表取名为equ_reqDisused。
2.2表的字段命名规范
由于Hi平台自动生成数据库字段与系统业务实体bean一一对应,数据库字段命名应遵循javabean命名规范。
2.3序列命名规范
考虑到表上大多只有一个递增的编号,故所有的序列的命名遵循以下规范:
² 规则:表名_+列名
² 说明:如sys_user表中的序列为sys_user_id。
2.4视图命名规范
所有的视图名以v_开头,与表的命名方式相同。
2.5存储过程命名规范
所有的存储过程名为pro_过程名,存储过程与表名的命名规范相同。
3实体关系(E-R)图
说明:
根据项目实际需要决定是否绘制实体关系图
4数据库表
4.1数据库设计规约
根据hi平台自动生成代码的特点,对数据库设计作如下规定及说明。
l 应用面向对象的思想,设计数据库,尽量做到具体业务与数据库表一一对应。(表之间有继承关系的情况需要指明继承的具体关系)
l 在表字段的设计过程中,应明确字段的中英文名称、数据类型、是否需要校验、是否是必填项、是否唯一、是否属于枚举类型、及于其它表的主外键(lookup)关系,并在设计中明确标识及说明。
l 所有表均有creator字段,默认值为UserContextHelper.getUser()。
4.2数据库字段说明必填项
下图中所列项目是设计表必须填写的。
l 中文名:表字段的中文含义,中文名应简洁、表意明确,切不要抽象、难懂。因为经过Hi平台的自动生成后,字段的中文名会成为画面显示的一部分。
l 字段名:命名应遵守字段的命名规范。
l 数据类型:根据实际情况,定义字段数据类型。String类型的需要标注字段长度,例如String(10)。
l 校验:明确字段是否需要基本校验,包括Integer、float、邮件、电话、手机格式的格式校验,需要校验,在表格里填写:“Y”。
l 必须:字段是否是必须入力项。必须入力填写:“Y”。
l 查询:字段是否要求在画面作为检索条件出现。需要的情况,填写:“Y”。
l 唯一:字段是否要求唯一性,要求的情况,填写:“Y”。
l 枚举:字段是否为枚举类型,是的情况,填写:“Y”。并在描述栏列出枚举值。
l Lookup:字段是否作为外键,需要关联另一张表的信息,需要的话,填写:“Y”,并在描述栏说明要lookup的表,[xxx]表示该字段对应一张枚举表,后面列出枚举值。
l 描述:需要对该字段特别说明的信息,在这里说明。如枚举及lookup信息。
4.3数据库表设计实例:
l Employee 员工 继承平台的HiUser表
编号
中文名
字段名
数据类型
校验
必填
查询
唯一
枚举
Lookup
描述
1
ID
ID
int
Y
Y
Y
主键ID
2
员工编号
userNum
String(10)
Y
Y
员工编号,DDDD
3
籍贯
nativePlace
String(20)
籍贯
4
学历
degree
Int
Y
学历,[Degree]小学/中学/高中/大专/大本/本科以上
5
专业
specialty
String(20)
Y
Lookup: 专业(specialty)表
6
入厂时间
jobDate
Date
Y
入厂时间
7
婚姻状况
marry
Int
Y
婚姻状况,[Marry]未婚 /已婚
8
民族
folk
String(10)
民族
9
个人爱好
interest
String(100)
个人爱好
10
岗位
jobPosition
String(50)
Y
岗位,多选,[JobPosition]质检员/机长
11
员工图片
userImage
String(100)
员工图片,附件
12
状态
status
int
Y
状态[EmployeeStatus]在职/离职
展开阅读全文