🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
为了保证更好的兼容性和协同开发,在开发的过程中对数据库表及字段的命名请遵循以下规范。 **数据库表的命名** 数据库表一律采用全部小写字母加下划线链接的格式,且业务模块数据库表统一使用前缀db_,部分业务模块的数据库表命名参考下表: | 应用名称 | 数据表前缀 |完整示例 | | --- | --- | --- | | 办公系统 | office | db_office_meet | | 征收系统 | levy |db_levy_project | | 内控系统 | neikong | db_neikong_assest | **字段命名** 数据库表中字段遵循使用全部小写字母、下划线及数字组合而成,且字段名应当具有描述性,见名知意,例如org_id,org_name,org_full_name等。 **视图命名** 如果您在开发的过程中需要建立视图来处理一些多表连接查询,则视图命名请遵循以下规范 1)、使用小些字母、数字及下划线组合 2)、必须以view_开头,且后面紧跟应用标识 3)、应当尽可能的描述关联的标间关系或者视图的作用。 视图命名示例 view_sys_user_data view_office_meet_room_seat **存储过程的命名** 如果您在开发中需要使用存储过程来处理一些事情,存储过程的命名请遵循以下规范 1)、使用小些字母和下划线及数字组合的方式。 2)、必须以sp_开头,之后紧跟应用标识 3)、需要描述出存储过程的功能作用 存储过程命名示例 sp_sys_getuserinfo sp_office_getsigndata **触发器命名** 如果您希望使用触发器来自动完成一些关联操作,触发器的命名请遵循以下规范 1)、使用小写字母、数字及下划线组合 2)、必须以trigger_开头,且之后紧跟应用标识 3)、需要描述出触发器所在的表及字段信息,或者描述出触发器的功用信息 触发器命名示例 trigger_sys_syncuserinfo trigger_sys_user_for_insert **特约字段** 由于系统引入了工作流引擎,在需要走审批流程的业务数据主表中需要存在一些特约字段,暂定字段名如下表: | 字段名称 |数据类型 | 字段描述 |备注说明 | | --- | --- | --- | --- | | sano | varchar(64) | 单据编号 |唯一索引,系统内必须唯一 | | status |tinyint(2) | 审批状态 | | | explain | varchar(255) |审批说明 | | | apply_id|varchar(64)|申请用户编号| | | apply_name| varchar(255)| 申请用户姓名| | | apply_org_id | varchar(64)| 申请用户部门编号 | | | apply_org_name | varchar(255) | 申请用户部门名称 | | | apply_time| int(11) |申请时间| 存储UNIX时间戳|| 同时,由于需要兼容工作流引擎,采用了双用户表、组织机构表、角色表映射,某些特殊字段的数据类型需要按照以下约定来处理,虽然实际上这些字段存储的可能是数值,但是在设计数据库结构时需要将这些字段设计为字符串形式,且写入数据时以字符串的形式保存,具体如下表: | 字段名称 |数据类型 | 字段描述 |备注说明 | | --- | --- | --- | --- | | 用户编号|varchar(64) | | | | 组织机构编号|varchar(64) | | | | 角色编号 | varchar(64)| | | 凡是需要在您设计的数据库表中需要存储以上列举的类型的字段是,请严格按照此表中约定的数据类型设计,并在编码过程中按此数据类型存储(不要进行强制转整操作和直接与数值类型的0进行大小比较) 另外,如果要在同一张表中描述审批状态和数据状态,建议使用字段state描述审批状态以外的状态值 | 字段名称 |数据类型 | 字段描述 |备注说明 | | --- | --- | --- | --- | | status |tinyint(2) | 数据状态 |具体状态值根据业务场景需要自行设置,一般建议使用0和1来描述 | 对于数值类型的字段,如果不存在负数值的情况时,建议将数据类型的属性设置为无符号的;而取值为是/否类型的字段,命名建议以is_开头,数据类型定义为tinyint(2),例如: | 字段名称 |数据类型 | 字段描述 |备注说明 | | --- | --- | --- | --- | |is_disabled|tinyint(2)|是否禁用| 1-是 0-否| |is_locked|tinyint(2)|是否锁定|1-是 0-否| **数据库引擎的选用** 对于一旦入库,后续不会出现频繁的数据写入或更新操作的数据表,为了提高读取数据的效率建议使用MYISAM引擎 对于需要保证数据一致性(支持事务)的数据表或者写入操作频繁的数据表,建议使用INNODB引擎。 **字符集** 数据库统一采用UTF-8编码(utf_gernaeral_ci)。 **其他注意事项** 在建立数据表时,需要填写准确的数据表备注;为数据库表创建字段时,需要添加字段的备注说明。