
数据库建设规范.doc
15页数据库建立标准目录1. 前言 22. 范围 23. 术语和定义 23.1 范式 23.2 关联 23.3 关系模型 33.4 视图 33.5 外键 33.6 约束 33.7 主键 34. 命名标准 34.1 标准约定 34.2 表名 44.3 视图 44.4 存储过程 44.5 函数 44.6 触发器 44.7 字段 44.8 索引 45. 数据库建立过程标准 55.1 概述 55.2 需求分析阶段 65.2.1 需求调查 65.2.2 内容分析 65.3 概念构造设计阶段 75.2.1 定义实体 75.3.3 定义关系 75.3.4 定义属性 85.3.5 定义键 85.3.6 定义索引 85.3.7 定义其他对象和规那么 9 5.4 逻辑构造设计阶段 95.5 数据库物理设计阶段 10 5.6 实施、运行、维护标准 11 6. 数据库建立平安性标准 11-word.zl- --6.1 概述 116.2 完整性设计 12 6.3 物理平安 13 6.4 访问控制 14 6.5 数据备份 141. 前言数据库技术是信息资源管理最有效的手段数据库设计是指对于一个给定的应用环境, 构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处 理要求。
本标准通过数据建库的命名、构造、建库过程及平安性措施等几个技术方面进展约定, 目的就是提供一套标准、合理、科学的建库技术体系,应用系统提供建库技术参考2. 范围本标准主要从关系数据库的命名、关系和构造以及建立过程等几个方面来规定数据库设 计应遵循的标准3. 术语和定义3.1 范式关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式满足最低 要求的叫第一范式,简称 1NF在第一范式中满足进一步要求的为第二范式,其余以此类 推一般而言,数据库的设计应至少满足第三范式3.2 关联关联是不同表之间的数据彼此联系的方法关联同时存在于形成不同实体的数据项之间 和表实体本身之间,构成了数据库标准化的根本核心问题它分为一对一、一对多、多对多 三种关联形式word.zl- --3.3 关系模型关系模型由关系数据构造、关系操作集合和关系完整性约束三局部组成在 关系模型中,实体与实体间的联系都是用关系来表示的3.4 视图视图是一个定制的虚拟表可以是本地的、远程的或带参数的;其数据可以来源于一个或多个表,或者其他视图;它是可更新的,可以引用远程表;它可以 更新数据源视图是基于数据库的,因此,创立视图的前必须有数据库。
3.5 外键外键是一个关系中的一组属性〔一个或多个列〕,它同时也是某种〔一样的或其它的〕关系中的主键它是关系之间的逻辑链接3.6 约束数据库管理系统必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件,这些加在数据库数据之上的语义标准,称为约束约束又可以分 为完整性约束、唯一性约束等3.7 主键每张表都应该包含一样的一个或一组字段,它们都是保存在表中的、每一条记录的唯一标识,通常这些字段〔即主键〕需要在建立数据表时就设定并标记 4. 命名标准4.1 标准约定命名采用 26 个英文字母〔一律大写〕和 0-9 这十个自然数,加上下划线“_〞 组成,共 63 个字符,不能出现其他字符〔注释除外〕数据库对象包括表、视图、存储过程、函数、触发器、字段、数据库文档对象名字由前缀和实体名称组成,长度不超过 30 个字符前缀描述对象类型,-word.zl- --实体名称包括系统标识等信息尽量详尽描述实体的内容,不以数字或下划线开头,对象名称 中的标识用下划线“_〞进展分隔其中“[]〞内的内容表示是可选内容4.2 表名T_[<系统标识>_][<…….> _] <表标识>如:T_NPCP_ORDER4.3 视图V_ [<系统标识>_][<…….> _] <视图标识>如:V_NPCP_ORDER4.4 存储过程P_ [<系统标识>][<…….> _]<存储过程标识>[_<存储过程行为标识>]如:P_NPCP_ORDER_ADD4.5 函数F_ [<系统标识>_][<…….> _]<函数标识>[_<函数行为标识>]如:F_NPCP_ORDER_ADD4.6 触发器TR_ [<系统标识>][<表标识>_][<…….> _]<触发标识>如:TR_NPCP_ORDER_ADD4.7 字段[<外键表标识>_][<…….> _]<字段标识>如:ORDER_ID4.8 索引IN_[<系统标识>_][<表标识>_][<…….> _]<索引标识>如:IN_NPCP_ORDER_NAME-word.zl- --5. 数据库建立过程标准5.1 概述建库过程建议参考以下的建库流程如图 1 所示。
需求分析阶段综合各科学数据用户的应用需求,形成标准的需求调查表、需求规格书、 功能需求表概念设计阶段形成独立于机器特点、独立于各个数据库管理系统产品的概念模式,用 E-R 图来描述逻辑设计阶段将 E-R 图转换成具体的数据库产品支持的数据模型如关系模型,形成数 据库逻辑模式然后根据用户处理的要求,平安性的考虑,在根本表的根底上再建立必要的 视图形成数据的外模式数据可以分为两大类:关系数据和非关系数据,在物理设计阶段根据数据库管理系统的 特点和处理的需要,进展物理存储安排,设计索引,形成数据库内模式最后进展数据〔或元数据〕录入建库过程的每一步都是对其前一步骤的检验,对于发现的错误或偏差需要进展及时的评估,并进展修正完善对由于数据库的设计而在应用当中的造成的不良影响及出现数据误差等现象进展修缮、更新、完善word.zl- --图 1 数据库建立过程5.2 需求分析阶段需求分析阶段可以分为两个步骤:需求调查和内容分析数据大概分为两类数据: 关系型数据和非关系型数据〔如文件,文档〕在需求分析阶段可以对这两种数据进展 不同的处理和分析5.2.1 需求调查数据信息来源有以下几种方法,分析系统需求分析报告书,组织调查会,咨询业务 专家。
非关系型数据要分析哪几类类型,如文件的格式5.2.2 内容分析需求收集和分析,结果得到数据字典描述的数据需求,数据流图描述的处理需求数据项数据项含义数据类型长度取值范围可选性注释-word.zl- --表 1 数据字典标准模式图 2 数据流图的表达方式5.3 概念构造设计阶段这个阶段的任务确定建模目标,开发建模方案,组织建模队伍,收集数据资源,制 定约束和标准5.2.1 定义实体找出潜在的实体,形成初步实体表,然后再进展必要的调整满足下述两条准那么 的事物,一般均可作为属性对待〔1〕作为“属性〞,不能再具有需要描述的性质属性〞必须是不可分的数据项, 不能包含其他属性〔2〕“属性〞不能与其他实体具有联系,即 E-R 图中所表示的联系是实体之问的 联系5.3.3 定义关系模型中只允许二元联系,n 元联系必须定义为 n 个二元联系根据实际的业务需求和 规那么,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的 势、关系名和说明,确定关系类型,是标识关系、非标识关系〔强制的或可选的〕还是非确 定关系、分类关系如果子实体的每个实例都需要通过和父实体的关系来标识,那么为标识 关系,否那么为非标识关系。
非标识关系中,如果每个子实体的实例都与而且只与一个父实 体关联,那么为强制的,否那么为非强制的如果父实体与子实体代表的是同一现实对象, 那么它们为分类关系即在这一步工作中确定任意有关联的两个实体之间的关系类型word.zl- --5.3.4 定义属性从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者定义非主键属性, 检查属性的非空及非多值规那么此外,还要检查完全依赖函数规那么和非传递依赖规那么, 保证一个非主键属性必须依赖于主键、整个主键、仅仅是主键5.3.5 定义键通过引入穿插实体除去上一阶段产生的非确定关系,然后从非穿插实体和独立实体 开场标识侯选键属性,以便唯一识别每个实体的实例,再从侯选键中确定主键为了确 定主键和关系的有效性,通过非空规那么和非多值规那么来保证,即一个实体实例的一 个属性不能是空值,也不能在同一个时刻有一个以上的值找出误认确实定关系,将实 体进一步分解,最后构造出 IDEF1X 模型的键基视图,确定关系中的主键和外键等 键选择标准:1)键设计原那么:为关联字段创立外键;所有的键都必须唯一;防止使用复合键;外键 总是关联唯一的键字段2)使用系统生成的主键,设计数据库的时候采用系统生成的键作为主键,那么实际控 制了数据库的索引完整性。
这样,数据库和非人工机制就有效地控制了对存储数据中每 一行的访问采用系统生成键作为主键还有一个优点:当拥有一致的键构造时,找到逻 辑缺陷很容易3)不要采用用户可编辑的字段作键(不让主键具有可更新性)在确定采用什么字段作 为表的键的时候,可一定要小心用户将要编辑的字段通常的情况下不要选择用户可编 辑的字段作为键4)可选键有时可做主键,把可选键进一步用做主键,可以拥有建立强大索引的能力5.3.6 定义索引索引是从数据库中获取数据的最高效方式之一95%的数据库性能问题都可以采用索引技术得到解决1〕如果一个〔或一组〕属性经常在查询条件中出现,那么考虑在这个〔或这组〕属性上建立索引〔或组合索引〕;2〕如果一个属性经常作为最大值和最小值等聚集函数的参数,那么考虑在这个属性上建立索引;3〕如果一个〔或一组〕属性经常在连接操作的连接条件中出现,那么考虑在这个〔或这组〕属性上建立索引;4〕逻辑主键使用唯一的成组索引,对系统键〔作为存储过程〕采用唯一的非成组索引,对任何外键列采用非成组索引考虑数据库的空间有多大,表如何-word.zl- --进展访问,还有这些访问是否主要用作读写5)大多数数据库都索引自动创立的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比方运行查询显示主表和所有关联表的某条记录就用得上。
6)不要索引 MEMO(备注)字段,不要索引大型字段〔有很多字符〕,这样作 会让索引占用太多的存储空间7)不要索引常用的小型表不要为小型数据表设置任何键,假设它们经常有插入和删除操作就更别这样作了对这些插入和删除操作的索引维护可能比扫 描表空间消耗更多的时间5.3.7 定义其他对象和规那么定义属性的数据类型、长度、精度。












