《2022年数据库对象命名规范V.知识》由会员分享,可在线阅读,更多相关《2022年数据库对象命名规范V.知识(17页珍藏版)》请在金锄头文库上搜索。
1、CMMI 标准文件数据库对象命名规范(版本号 V3.0 )朗新科技股份有限公司二一四年三月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 更改履历版本号修改编号更改时间更改的图表和章节号更改简要描述更改人批准人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 过
2、程改进王建峰黄千峰注:更改人除形成初稿,以后每次修改在未批准确认前均需采用修订的方式进行修改。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 I 目录1概述 . 11.1编写目的 . 11.2约定 . 11.3使用范围 . 11.4参考文献 . 12数据库对象命名规范 . 22.1概述 . 22.2一般规范 . 22.2.1语言 . 22.2.2大小写 . 22.2.3
3、单词分隔 . 22.2.4保留字 . 22.2.5命名长度 . 22.2.6字段名称 . 32.3功能分类 . 32.4业务分类 . 32.5数据库名及字符集 . 42.6模式 . 42.7表空间 . 62.8数据库其它对象 . 72.8.1数据库对象前缀 . 72.8.2表和字段命名规范 . 82.8.3包及包内对象 . 92.8.4触发器 . 92.8.5约束、索引 . 9名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 数
4、据库对象命名规范朗新科技股份有限公司版权所有 2014II 2.8.6类型 . 92.8.7序列 . 102.8.8视图、物化视图 . 112.8.9表分区 . 112.8.10JOB . 113附件 1:数据库连接 . 124附件 2:调用其他系统对象规则 . 13名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 1 1概述本文描述了开发中心在数据库对象的命名规范。为了
5、使代码可读性好,可维护性高,使不同的开发人员维护相同的代码,保持代码的一致性,所有的代码和文档应遵循下面的规则和约定。有些项是强制的,而其他项是可选的。希望所有开发成员都能遵循这些标准,特别是新的代码或需要大幅修改的代码。本文并非最终文档,随着技术的发展应随时进行更新。1.1编写目的规范数据库程序的设计人员、开发人员和系统维护人员,共同遵循这些标准。1.2约定此文档适用于公司各产品系统原型开发及测试环境。1.3使用范围开发中心技术架构师、产品构架师、数据架构师、开发DBA 、数据库设计人员、开发人员、系统维护人员1.4参考文献名师资料总结 - - -精品资料欢迎下载 - - - - - - -
6、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 20142 2数据库对象命名规范2.1概述在项目需求分析阶段,就需明确项目的数据库对象命名规范。以本规范要求为基础,进一步完善 项目特有命名规范 。如:根据主业务功能分类(功能域 /子域)规范对象名前缀。如本规范与项目特有命名规范冲突,以项目命名规范为准。2.2一般规范2.2.1 语言命名使用英文单词,不使用复数。英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干
7、的单词来命名。当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。当出现对象名重名时,是不同类型对象时,加类型后缀以示区别。禁止使用中文或拼音缩写进行命名2.2.2 大小写名称一律大写,以方便不同数据库移植,以及避免程序调用问题2.2.3 单词分隔命名的各单词之间使用下划线” -” 进行分隔。命名的各单词之间不允许有空格存在2.2.4 保留字命名不允许使用SQL 保留字,单个命名时不可以, 但可与其它字符组合使用。2.2.5 命名长度表名、字段名、视图名长度应限制在29个字符内 (含前缀 )。名师资料总结 - - -精品资料欢迎下载 - -
8、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 3 2.2.6 字段名称同一个字段名在一个数据库中只能代表一个意思。不同的表用于相同内容的字段应该采用同样的名称及字段类型。2.3功能分类将产品按照不同功能进行分类,通常来说不同业务功能之间尽可能不存在耦合情况,每个功能区可以完全独立部署,以国网稽查项目举例:遵循国网三大功能域化分标准。功能域分类英文缩写监控域KM 分析域KA 稽查域KC 2.4业务分类将产品在功能分类的
9、基础上进一步细分业务类,以国网稽查项目举例:遵循国网营销稽查监管精细化设计25 大业务类化分标准。缩写业务分类英文be 新装、增容及变更用电Business Expanding sc 供用电合同管理Supply contract management mr 抄表管理METER READING ac 核算管理Accounting check management ca 电费收缴及营销帐务管理CHARGE Account management chk 用电检查管理CHECK cc 95598业务处理CALLCENTER am 资产管理asset management mp 计量点管理METER P
10、OINT ms 计量体系管理Measurement system epc 电能信息采集Electric Power COLLECT 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 20144 mm 市场管理Marketing management llm 线损管理LINELOSS management eem 能效管理Energy efficiency management op
11、 有序用电管理ORDERLY POWER crm 客户关系管理Customer Relationship Management clg 客户联络Guided Missile Light Cruiser wq 稽查及工作质量WORK QUALITY cus 客户档案管理customer archives management sp 系统支撑功能System Support pm 供电监控Power monitoring dq 数据质量Data Quality sr 服务资源Service resources rm 报表管理Report Management pa 稽查绩效Performance
12、audit od 运营动态Dynamic operations 2.5数据库名及字符集数据库名通常以产品中文名称缩写来命名,并且数据库名必须为小写,数据库名不超过 7 位。以国网稽查项目举例:在公司开发环境中的数据库命令通常为:gwjckf (开发库)、gwjcalp (alpha 库) 、gwjcbt (beta 库) 、gwjcrs (release 库)在用户现场的正式库命令通常为:zjjcdb (浙江稽查库)、zjjcdb1 (浙江稽查库实例 1) 、zjjcdb2 (浙江稽查库实例 2)没有特殊要求的情况下,数据库的语言、字符集、国际字符集统一设置成如下:语言:AMERICAN_AM
13、ERICA 数据库字符集 (NLS_CHARACTERSET):UTF8 国家区域字符集 (NLS_NCHAR_CHARACTERSET):UTF82.6模式模式命令通常遵循产品名作为前缀的规范,根据不同的功能可以设计多个模式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 5 模式命令通常遵循产品名_功能模块名的规范,如前面我们定义了KM (监控域) 、KA (分析域
14、)、KC (稽查域)三个功能模块,那么对应的我们定义三个模式,名称分别为 gwjc_km、gwjc_ka、gwjc_kc 。如果需要与外围第三方程序进行数据交互的,那么创建一个接口模式,模式命令通常遵循产品名 _API 的规范,如在范例中我们创建一个gwjc_api 模式。如果需要与其它数据库进行数据交互的,那么创建2 个相应的模式,一个模式用于内数据库访问对方数据库,另一个模式用于对方数据库来访问本数据库的相关对像。模式命令通常遵循产品名_dblnki/dblnko的规范,如在范例中我们创建两个模式,分另为gwjc_dblnki和 gwjc_dblnko 模式。其中 gwjc_dblnki用
15、于本数据库访问外方数据库,gwjc_dblnki用于对方数据库访问本数据库。以国网稽查项目举例:模式名( oracle里通常理解为用户)模式描述数据库默认表空间临时表空间权限备注gwjc_km 管理营销 稽查监管监 控域数据及 程序包营 销 稽 查监管系统DATA_KM TEMP 视需求而定gwjc_ka 管理营销 稽查分析域 数据及程序 包体营 销 稽 查监管系统DATA_KA TEMP 视需求而定gwjc_kc 管理营销 稽查稽查域 数据及程序 包体营 销 稽 查监管系统DATA_KC TEMP 视需求而定gwjc_dblnki 用 于SG186营销工作 流引擎 取 DSS数据营 销 稽
16、查监管系统user TEMP 视需求而定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 20146 gwjc_dblnko 用于考核 系统获取检 查数据营 销 稽 查监管系统user TEMP 视需求而定gwjc_api 外围系统 数据交互接口营 销 稽 查监管系统DATA_API TEMP 视需求而定2.7表空间表空间的创建通常根据所保存的数据类型来区,1.每个功能模块创建一个
17、数据表空间和索引表空间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 初始大小需根
18、据业务需求进行评估。以国网稽查项目举例:业务分类表数量表空间名索引表空间名初始大小说明监控域308 DATA_KM IDX_KM 1G 稽查监管系统中关于监控域的表和索引表空间分析域180 DATA_KA IDX_KA 1G 稽查监管系统中关于分析域的表和索引表空间稽查域68 DATA_KC IDX_KC 1G 稽查监管系统中关于稽查域的表和索引表空间外围接口DATA_API IDX_API 10M 保存数据库中大外围接口应用数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10
19、页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 7 2.8数据库 其它对象总则:1、数据库对象如有行标,将以行标(如国网标准 ) 为准。2、按数据库对象类型与业务分类相结合的命名规则。3、数据库内不编写单独的存贮过程和函数,过程和函数都写在包中。4、命名中的功能描述可以缩写。5、对象名称全部使用大写。6、对象通用命名采用:对象类型前缀_分类前缀 _友好对象名来命名。2.8.1 数据库对象前缀数据库内不编写单独的存贮过程和函数,过程和函数都写在包中。命名中的功能描述可以缩写。对象名称模型设计时全部使用大写,开发时使用小写。常用数据库
20、对像命名前缀规范表:数据库对象对象子类命名前缀备注包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 标准)名师资料总结 - - -精品资料欢迎下载
21、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 20148 数据库对象对象子类命名前缀备注索引全局IDX_ 优先使用行标(如SG 标准)分区LOC_ 优先使用行标(如SG 标准)位图BMP_ 优先使用行标(如SG 标准)函数FUN_ 优先使用行标(如SG 标准)序列SEQ_ 优先使用行标(如SG 标准)目录DIR_ 优先使用行标(如SG 标准)同义词SY_ 优先使用行标(如SG 标准)2.8.2 表和字段命名规范2.
22、8.2.1 表(实体)命名必须为表名加入业务分类前缀,业务分类前缀标准在项目命名规范中定义。命名: 业务分类前缀 _表友好名 范例:PM_ROLE_FUNCTION(权限管理 _角色功能表)PM :权限管理ROLE_FUNCTION:角色功能表(表友好名)2.8.2.2 固定表分类前缀SYS_:系统信息类,如SYS_LOG 日志CFG_:配置类, CFG_COMPANY 公司配置ARC_:归档表,这个表与是与在线表相对的,当在线表中相对较大,并且是线性增长的,如果其中的大部分记录在日常在线交易中使用机率较小,则需要对这部份数据进行归档,那么创建归档表,将这部分记录定期迁移到归档表中。HIS_:
23、历史信息类,当在线表或归档表的记录因业务的原因不再需要保存在在线库中时,那么在历史库中创建相应的历史表。如:HIS_01_SI_HEAD 一月份的补料历史信息2.8.2.3 字段命名字段意义的英文全名或缩写。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 9 2.8.3 包及包内对象包名: PKG_业务分类前缀 _包友好名包内过程名: P_过程友好名包内函数名: F_
24、函数友好名包内常量名: C_常量友好名包内变量名: V_变量友好名包内输入参数名:IN_参数友好名包内输出参数名:OUT_参数友好名包内游标名: CUR_游标友好名包内类型名: TYP_类型友好名2.8.4 触发器触发器名:对象类型 (trg)_触发对象名缩写 _触发点缩写触发对象名缩写:表名或视图名缩写,应保留部分前缀触发点缩写:_BF 之前 before(一般适用于关联表处理 ) _AF 之后 after(一般适用于关联表处理 ) _IF 替代 instead of(一般适用于视图处理 ) 2.8.5 约束、索引约束:主键、唯一键名同其对应的索引名,其它约束参照常用数据库对像命名前缀规范表
25、。索引:对象类型前缀 _表名(可缩写 )_字段名 (可缩写 ),如: idx_cu_cons_cbqm 2.8.6 类型对象类型前缀 _分类前缀 _友好对象名,参见 2.8,1 章的常用数据库对像命名前缀规范表。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 201410 2.8.7 序列序列:序列命名规范采用:对象类型_业务分类 _友好名称。如,用户号序列: seq_c_cu
26、nsumerid。序列使用详细规范,以营销系统为例:1、按照国网10 个数据域分别规化各个数据域的序列号,每个域须保证至少一个序列生成器,最多不得超过20 个。2、序列的CACHE 统一使用500,初始值使用1,步长1,最大值为16 个“9”,nocycle ,noorder 。3 、 序 列 使 用 统 一 的 公 共 包pkg_sp_seq内 的 各 函 数 生 成 ( 比 如pkg_sp_seq.f_a_htid),函数由技术组创建,默认每一个数据域一个函数,函数与序列一一对应,默认函数的命名规则为:f_ 数据域英文缩写 (单字母 )_defid ,表名首字母与函数名第三个字符对应。比如
27、:产品数据域(e开头)中的大多数表的 ID 都应该由 pkg_sp_seq.f_e_defid函数生成。4、每个数据域可以另建序列但共计不得超过20 个,每个数据域中满足以下条件可以另建序列:a、 该 ID 号更新或插入批量操作比较频繁且并发操作比较多( 比如电费和帐务中的批量电费计算和批量下帐的各表的ID 号可以考虑分别创建序列);b 、有业务逻辑或多数据域共同维护的字段,比如用户号、流程传单编号等。5、需要另建序列请填下表,并提交技术组统一维护并将函数名反馈给申请部门。序号数据域(10 类中文)表名表 中 文名字段名字段中文名是否有序备注1 量测域R_RPT 抄 表 报表MR_RPT_ID
28、 抄表报表标识否名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 11 2.8.8 视图、物化视图命名规则遵循以下规范:对象类型前缀 _业务分类前缀 _友好对象名,参见两表关联视图友好名: 表 A 名_表 B 名,关联多表的时可以用视图功能含义来定义。2.8.9 表分区分区命名遵循P+分区值的原则。子分区遵循P+主分区值 +_+P+ 子分区值的原则。如:单位分区 P 3
29、340101 、 年月分区 P201001 、 单位年月组合分区 P 3340101_ P201001 注意:范围分区时分区名应大于分区值上界。2.8.10JOB JOB 的命名由前缀” JOB_ ”+业务分类 +job功能名 +序号构成。分段之前使用”_”连接。如:报表管理 JOB :JOB_RM_get_table_stats 报表管理 JOB :JOB_RM_get_table_stats_01 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - -
30、 - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 201412 3附件 1:数据库连接Db_link 创建需在专用的db link用户下创建,创建db link采用无需配置本地服务名的方法创建db link。Db link命名采用 DL_TO_ 目标数据库名(或目标数据库所属产品名)_目标数据库用户名的命名规范。例如我们创建一个到开发库的db link ,开发库的数据库名为sgpmdb ,开发库的目标用户为 sgpm ,创建方式如下: create database link DL_TO_SGPMDB_SGPM connect to sgpm identified by
31、 sgpm using (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.188.195)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = sgpmdb) ) ) ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 数据库对象命名规范朗新科技股份有限公司版权所有 2014 13 4附件 2:调用其他系统对象规则调用其他系统的对象 ,不能使用视图、 DB_LINK 、以及对象前加用户的方式来访问其他系统对象 ,只能通过同义词方式访问。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -