1、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表
2、名命名规范表名以英文单词、单词缩写、数字及下划线组成。总长度要求小于30位。数据库中表分四类:l 系统表系统运行最基础表,如用户表、权限表、日志表等,不需要开发人员自行定义有Hi平台自动生成,假如业务需要遵照以下命名规范: 规则:sys_+表名 说明:规则中“表名”,有开发人员依据业务含义自行取名,如系统日志表取名为sys_log。l 公共表系统各个模块全部要用到、和实际业务联络紧密表。遵照以下命名规范: 规则:com_+表名 说明:规则中“表名”,有开发人员依据业务含义自行取名,如系统单位表取名为com_unit。l 基础表系统中基础数据,如职员表、仓库表等含有固定数据,作为其它数据流基础一
3、部分表。遵守以下命名规范: 规则:base_+表名 说明:规则中“表名”,有开发人员依据业务含义自行取名,如仓库表取名为base_storage。l 系统子模块表系统中各个模块所包含、可模块之间基础独立表,遵照以下命名规范: 规则:模块名简写_+表名 说明:规则中“表名”,有开发人员依据业务含义自行取名,如设备管理表中设备申请报废表取名为equ_reqDisused。2.2表字段命名规范因为Hi平台自动生成数据库字段和系统业务实体bean一一对应,数据库字段命名应遵照javabean命名规范。2.3序列命名规范考虑到表上大多只有一个递增编号,故全部序列命名遵照以下规范: 规则:表名_+列名 说
4、明:如sys_user表中序列为sys_user_id。2.4视图命名规范全部视图名以v_开头,和表命名方法相同。2.5存放过程命名规范全部存放过程名为pro_过程名,存放过程和表名命名规范相同。3实体关系(E-R)图说明:依据项目实际需要决定是否绘制实体关系图4数据库表4.1数据库设计规约依据hi平台自动生成代码特点,对数据库设计作以下要求及说明。l 应用面向对象思想,设计数据库,尽可能做到具体业务和数据库表一一对应。(表之间有继承关系情况需要指明继承具体关系)l 在表字段设计过程中,应明确字段中英文名称、数据类型、是否需要校验、是否是必填项、是否唯一、是否属于枚举类型、及于其它表主外键(l
5、ookup)关系,并在设计中明确标识及说明。l 全部表全部有creator字段,默认值为UserContextHelper.getUser()。4.2数据库字段说明必填项下图中所列项目是设计表必需填写。 l 汉字名:表字段汉字含义,汉字名应简练、表意明确,切不要抽象、难懂。因为经过Hi平台自动生成后,字段汉字名会成为画面显示一部分。l 字段名:命名应遵守字段命名规范。l 数据类型:依据实际情况,定义字段数据类型。String类型需要标注字段长度,比如String(10)。l 校验:明确字段是否需要基础校验,包含Integer、float、邮件、电话、手机格式格式校验,需要校验,在表格里填写:“
6、Y”。l 必需:字段是否是必需入力项。必需入力填写:“Y”。l 查询:字段是否要求在画面作为检索条件出现。需要情况,填写:“Y”。l 唯一:字段是否要求唯一性,要求情况,填写:“Y”。l 枚举:字段是否为枚举类型,是情况,填写:“Y”。并在描述栏列出枚举值。l Lookup:字段是否作为外键,需要关联另一张表信息,需要话,填写:“Y”,并在描述栏说明要lookup表,xxx表示该字段对应一张枚举表,后面列出枚举值。l 描述:需要对该字段尤其说明信息,在这里说明。如枚举及lookup信息。4.3数据库表设计实例:l Employee 职员 继承平台HiUser表编号汉字名字段名数据类型校验必填查
7、询唯一枚举Lookup描述1IDIDintYYY主键ID2职员编号userNumString(10)YY职员编号,DDDD3籍贯nativePlaceString(20)籍贯4学历degreeIntY学历,Degree小学/中学/高中/大专/大本/本科以上5专业specialtyString(20)YLookup: 专业(specialty)表6入厂时间jobDateDateY入厂时间7婚姻情况marryIntY婚姻情况,Marry未婚 /已婚8民族folkString(10)民族9个人爱好interestString(100)个人爱好10岗位jobPositionString(50)Y岗位,多选,JobPosition质检员/机长11职员图片userImageString(100)职员图片,附件12状态statusintY状态EmployeeStatus在职/离职