数据库设计规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1概述
1.1 目的
软件研发数据库设计规范作为数据库设计的操作规范,
详细描述了数据库设计过程及结果,用于指导系统设计人员
正确理解和开展数据库设计。
1.2 适用范围
1.3 术语定义
DBMS:数据库管理系统,常用的商业 DBMS有 Oracle, SQL Server, DB2 等。
数据库设计:数据库设计是在给定的应用场景下,构造
适用的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
概念数据模型:概念数据模型以实体- 关系
(Entity-RelationShip, 简称 E-R) 理论为基础,并对这一理论进
行了扩充。它从用户的观点出发对信息进行建模,主要
用于数据库概念级别的设计,独立于机器和各DBMS产品。可以用 Sybase PowerDesigner工具来建立概念数据模型(CDM)。
逻辑数据模型:将概念数据模型转换成具体的数据库产
品支持的数据模型,如关系模型,形成数据库逻辑模式。可
以用 Sybase PowerDesigner工具直接建立逻辑数据模型
( LDM),或者通过CDM转换得到。
物理数据模型:在逻辑数据模型基础上,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。可以用 Sybase PowerDesigner 工具直接建立物理数据模型( PDM),或者通过 CDM / LDM 转换得到。
2数据库设计原则
按阶段实施并形成该阶段的成果物
一般符合3NF范式要求;兼顾规范与效率
使用公司规定的数据库设计软件工具
命名符合公司标准和项目标准
3数据库设计目标
规范性:一般符合3NF范式要求,减少冗余数据。
高效率:兼顾规范与效率,适当进行反范式化,满足应
用系统的性能要求。
紧凑性:例如能用 char(10) 的就不要用 char(20) ,提高存储的利用率和系统性能,但同时也要兼顾扩展性和可移植性。
易用性:数据库设计清晰易用,用户和开发人员均能容
易地理解。
4设计过程规范
数据库设计过程包括如下阶段:数据分析、概念设计、逻辑设计、物理设计、实施与运行维护。如下图:
4.1 数据分析阶段
在数据分析阶段(一般在项目的需求分析或者系统设计
阶段进行),应注意搜集和分析数据相关的内容,并形成相
关成果物,包括数据流图和数据字典等,以此作为数据库设计的基础和依据。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据字典则对数据流图中的各种成分进行详细说明,作为数据流图的细节补充。数据字典一般应包括对数据项,数据结构、数据存储和数据处理的说明。
数据流图示例:
数据字典示例:
1.数据项条目
数据项编号: D01-001
数据项名称:凭证编号
别名:凭证流水号
符号名:PZBH
数据类型:数值型
长度: 4
取值范围:1~9999
其余略。
2.数据结构条目
数据结构编号: DS01-003
数据结构名称:会计分录
别名:分录
简述:记帐凭证的基本组成成分
组成:科目代码 +借贷方向 +金额
其余略。
3.数据存储条目
数据存储编号: F01
数据存储名称:记账凭证
来源:由凭证处理产生
组成:凭证日期 +凭证类别 +凭证编号 +附件张数 +
{ 会计分录 }+ 制证 +主管 +审核
4.2 概念设计阶段
4.2.1 目的
在数据分析的基础上,使用E-R 模型技术,将现实世界
中的客观对象抽象为实体和关系,形成概念数据模型( CDM)。CDM可以从更高层次地理解系统、以及技术人员可用于和用
户交流,和用户达成共识,所以必须完成这一阶段的工作。
CDM示例:
人
假期
姓名
天数
Number
性别 Text
俱乐部
年龄
Number
俱乐部名称
开始时间
成立时间 Date
部长学号
Number
教师 -人
学生 -人
Identifier_1
教师 -休假
学生 - 俱乐部
教师
学生
教龄 Number
年级 Number
班级
Characters (256)
级别
Number
学号
工号
Identifier_1
Identifier_1
班主任
班级 所属年级
Number
班级号
Number
Identifier_1
4.2.2 方法和过程
使用 Sybase PowerDesigner
来编写 CDM 文档。
1、小型系统的设计
可采取集中式模式设计法。根据需求由一个统一机构或
人员设计一个综合的全局模式, 形成模型的单一视图。 它强调统一与一致,因此适合于小型或并不复杂的系统。
2、大型系统的设计
可采取视图集成法(局部
- 集成方法)。将一个单位分解
成若干个局部应用, 先对每个局部作局部模式设计,
建立各