"数据库规范"
数据库规范是指在设计和开发数据库时所遵守的一些规则和标准,以确保数据库的设计和实现是合理、规范和高效的。本文档将详细介绍数据库规范的各个方面,包括数据库命名规范、表命名规范、索引命名规范、存储过程/函数/包规范、表字段定义规范等。
数据库命名规范
在数据库命名时,需要遵守以下规则:
* 文件命名格式为“XXX-模块名称.pdm”,如“XXX-商品.pdm”。
* 表命名规范:表名分为三个部分,以“T”开头,中间为模块标识(简写),最后一部分为沉淀数据的描述。
* 索引表命名:原表名_字段名前缀或简写_IDX。
* 日志表的表名,是在源表的表名后加上后缀:_LOG。
* 用户对象命名应全部为大写。
* 如果是周期表,则在原表名后面加上当前时间格式化的后缀。
* 表名称不超过28个字符的长度。
表命名规范
在表命名时,需要遵守以下规则:
* 表名分为三个部分,以“T”开头,中间为模块标识(简写),最后一部分为沉淀数据的描述。
* 索引表命名:原表名_字段名前缀或简写_IDX。
* 日志表的表名,是在源表的表名后加上后缀:_LOG。
* 主键(PK)字段如果不是复合主键,统一命名为”ID”,对于这种主键字段被其他表引用(外键)时的名称,不能直接写“ID”,要统一定义好被引用时的名称,并放在 SVN 上。
索引命名规范
在索引命名时,需要遵守以下规则:
* 索引命名以“IDX_”开头;后面加上表名(去掉 T_ 部分);并补上建立索引的字段名称。
* 如果长度太长,可以进行适当的缩减。
* 要求,通过索引能够看出是哪张表的哪个字段的索引。
存储过程/函数/包规范
在存储过程、函数和包命名时,需要遵守以下规则:
* 存储过程命名以“PRO_”开头。
* 函数命名以“FUNC_”开头。
* 包命名以“PKG_”开头。
* 建议:使用游标,尽量采用隐式游标的写法。
* 建议:入参、出参、定义变量三种在命名上区分开。
表字段定义规范
在表字段定义时,需要遵守以下规则:
* 所有主表,都需要增加以下四个列,按以下统一命名:CREATE_TIME、CREATE_STAFF、UPDATE_TIME、UPDATE_STAFF。
* 表的 VARCHAR2 类型的长度,建议使用 1、2、4、8、16、31、64、128…即:2^n。
* 简单表示记录的生效、失效;统一使用 VARCHAR2(1) 类型;1:表示生效;0:表示失效。
* 表示业务状态的,建议使用 VARCHAR2(2)。
模块定义
在模块定义时,需要遵守以下规则:
* 模块标识(全称)模块标识(简写)名称
* AUTHORITY:系统管理-权限(含:帐号、密码、角色、菜单等相关表)
* BASE:系统管理-基础表:(含:基础配置、基础参数);
* GOODS:商品
* ORDER:订单、购物车
* CUST:会员
* SHOP:店铺
* PROMOTION:促销、活动
* COMMISSION:佣金
* SCORE:积分
* ACCOUNT:资金帐户
* COUPON:优惠券
* CURRENCY:虚拟货币
* PAGE:页面相关(广告、公告、楼层等)
* PAY:支付
* MESSAGE:短信、消息、邮件….
设计规范
在设计数据库时,需要遵守以下规则:
* 系统参数定义:数据模型设计负责人,需要把表中有固定编码的字段参数定义到系统参数表中。
* 填写 EXCEL 表格,模板参见:PARAM_LINK_KEY、PARAM_NAMESP_CODE、SP_VALUESP_ORDERSP_DESC、TABLE_NAME、FIELD_NAME、参数名(key)、参数含义、参数具体编码、参数编码对应的中文含义、参数具体编码在参数内部的排序、使用描述、先输入登记人名称、再输入具体使用说明该参数使用的表名如果同一模型多个表都用此参数,表名写主表该参数使用的列名。