数据库对象命名规范V30教材.docx
- 文档编号:12821916
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:15
- 大小:22.92KB
数据库对象命名规范V30教材.docx
《数据库对象命名规范V30教材.docx》由会员分享,可在线阅读,更多相关《数据库对象命名规范V30教材.docx(15页珍藏版)》请在冰点文库上搜索。
数据库对象命名规范V30教材
CMMI标准文件
数据库对象命名规范
(版本号V3.0)
朗新科技股份有限公司
二〇一四年三月
更改履历
版本号
修改编号
更改时间
更改的
图表和章节号
更改简要描述
更改人
批准人
1.0
001
2012-4-6
初稿
吴志伟
1.1
002
2012-9-6
修改并扩展
臧冰凌
2.0
003
2013-05-15
版本
OSSP过程改进
王建峰
黄千峰
3.0
004
2014-03-03
版本
OSSP过程改进
王建峰
黄千峰
注:
更改人除形成初稿,以后每次修改在未批准确认前均需采用修订的方式进行修改。
1概述
本文描述了开发中心在数据库对象的命名规范。
为了使代码可读性好,可维护性高,使不同的开发人员维护相同的代码,保持代码的一致性,所有的代码和文档应遵循下面的规则和约定。
有些项是强制的,而其他项是可选的。
希望所有开发成员都能遵循这些标准,特别是新的代码或需要大幅修改的代码。
本文并非最终文档,随着技术的发展应随时进行更新。
1.1编写目的
规范数据库程序的设计人员、开发人员和系统维护人员,共同遵循这些标准。
1.2约定
此文档适用于公司各产品系统原型开发及测试环境。
1.3使用范围
开发中心技术架构师、产品构架师、数据架构师、开发DBA、数据库设计人员、开发人员、系统维护人员
1.4参考文献
2数据库对象命名规范
2.1概述
在项目需求分析阶段,就需明确项目的数据库对象命名规范。
以本规范要求为基础,进一步完善项目特有命名规范。
如:
根据主业务功能分类(功能域/子域)规范对象名前缀。
如本规范与项目特有命名规范冲突,以项目命名规范为准。
2.2一般规范
2.2.1语言
命名使用英文单词,不使用复数。
英文单词使用同对象本身意义相对或相近的单词。
选择最简单或最通用的单词。
不能使用毫不相干的单词来命名。
当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。
当出现对象名重名时,是不同类型对象时,加类型后缀以示区别。
禁止使用中文或拼音缩写进行命名
2.2.2大小写
名称一律大写,以方便不同数据库移植,以及避免程序调用问题
2.2.3单词分隔
命名的各单词之间使用下划线”-”进行分隔。
命名的各单词之间不允许有空格存在
2.2.4保留字
命名不允许使用SQL保留字,单个命名时不可以,但可与其它字符组合使用。
2.2.5命名长度
表名、字段名、视图名长度应限制在29个字符内(含前缀)。
2.2.6字段名称
同一个字段名在一个数据库中只能代表一个意思。
不同的表用于相同内容的字段应该采用同样的名称及字段类型。
2.3功能分类
将产品按照不同功能进行分类,通常来说不同业务功能之间尽可能不存在耦合情况,每个功能区可以完全独立部署,以国网稽查项目举例:
遵循国网三大功能域化分标准。
功能域
分类英文缩写
监控域
KM
分析域
KA
稽查域
KC
2.4业务分类
将产品在功能分类的基础上进一步细分业务类,以国网稽查项目举例:
遵循国网营销稽查监管精细化设计25大业务类化分标准。
缩写
业务分类
英文
be
新装、增容及变更用电
BusinessExpanding
sc
供用电合同管理
Supplycontractmanagement
mr
抄表管理
METERREADING
ac
核算管理
Accountingcheckmanagement
ca
电费收缴及营销帐务管理
CHARGEAccountmanagement
chk
用电检查管理
CHECK
cc
95598业务处理
CALLCENTER
am
资产管理
assetmanagement
mp
计量点管理
METERPOINT
ms
计量体系管理
Measurementsystem
epc
电能信息采集
ElectricPowerCOLLECT
mm
市场管理
Marketingmanagement
llm
线损管理
LINELOSSmanagement
eem
能效管理
Energyefficiencymanagement
op
有序用电管理
ORDERLYPOWER
crm
客户关系管理
CustomerRelationshipManagement
clg
客户联络
GuidedMissileLightCruiser
wq
稽查及工作质量
WORKQUALITY
cus
客户档案管理
customerarchivesmanagement
sp
系统支撑功能
SystemSupport
pm
供电监控
Powermonitoring
dq
数据质量
DataQuality
sr
服务资源
Serviceresources
rm
报表管理
ReportManagement
pa
稽查绩效
Performanceaudit
od
运营动态
Dynamicoperations
2.5数据库名及字符集
数据库名通常以产品中文名称缩写来命名,并且数据库名必须为小写,数据库名不超过7位。
以国网稽查项目举例:
在公司开发环境中的数据库命令通常为:
gwjckf(开发库)、gwjcalp(alpha库)、gwjcbt(beta库)、gwjcrs(release库)
在用户现场的正式库命令通常为:
zjjcdb(浙江稽查库)、zjjcdb1(浙江稽查库实例1)、zjjcdb2(浙江稽查库实例2)
没有特殊要求的情况下,数据库的语言、字符集、国际字符集统一设置成如下:
语言:
AMERICAN_AMERICA
数据库字符集(NLS_CHARACTERSET):
UTF8
国家区域字符集(NLS_NCHAR_CHARACTERSET):
UTF8
2.6模式
模式命令通常遵循产品名作为前缀的规范,根据不同的功能可以设计多个模式。
模式命令通常遵循产品名_功能模块名的规范,如前面我们定义了KM(监控域)、KA(分析域)、KC(稽查域)三个功能模块,那么对应的我们定义三个模式,名称分别为gwjc_km、gwjc_ka、gwjc_kc。
如果需要与外围第三方程序进行数据交互的,那么创建一个接口模式,模式命令通常遵循产品名_API的规范,如在范例中我们创建一个gwjc_api模式。
如果需要与其它数据库进行数据交互的,那么创建2个相应的模式,一个模式用于内数据库访问对方数据库,另一个模式用于对方数据库来访问本数据库的相关对像。
模式命令通常遵循产品名_dblnki/dblnko的规范,如在范例中我们创建两个模式,分另为gwjc_dblnki和gwjc_dblnko模式。
其中gwjc_dblnki用于本数据库访问外方数据库,gwjc_dblnki用于对方数据库访问本数据库。
以国网稽查项目举例:
模式名(oracle里通常理解为用户)
模式描述
数据库
默认表空间
临时表空间
权限
备注
gwjc_km
管理营销稽查监管监控域数据及程序包
营销稽查监管系统
DATA_KM
TEMP
视需求而定
gwjc_ka
管理营销稽查分析域数据及程序包体
营销稽查监管系统
DATA_KA
TEMP
视需求而定
gwjc_kc
管理营销稽查稽查域数据及程序包体
营销稽查监管系统
DATA_KC
TEMP
视需求而定
gwjc_dblnki
用于SG186营销工作流引擎取DSS数据
营销稽查监管系统
user
TEMP
视需求而定
gwjc_dblnko
用于考核系统获取检查数据
营销稽查监管系统
user
TEMP
视需求而定
gwjc_api
外围系统数据交互接口
营销稽查监管系统
DATA_API
TEMP
视需求而定
2.7表空间
表空间的创建通常根据所保存的数据类型来区,
1.每个功能模块创建一个数据表空间和索引表空间
2.为接口模式单独创建数据表空间和索引表空间
表空间命令通常遵循DATA_功能模块名、IDX_功能模块名的规范,如前面我们定义了KM(监控域)、KA(分析域)、KC(稽查域)三个功能模块,那么对应的我们创建6个表空间,名称分别为data_km、data_ka、data_kc、idx_km、idx_ka、idx_kc。
如果需要与外围第三方程序进行数据交互的,那么创建2个与接口模式相对应的表空间,分别用于保存表数据和索引,这部份表空间名统一定义为data_api和idx_api。
针对归档数据单独创建表空间,data_arc,idx_arc
初始大小需根据业务需求进行评估。
以国网稽查项目举例:
业务分类
表数量
表空间名
索引表空间名
初始大小
说明
监控域
308
DATA_KM
IDX_KM
1G
稽查监管系统中关于监控域的表和索引表空间
分析域
180
DATA_KA
IDX_KA
1G
稽查监管系统中关于分析域的表和索引表空间
稽查域
68
DATA_KC
IDX_KC
1G
稽查监管系统中关于稽查域的表和索引表空间
外围接口
DATA_API
IDX_API
10M
保存数据库中大外围接口应用数据
2.8数据库其它对象
总则:
1、数据库对象如有行标,将以行标(如国网标准)为准。
2、按数据库对象类型与业务分类相结合的命名规则。
3、数据库内不编写单独的存贮过程和函数,过程和函数都写在包中。
4、命名中的功能描述可以缩写。
5、对象名称全部使用大写。
6、对象通用命名采用:
对象类型前缀_分类前缀_友好对象名来命名。
2.8.1数据库对象前缀
数据库内不编写单独的存贮过程和函数,过程和函数都写在包中。
命名中的功能描述可以缩写。
对象名称模型设计时全部使用大写,开发时使用小写。
常用数据库对像命名前缀规范表:
数据库对象
对象子类
命名前缀
备注
包
PKG_
优先使用行标(如SG标准)
包内过程
P_
优先使用行标(如SG标准)
包内函数
F_
优先使用行标(如SG标准)
触发器
TRG_
优先使用行标(如SG标准)
自定义类型
TYP_
优先使用行标(如SG标准)
表
见2.8.2章节
优先使用行标(如SG标准)
视图
普通
V_
优先使用行标(如SG标准)
物化视图
MV_
优先使用行标(如SG标准)
约束
CON_
优先使用行标(如SG标准)
主键
PK_
优先使用行标(如SG标准)
外键
FK_
优先使用行标(如SG标准)
唯一
UK_
优先使用行标(如SG标准)
索引
全局
IDX_
优先使用行标(如SG标准)
分区
LOC_
优先使用行标(如SG标准)
位图
BMP_
优先使用行标(如SG标准)
函数
FUN_
优先使用行标(如SG标准)
序列
SEQ_
优先使用行标(如SG标准)
DIR_
优先使用行标(如SG标准)
同义词
SY_
优先使用行标(如SG标准)
2.8.2表和字段命名规范
2.8.2.1表(实体)命名
必须为表名加入业务分类前缀,业务分类前缀标准在项目命名规范中定义。
命名:
[业务分类前缀]_[表友好名]
范例:
PM_ROLE_FUNCTION(权限管理_角色功能表)
PM:
权限管理
ROLE_FUNCTION:
角色功能表(表友好名)
2.8.2.2固定表分类前缀
SYS_:
系统信息类,如SYS_LOG日志
CFG_:
配置类,CFG_COMPANY公司配置
ARC_:
归档表,这个表与是与在线表相对的,当在线表中相对较大,并且是线性增长的,如果其中的大部分记录在日常在线交易中使用机率较小,则需要对这部份数据进行归档,那么创建归档表,将这部分记录定期迁移到归档表中。
HIS_:
历史信息类,当在线表或归档表的记录因业务的原因不再需要保存在在线库中时,那么在历史库中创建相应的历史表。
如:
HIS_01_SI_HEAD一月份的补料历史信息
2.8.2.3字段命名
字段意义的英文全名或缩写。
2.8.3包及包内对象
包名:
PKG_业务分类前缀_包友好名
包内过程名:
P_过程友好名
包内函数名:
F_函数友好名
包内常量名:
C_常量友好名
包内变量名:
V_变量友好名
包内输入参数名:
IN_参数友好名
包内输出参数名:
OUT_参数友好名
包内游标名:
CUR_游标友好名
包内类型名:
TYP_类型友好名
2.8.4触发器
触发器名:
对象类型(trg)_触发对象名缩写_触发点缩写
触发对象名缩写:
表名或视图名缩写,应保留部分前缀
触发点缩写:
_BF之前before(一般适用于关联表处理)
_AF之后after(一般适用于关联表处理)
_IF替代insteadof(一般适用于视图处理)
2.8.5约束、索引
约束:
主键、唯一键名同其对应的索引名,其它约束参照常用数据库对像命名前缀规范表。
索引:
对象类型前缀_表名(可缩写)_字段名(可缩写),如:
idx_cu_cons_cbqm
2.8.6类型
对象类型前缀_分类前缀_友好对象名,参见2.8,1章的常用数据库对像命名前缀规范表。
2.8.7序列
序列:
序列命名规范采用:
对象类型_业务分类_友好名称。
如,用户号序列:
seq_c_cunsumerid。
序列使用详细规范,以营销系统为例:
1、按照国网10个数据域分别规化各个数据域的序列号,每个域须保证至少一个序列生成器,最多不得超过20个。
2、序列的CACHE统一使用500,初始值使用1,步长1,最大值为16个“9”,nocycle,noorder。
3、序列使用统一的公共包pkg_sp_seq内的各函数生成(比如pkg_sp_seq.f_a_htid),函数由技术组创建,默认每一个数据域一个函数,函数与序列一一对应,默认函数的命名规则为:
f_数据域英文缩写(单字母)_defid,表名首字母与函数名第三个字符对应。
比如:
产品数据域(e开头)中的大多数表的ID都应该由pkg_sp_seq.f_e_defid函数生成。
4、每个数据域可以另建序列但共计不得超过20个,每个数据域中满足以下条件可以另建序列:
a、该ID号更新或插入批量操作比较频繁且并发操作比较多(比如电费和帐务中的批量电费计算和批量下帐的各表的ID号可以考虑分别创建序列);b、有业务逻辑或多数据域共同维护的字段,比如用户号、流程传单编号等。
5、需要另建序列请填下表,并提交技术组统一维护并将函数名反馈给申请部门。
序号
数据域(10类中文)
表名
表中文名
字段名
字段中文名
是否有序
备注
1
量测域
R_RPT
抄表报表
MR_RPT_ID
抄表报表标识
否
2.8.8视图、物化视图
命名规则遵循以下规范:
对象类型前缀_业务分类前缀_友好对象名,参见
两表关联视图友好名:
表A名_表B名,关联多表的时可以用视图功能含义来定义。
2.8.9表分区
分区命名遵循P+分区值的原则。
子分区遵循P+主分区值+‘_’+P+子分区值的原则。
如:
单位分区P3340101、年月分区P201001、单位年月组合分区P3340101_P201001
注意:
范围分区时分区名应大于分区值上界。
2.8.10JOB
JOB的命名由前缀”JOB_”+业务分类+job功能名+序号构成。
分段之前使用”_”连接。
如:
报表管理JOB:
JOB_RM_get_table_stats
报表管理JOB:
JOB_RM_get_table_stats_01
3附件1:
数据库连接
Db_link创建需在专用的dblink用户下创建,创建dblink采用无需配置本地服务名的方法创建dblink。
Dblink命名采用DL_TO_目标数据库名(或目标数据库所属产品名)_目标数据库用户名的命名规范。
例如我们创建一个到开发库的dblink,开发库的数据库名为sgpmdb,开发库的目标用户为sgpm,创建方式如下:
createdatabaselinkDL_TO_SGPMDB_SGPM
connecttosgpmidentifiedbysgpm
using'(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=172.19.188.195)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=sgpmdb)
)
)'
;
4附件2:
调用其他系统对象规则
调用其他系统的对象,不能使用视图、@DB_LINK、以及对象前加用户的方式来访问其他系统对象,只能通过同义词方式访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 对象 命名 规范 V30 教材