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