资源描述
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]在职/离职
展开阅读全文