XX集团数据库开发设计规范
- 格式:doc
- 大小:93.00 KB
- 文档页数:12
数据库设计原则与规范数据库是现代信息系统的核心组成部分,用于存储和管理大量结构化数据,以支持组织内部各种业务和决策需求。
数据库设计的质量直接关系到系统的性能、可靠性和可扩展性。
为了确保数据库的高效运行,我们需要遵循一些设计原则和规范。
下面将介绍数据库设计的基本原则和规范。
一、规范化数据库设计原则规范化是数据库设计过程中的关键步骤,它通过将数据分解为逻辑上的表来减少数据冗余、提高数据一致性和完整性。
以下是常用的规范化原则:1. 第一范式(1NF):每个表中的每个字段都是原子的,不可再分。
不能将多个值存储在一个字段中,例如在电话号码字段中存储多个电话号码。
2. 第二范式(2NF):每个非主键字段完全依赖于主键字段。
如果一个表中有多个候选键,必须将其分解为多个表,确保每个非主键字段只与一个主键相关。
3. 第三范式(3NF):消除了非主键字段之间的传递依赖关系。
即非主键字段之间不可存在依赖关系,数据更新时不会导致数据不一致。
4. 次范式(BCNF):基于第三范式,进一步消除了主键字段之间的传递依赖关系。
它要求每个非主键字段只依赖于候选键。
二、数据模型设计原则数据模型是数据库设计的核心,它定义了数据库中的实体、属性和关系。
下面是数据模型设计的原则:1. 选择合适的数据模型:常用的数据模型包括层次模型、网状模型和关系模型。
关系模型是当前最流行和应用最广泛的数据模型,它以关系表的形式存储数据。
2. 确定实体和属性:实体是现实世界中的对象,属性是实体的特征。
在定义实体和属性时,需考虑实体的属性是否唯一标识该实体。
3. 定义关系:关系是实体之间的联系,通过表之间的键值关联实现。
在定义关系时,需考虑关系的类型(一对一、一对多、多对多)以及参照完整性约束。
三、命名规范与标准良好的命名规范和标准是数据库设计的基础,它有助于提高代码的可读性和可维护性,并减少开发人员之间的沟通成本。
以下是常用的命名规范与标准:1. 表和字段命名:使用具有描述性的名称,避免使用缩写、重复和模糊的词汇。
数据库标准化设计与开发规范数据库是企业信息化建设的重要组成部分,而标准化设计与开发规范是确保数据库有效性、可靠性和可维护性的基石。
在本文中,我们将介绍数据库标准化设计与开发规范的重要性,并提供一些实践经验和指导原则。
一、数据库标准化设计的重要性数据库标准化设计是指在设计数据库时遵循一系列规范和准则,以达到数据一致性、完整性和可扩展性的目标。
标准化设计的重要性体现在以下几个方面:1. 数据一致性:标准化的数据库设计可以确保数据在不同表中的存储方式一致,避免数据冗余和不一致的情况。
这能提高数据的准确性和可靠性,避免数据的重复录入和更新等问题。
2. 数据完整性:通过定义合适的关系约束、主键和外键,标准化设计可以确保数据的完整性。
在插入、更新和删除数据时,数据库系统会自动进行参照完整性检查,从而避免数据关联错误和损坏。
3. 数据可扩展性:标准化的数据库设计可以灵活地扩展和调整,使数据库结构能够适应业务的变化和增长。
在标准化设计下,数据库模式的修改和扩展更加方便,不会对现有的数据和应用程序造成影响。
二、数据库标准化设计的原则和规范在进行数据库标准化设计时,我们应该遵循以下几个原则和规范:1. 第一范式(1NF):确保每个表中的数据项是原子化的,即不可再分的。
每个字段只应该包含一个数据项,避免多值依赖和重复分组。
这可以减少数据的冗余和不一致性。
2. 第二范式(2NF):在满足1NF的基础上,确保每个非主键属性完全依赖于主键,而不是依赖于主键的一部分。
通过拆分表、引入外键等方式,可以消除部分依赖和更新异常。
3. 第三范式(3NF):在满足2NF的基础上,确保每个非主键属性直接依赖于主键,而不是依赖于其他非主键属性。
这样可以消除传递依赖和冗余数据,提高数据的存储效率和查询性能。
4. 索引设计:合理的索引设计是提高查询性能和应用效率的关键。
应该根据业务需求和查询频率设计适当的索引,避免创建过多或过少的索引。
此外,重要的字段应该优先考虑添加索引。
xx系统数据库设计说明书xx系统数据库设计说明书1. 引言1.1 编写目的本文档旨在详细描述xx系统的数据库设计,并提供相应的参考和指导。
1.2 读者对象本文档的主要读者对象为系统开发人员、数据库管理员以及相关的技术人员。
1.3 背景介绍xx系统的背景和相关的业务需求。
2. 数据库设计概述2.1 数据库基本信息描述数据库的基本信息,包括数据库名称、版本、开发环境等。
2.2 数据库模型介绍数据库模型的选择和设计原则。
2.3 数据库架构描述数据库的整体架构,包括数据表、视图、索引、存储过程等。
3. 数据表设计3.1 数据表列表列出系统中的所有数据表,包括表名、描述、关联关系等。
3.2 数据表字段设计对每个数据表的字段进行详细的描述,包括字段名、数据类型、长度、是否为空、默认值等。
3.3 约束和索引设计描述表之间的关联关系和约束条件,以及相应的索引设计。
4. 视图设计4.1 视图列表列出系统中的所有视图,包括视图名称、描述、关联的数据表等。
4.2 视图字段设计描述每个视图中的字段,包括字段名、数据类型、长度等。
5. 存储过程和函数设计5.1 存储过程列表列出系统中的所有存储过程,包括存储过程名称、描述、输入输出参数等。
5.2 存储过程详细设计对每个存储过程进行详细的描述,包括过程逻辑、参数说明等。
6. 数据库安全设计6.1 用户权限设计描述系统中不同用户的权限设置,包括用户角色、权限列表等。
6.2 数据库备份和恢复策略介绍数据库备份和恢复的策略和步骤。
7. 附件本文档涉及的附件,包括数据库设计脚本、示意图等。
8. 法律名词及注释本文所涉及的法律名词和相关注释,旨在帮助读者更好地理解文档内容。
数据库的设计原则与规范随着信息化的发展,数据库成为了处理和管理数据的重要工具。
在进行数据库设计时,遵循一定的原则和规范可以提高数据库的效率、可靠性和可维护性。
本文将介绍数据库设计的原则与规范,旨在帮助读者建立一个高质量的数据库系统。
一、原则:1. 数据库设计原则的第一个目标是满足用户需求。
在设计数据库时,要深入了解和分析用户的需求,确保数据库可以提供准确、全面和及时的数据,以支持用户的业务需求。
2. 数据库设计原则的第二个目标是简化和标准化。
数据库设计应遵循简单和标准化的原则,避免冗余和重复的数据。
通过正规化过程,将数据拆分为更小的、相互关联的实体,以减少数据存储和维护的开销。
3. 数据库设计原则的第三个目标是保证数据完整性。
数据完整性是指数据库中的数据准确性和一致性。
通过定义适当的主键、外键和约束条件,限制数据的插入、更新和删除操作,确保数据的完整性。
4. 数据库设计原则的第四个目标是提高性能。
在设计数据库时,应考虑通常的查询需求和频率,合理选择和优化索引、视图和查询语句,以提高数据库的查询和处理性能。
5. 数据库设计原则的第五个目标是考虑安全性。
保护数据的安全性是数据库设计不可忽视的方面。
通过权限控制、数据加密和备份策略等措施,保护敏感数据的安全性和机密性。
二、规范:1. 表命名规范:表名应具备描述性,使用英文单词或缩写,避免使用特殊字符和关键词,尽量使用小写字母,可使用下划线分隔单词。
例如,学生表可以命名为 "students"。
2. 字段命名规范:字段名应具备描述性,使用英文单词或缩写,避免使用特殊字符和关键词,尽量使用小写字母,可使用下划线分隔单词。
例如,学生的姓名字段可以命名为 "student_name"。
3. 数据类型规范:选择合适的数据类型来存储不同类型的数据,以节省空间和提高查询性能。
例如,使用整数类型来存储整数值,使用字符类型来存储文本值。
XX企业SQL Server数据库设计开发规范1范围 (2)2总体要求 (2)2.1数据库设计总体要求 (2)2.2数据库对象命名的总体要求 (2)2.3数据库程序编码的总体要求 (3)3数据库设计规范 (3)3.1数据库的概念设计 (3)3.2数据库的逻辑设计 (4)3.3数据库物理设计 (4)4数据库对象命名规范 (6)4.1.1数据表模块分类 (7)4.1.2数据表命名方法 (7)4.1.3数据表属性设计 (8)5数据字典编写格式规范 (8)5.1数据库表汇总表格式 (8)5.2数据库表详述表格式 (9)5.3编码数据表格式 (10)6数据开发规范 (11)6.1数据库脚本的目录结构 (11)6.2数据库脚本的开发规范 (12)6.2.1代码书写规范 (12)6.2.2存储过程编写规范 (15)7数据库脚本的部署规范 (19)8数据库开发过程中要避免的问题(CHECKLIST) (19)8.1数据库设计 (19)8.2SQL编写 (19)8.3索引的使用 (20)8.4TEMPDB的使用规范 (20)1范围本规范规定了XX企业SQL Server数据库建设的规则,是检验评定软件开发者为XX 企业项目开发的应用系统质量的标准尺度。
本规范适用于各软件开发者和有关单位为本项目开发的应用系统所使用的数据库,数据库的设计、数据库内的对象命名、数据字典文档的编写必须遵守本规范。
2总体要求数据库建设规范主要包括数据库设计规范、数据库对象命名规则和数据库程序开发编码规范、数据字典文档编写格式等内容。
2.1 数据库设计总体要求数据库是信息化建设的重要基础。
数据库设计通常是作为应用系统开发的一部分进行的,但在应用系统开发中数据库设计具有特殊的重要性和相对独立性,因此在本规范中专门进行规定。
开发者在系统设计阶段,应采用合理的设计方法进行数据库设计,建立数据库的逻辑模型和物理模型,最终设计出高性能、易扩展、易维护、少冗余、高安全性、高可靠性、一致性和完整性好的数据库。
数据库设计规范数据库设计是软件开发过程中至关重要的一步,它的质量和规范性直接关系到系统的稳定性、性能和数据的安全性。
本文将介绍一些常见的数据库设计规范,以帮助开发者在设计数据库时遵循最佳实践,确保数据库的高质量和可维护性。
一、命名规范在数据库设计中,良好的命名规范是必不可少的。
以下是一些常用的命名规范:1. 表名和字段名要具有描述性,能够直观地反映其所代表的含义。
2. 避免使用数据库关键字作为表名或字段名。
3. 使用一致的命名风格,比如驼峰式命名法或下划线命名法。
二、表设计规范良好的表设计是保证数据库性能和数据完整性的基础。
以下是一些表设计的规范建议:1. 表结构要符合第三范式。
避免重复数据和数据冗余,提高数据的一致性和更新效率。
2. 选择合适的数据类型和字段长度,根据数据的实际需求选择适当的数据类型,避免过度使用字符型字段。
3. 为表添加主键和外键约束,确保数据的完整性和一致性。
4. 避免使用过多的索引,只为常用的查询字段添加索引,以提高查询效率。
三、字段设计规范字段是数据库中最基本的组成单元,良好的字段设计是保证数据准确性和查询性能的重要因素。
以下是一些字段设计的规范建议:1. 选择合适的数据类型,根据字段存储的数据类型和范围选择适当的数据类型,避免浪费存储空间和降低性能。
2. 为字段添加注释,注释能够提供字段的含义和用途,方便其他开发者理解和维护。
3. 避免使用空值,对于允许为空的字段,要慎重考虑是否真正需要允许为空,避免数据一致性问题。
4. 使用约束限制字段取值范围,根据业务需求添加合适的约束,比如唯一约束、非空约束等。
四、索引设计规范索引是提高查询效率的重要手段,但不恰当的索引使用会降低数据库的性能。
以下是一些索引设计的规范建议:1. 选择适当的索引字段,对于经常用于查询和连接的字段添加索引,避免过多的索引占用存储空间和降低写操作的性能。
2. 避免在大数据量表上创建过多的索引,慎重考虑索引的创建,对于大数据量表,需要权衡查询效率和写性能之间的平衡。
数据库设计的规范与范式数据库设计是构建一个稳定、高效、可维护的数据库系统的基础。
采用规范的数据库设计方法和范式化的数据结构,可以确保数据库的一致性、完整性和可扩展性。
本文将探讨数据库设计的规范性要求以及范式化的设计原则。
一、数据库设计的规范性要求1. 数据模型的选择与设计在数据库设计之前,首先需要选择合适的数据模型。
常见的数据模型包括层次模型、网状模型和关系模型等,其中关系模型是最常用的模型。
在选择关系模型后,需要进一步设计关系的结构和属性。
2. 实体关系图的构建实体关系图(ER图)是数据库设计的基础工具,用于描述实体之间的关系。
在构建ER图时,需明确实体的属性和关系的类型,规定每个实体的主键和外键,并保证图形的可读性和图例的规范性。
3. 数据命名的规范化数据库对象(表名、列名、约束名等)的命名应该遵循统一的规范,以提高代码的可读性和维护性。
常见的命名规范包括使用小写字母和下划线、避免使用保留字和特殊字符等。
4. 数据类型和长度的定义在数据库设计中,根据实际需求和数据特点,需要正确定义各个列的数据类型和长度。
不同的数据类型有不同的存储需求和限制条件,合理的数据类型定义可以减小存储空间并提高查询效率。
5. 约束和索引的使用约束和索引是数据库设计中的重要概念。
通过定义主键、唯一约束、外键约束等可以保证数据的完整性和一致性;而通过创建适当的索引可以提高查询的速度和效率。
6. 数据库文档和注释的编写在数据库设计完成后,应及时编写数据库文档和注释,记录各个表、列、约束和索引的含义和用途。
这对于日后的维护和改进非常重要,可以提高开发人员的工作效率。
二、范式化的设计原则范式化是数据库设计中的一项基本原则,用于规范化数据结构,减少数据冗余并提高数据一致性。
1. 第一范式(1NF)第一范式要求数据库中每个属性都是原子的,即不可再分。
每个属性都只包含一个值,不允许多值属性、复合属性和重复属性的存在。
2. 第二范式(2NF)第二范式要求数据库中的非主键属性都完全依赖于主键,即要求表中的每个非主键属性都与主键直接相关。
数据库开发设计规范1基本命名规范对象名统一使用大写字母,形成混合拼写的格式+下划线+后缀名(对象类型)命名尽量采用富有意义的英文词汇,不准采用汉语拼音,如:订单ORD_USER_571 当前表ORD_USER_F_571_201009 订单已竣工表ORD_USER_H_571_201009 订单历史表实例INS_PROD_571 实例当前表INS_PROD_H_571_201009 实例历史表资源RES_SIM_CARD_ORIGIN_571 未用表RES_SIM_CARD_USED_571 已用表工单表PS_PROVISION_571 当前表PS_PROVISION_571_ERR 处理错误表PS_PROVISION_H_571_201009 已经完成表2实体表命名规则前几位代表模块英文缩写,后面代表该对象的英文名称:如:INS_PROD_571 杭州产品实例表模块划分:3字段类型使用规则Oracle常用的字段类型如下:表设计时对字段类型使用应遵循以下规则:1、对于字符型字段,字段类型选择时尽可能的使用varchar2字段类型,避免使用char字段类型,因char类型字段在字符长度不足位的情况下Oracle会自动补空格,存在一定的开发隐患;2、对于需要存储的字符串长度超过varchar2字段类型规定的最大长度(4000字节)的情况,模型设计时原则上禁止使用blob/clob字段类型,建议采用定义多个varchar2类型字段的方式设计,应用开发在存储字符串时对字段串分割后进行存储,获取字符串时对多个字段存储的字符串查询后进行拼接。
如特定情况下需要使用blob/clob字段类型,必须向架构组和平台组提交申请,审核后方可使用;3、时间类型的数据选择date类型,避免使用timestamp类型;4、整数类型字段使用number(p)定义,浮点类型字段使用number(p,s)定义。
对于金额类的字段,除特定场景下,系统均是使用分为单位,在字段类型选择时优先使用整数类型。
数据库设计开发规范1 数据库命名约定1.1 规则(1)命名富有意义英⽂词汇,多个单词组成的,中间以下划线分割。
(2)除数据库名称长度为1-8个字符,其余为1-30个字符,dblink名称也不要超过30个字符。
(3)命名只能使⽤英⽂字母,数字和下划线,字母全部⼩写(4)避免使⽤Oracle的保留字如level、关键字如type。
1. 2系统模块编号名称英⽂缩写1系统管理system sys2配置管理dictionary dic3设备系统equipment equ4通讯系统BaiZE bai5能耗系统energy consumption egy6调度系统dispatch dph7数据分析系统Auto Data Make Data amk8Data to UI dui9stmart smt10营收系统revenue rev11客服系统custom service cus12远程抄表系统remote reading rea13报装系统Expanding exp14移动互联系统mobile mob15管⽹监测系统Pipe Supervision pip16⾃备井监测Self-supply wells ssw17协同办公cooperative OA coa18⽔⼚监测Water Factory Monitoring wfm19⼆次供⽔系统secondary water-supply sws20GIS系统gis gis21⽔⼒模型系统Water Model system mod21⽔⼒模型系统Water Model system mod22管理系统Manage system man23仿真决策分析系统decision-making system dms24BIM系统Building Information Modeling bim1. 3业务功能编号名称英⽂缩写1⼩区area area2压⼒pressure pressure3流量flow flow4客服custom service service5移动应⽤mobile apps app6⽔⼚water works water7客户customer customer 8⼤客户big customer bcustomer 9⼆次供⽔secondary water supply second10饮⽔机water fountain fountain11⾃备井Self-supply wells wells12⽔质water quality quality13诊断diagnoses diagnoses 14⽔源waterhead waterhead 15收费charge charge16档案file file17抄表reading reading18发票invoice invoice19报表report report20⼯单job job21流程process processs 1. 4数据库对象编号名称缩写其它1表空间tbs2表tb3视图vw4过程sp5函数fn6序列seq seq_表名7触发器tr tr_表名8包pk9索引idx seq_表名10约束ck ck_表名_字段名11主键pk pk_表名_字段名12外键fk fk_主表名_从表名13⽤户⾃定义类型udt2 SQL书写⽅式2.1 注释(1)注释以中⽂为主。
xx数据库开发设计规范第一章总则第一条为了规范集团公司数据格式,提高数据库设计的合理性和数据访问高效性,同时便于阅读和理解数据库的结构,以提高各子集团之间数据共享的质量和效率,促进数据库编码的标准化,特制定本规范。
第二条本规范由集团总公司信息管理部负责制定和修改,最终解释权由集团总公司信息管理部所有。
第三条本规范适用于集团总公司及各子集团及其下属子公司所有包含数据库开发的软件开发项目。
第二章设计规范第四条数据库规范:建议使用Oracle,Sql Server等主流的数据库,禁止使用任何开源数据库(MySql等)。
第五条表设计规范:(一)一行记录必须表内唯一,所有表必须必须有主键。
(二)尽量少使用数据库外键,如有外键完整性约束时,尽量使用程序控制)(三)新加的表,所有字段禁止NULL。
(四)在表创建完成前,应该为表添加表的注释,对表中字段也要有相应的注释和说明第六条索引设计规范:(一)表中索引的数量最好控制在5个以内。
(二)一个索引关联的字段在5个以内。
(三)禁止在更新十分频繁、或者区分度不高的属性上建立索引。
(四)建立组合索引,必须把区分度高的字段放在前面。
第七条字符设计规范:(一)字符类型建议采用varchar/nvarchar数据类型(二)手机号采用varchar(20)进行存储(三)金额货币采用money或者number数据类型(四)科学计数采用numeric数据类型(五)自增长标识采用bigint数据类型(数据量一大,用int类型就装不下,那以后改造就麻烦了) (六)时间类型建议为datetime数据类型,对于日期类型的建议采用date数据类型(七)禁止使用text、ntext、image等老的数据类型(八)禁止使用xml数据类型、varchar(max)、nvarchar(max)第八条SQL查询设计规范:(一)禁止在数据库做复杂运算,例如XML解析,字符串相似性比较,字符串搜索等。
(二)禁止使用SELECT *(三)禁止在索引列上使用函数或计算(四)尽量避免使用游标(五)尽量避免使用触发器(六)禁止在查询里指定索引(七)变量/参数/关联字段类型原则上要求与字段类型一致(八)参数化查询(九)限制JOIN个数,单个SQL语句的表JOIN个数不能超过5个。
(十)限制SQL语句长度及IN子句个数在100个以内。
(十一)尽量避免大事务操作(十二)关闭影响的行计数信息返回(十三)除非必要S ELECT语句都必须加上NOLOCK(十四)使用UNION ALL替换UNION(十五)查询大量数据使用分页或TOP(十六)递归查询层级限制(十七)NOT EXISTS替代NOT IN(十八)不推荐使用临时表与表变量(十九)使用本地变量选择中庸执行计划(二十)尽量避免使用OR运算符(二十一)增加事务异常处理机制(二十二)输出列使用二段式命名格式第三章命名规范第九条当有相关国家/行业强制性数据结构标准规范存在时,用于存储某业务数据的业务表在表名命名上原则上应该遵从标准规定,其表中相关字段的中文名称(即数据项名称)若标准规范上有规定的应遵循规定。
此外,若标准规范上对数据项的类型、长度有规定的,原则上也应当遵循或保证能直接兼容保存和访问。
第十条数据库命名规范(一)要求所有数据库对象命名字母全部大写;(二)字符只能使用英文字母、下划线、数字进行命名,首位字符必须是英文字母;(三)命名中多个单词间采用下划线分隔,以便阅读同时方便某些工具对数据库对象的映射。
如XXX_XXX_XXX,但不限于三段式;(四)简单命名原则:命名尽可能简单,避免太长的命名,尽量使用缩写形式,但是缩写也要能够表达命名的含义;(五)数据库对象命名总长度不得超过30字节,以免超过数据库命名长度限制,建议每个单词分段长度不要超过6位。
第十一条表命名规范(一)表的命名以T_开头,表名全部字母大写,表的命名长度建议不超过20个字节;(二)表名只允许用英文字母、下划线、数字进行命名,不允许用中文或者其他符号,表名采用多段式命名,各单词间用下划线分隔;(三)表的命名方式建议采用T_MOUDLE_ENTITY方式。
MOUDLE表示数据库对象所属的系统、模块名或者主题分类。
ENTITY表示目的表代表的实体名称。
MOUDLE 只能由一个单词组成,ENTITY可以根据需要有多个单词组成;(四)命名时应尽可能地使名称能够清晰准确表达对象的内容,尽可能使用能代表其含义的英文单词、英文单词缩写,特殊情况也可采用拼音首字母。
第十二条列命名规范(一)列名无需使用前缀,如使用数据类型编码作为前缀;(二)列名字母全部大写,列名只允许用英文字母、下划线、数字进行命名,不允许用中文或者其他符号;(三)列名采用多段式命名时,各单词间用下划线分隔;(四)列名不能直接使用数据库保留字;(五)列的命名应尽可能地采用简洁明了的列名以准确描述列的内容含义, 根据需要可以一个单词或者多个单词进行命名;(六)日期类型字段推荐以“_DATE”结尾的名字命名,时间类型的字段推荐以“_TIME”结尾的名字命名;(七)主键列命名为“ID”或者以“_ID”为后缀进行命名。
对于需要在其他表中引用的主键字段以“_ID”后缀方式命名,普通表主键无需加后缀。
如基础信息表的主键一般应命名为“ENTITIE_ID”方式,而通常业务数据明细表的主键则直接命名为“ID”。
第十三条视图命名规范(一)视图的命名以VW_开头;(二)视图其他命名规范与表名相同;(三)视图的列名一般与基表一致,但是根据需要可以与基表的列名不同。
如接口视图一般根据接口需求进行命名。
第十四条索引命名规范(一)普通索引名称以IDX_为前缀;(二)单字段索引的命名方式为:IDX_表名_字段名,表名无须前缀,命名长度太长时表名和字段名可以考虑缩写;(三)多字段联合索引命名方式同单字段,考虑长度限制,可以只列出主要字段名或者采用缩写方式描述索引字段。
第十五条表空间命名规范(一)表空间名以TS_开头;(二)公用(非分区表专用)表空间命名规范为:TS_系统名_类型名。
类型分为:数据DATA,索引INDX,也可以根据需要增加其他分类。
系统名一般与系统主用户名一致,如门户系统为PORTAL;(三)分区表专用表空间命名规范为:TS_表名_分区编号。
表名可以不用前缀,分区编号尽量使用能够表示分区范围的编号。
如按年分区可以用2004表示2004年的分区。
第十六条分区命名规范(一)分区的命名规范为PT_表名/索引名_Pn。
其中,TNAME是指分区表或分区索引的名称,n是用于区分不同分区的唯一识别标志。
如果分区表是以年份的不同进行分区,则n为所代表的年份。
第十七条用户、模式规范(一)数据库用户采用一个代表系统名称含义的英文单词或者拼音首字母进行命名,无前缀;(二)不得使用数据库自动创建的用户模式,如SYSTEM、SYS、ROOT等;(三)创建数据库用户时一般不要授予DBA权限。
第十八条完整性约束命名规范(一)主键主键约束的命名格式为PK_表名,表名不带前缀。
如采用字段后加PRIMARY KEY方式添加主键则无需命名,由数据库自动命名。
(二)外键外键约束的命名格式为FK_表名_字段名,表名不用前缀,字段名较长时可以缩写。
(三)唯一关键字约束唯一关键字约束命名规范为UK_表名,表名可以不带前缀。
一般情况不会出现一个表除了主键外还有多个唯一约束的情况,确实需要时可以命名为UK_表名_n,n为索引区分标识可以是字段名或者序号。
(四)其他约束CHECK约束的命名格式为CK_表名_字段名,表名可以不带前缀,名字太长时表名和字段名可以根据需要缩写。
第十九条同义词同义词的目的是用于方便对其他用户或者数据库的对象的使用,因此同义词在命名时,一般与原数据对象名称相同,如需要前缀可采用SYN_。
第二十条序列号(一)序列号的命名应以SEQ_开头;(二)序列号命名格式为SEQ_主键列名或者SEQ_表名。
前者适用于主键列用有含义字母进行命名的,后者适用于直接用ID命名主键的情况。
表名可以不用前缀。
第二十一条包命名规范(一)包的命名以PKG_开头;(二)包的命名格式PKG_MOUDLE,MOUDLE用代表模块或者功能组的名字进行命名。
建议在有可能的情况下尽量使用包。
第二十二条函数命名规范(一)函数命名以F_开头;(二)包中的函数的命名规范为F_NAME,NAME表示相应的功能用途描述;所属的模块或者功能组已经在函数所引用的包中指出;(三)独立的函数的命名规范为F_MODULE_ NAME,MOUDLE可用于指明所属的模块的名称或者功能组。
对于基本功能函数,MOUDLE_可以不需要。
第二十三条存储过程命名规范除了前缀改为“SP_”,其余与函数相同。
第二十四条参数、变量命名规范(一)输入函数命名规范为P_NAME;(二)普通类型变量命名规范为V_NAME,如数字、字符串、日期等。
CURSOR类型变量使用CUR_作为前缀。
隐式游标变量、记录类型变量以及对象类型变量按普通变量规范;(三)输出参数命名规范为O_NAME,输出参数放在参数列表最后;(四)命名规范中的NAME部分应能清楚表示变量或者参数的含义,以提高代码可读性。
避免使用V_1、V_M、P_1、P_N等无法表达具体含义的参数或者变量命名。
第二十五条触发器命名规范触发器的命名规范为:TRG_表名_触发器类型。
表名不带前缀,触发器的类型由触发时机和触发动作组成:‘B’表示前触发,‘A’表示后触发,‘INSERT’‘UPDATE’‘DELETE’描述触发动作。
第四章安全性设计第二十六条管理默认用户在生产环境中,必须严格管理sys和system用户,必须修改默认密码,禁止该用户建立数据库应用对象,删除或锁定数据库测试用户scott。
第二十七条数据库用户权限设计必须按照应用需求,设计不同的用户访问权限,包括应用系统管理用户,普通用户等,按照业务需求建立不同的应用角色。
用户访问另外的用户对象时,应该通过创建同义词对象或者采用视图对象访问sysnonym进行访问。
第二十八条角色和权限确定每个角色对数据库表的操纵权限,如创建、检索、更新、删除等。
第二十九条应用级用户设计应用级用户账号密码不能与数据库相同,防止用户直接操作数据库。
用户只能通过账号登陆到应用软件,通过应用访问数据库,而没有其他途径操作数据库。
第三十条用户账号和密码必须加密处理,确保在任何地方的查询都不会出现密码的明文格式。
第五章附则第三十一条本规范自下发之日起实行,集团公司在该时间节点后开始建设的所有数据库都必须严格遵守该规范。