数据库系统设计_第1页
数据库系统设计_第2页
数据库系统设计_第3页
数据库系统设计_第4页
数据库系统设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章数据库系统设计第1节关系数据库设计理论第2节需求分析第3节概念结构设计第4节逻辑结构设计第5节物理结构设计第6节数据库实施第7节应用程序开发第8节数据库试运行与维护第1节关系数据库设计理论关系数据库设计理论是数据库逻辑设计的指南,其主要基础是函数依赖理论和规范化理论。一、函数依赖定义1在一个关系模式R中,X和Y是R的两个属性集。如果对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作X→Y,其中X称作决定因素。例如,在关系模式学生(学号,姓名,班级,年龄)中,只要给定一个学号(X),就可以唯一地决定一个姓名(Y),所以存在函数依赖:学号→姓名。定义2设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X',使得X'→Y成立,则称Y部分依赖于X,记作:XY否则,称Y完全依赖于X,记作:

XY例如在选课(学号,课程号,时间,成绩)关系模式中,“(学号,课程号,时间)成绩”是成立的,因为(学号,课程号,时间)的任何一个真子集(学号、课程号、时间等)都不能决定成绩。¾®¾p¾®¾f定义3在同一关系模式中,如果存在非平凡函数依赖X→Y,Y→Z,而Y不能函数决定X,则称Z传递依赖于X。例如在选课(学号,课程号,时间,成绩)关系模式中,“(学号,课程号,时间)成绩”是成立的,因为(学号,课程号,时间)的任何一个真子集(学号、课程号、时间等)都不能决定成绩。例如,在关系模式选课(选课编号,学号,课程号,时间,课程名,成绩)中,存在以下函数依赖:选课编号→课程号课程号→课程名根据定义3,课程名传递依赖于选课编号。二、范式图3-1规范化体系结构1.第一范式(1NF)定义:在关系模式R中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系,记为R∈1NF。例:学生(学号,姓名,班级,系部号,系部名称,年龄,课程号,时间,课程名,成绩)2.第二范式(2NF)定义:如果关系模式R中的所有非主属性都完全函数依赖于关键字,则称关系R是属于第二范式的,记为R∈2NF。例学生(学号,姓名,班级,系部号,系部名称,年龄),其中学号是关键字课程(课程号,课程名),其中课程号是关键字选课(学号,课程号,时间,成绩),其中(学号,课程号,时间)是关键字以上三个关系模式中所有的非主属性完全依赖于关键字,它们均为2NF。3.第三范式(3NF)定义:如果关系模式R中的所有非主属性既不部分依赖于关键字,也不传递依赖于关键字,则称关系R是属于第三范式的。记为R∈3NF。例:学生(学号,姓名,班级,年龄)班级(班级,系部号)系部(系部号,系部名称)分解后的关系模式中不再存在传递依赖,达到了3NF的要求。第2节需求分析一、需求分析的任务和方法需求分析的任务主要是详细调查目标系统处理的对象,充分了解其工作概况,明确系统信息、功能和行为,然后在此基础上为设计者提供可翻译成数据、体系结构、界面设计的模型。数据库系统需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。二、结构化分析方法结构化分析方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。结构化分析方法使用数据流图(Data

Flow

Diagram)与数据字典(DD)来描述,面向数据流问题的需求分析适用于数据处理类型软件的需求描述。1.数据流图(Data

Flow

Diagram,简称DFD)(1)数据流图的图形符号数据流图的图形符号有4种,如图3-2所示。图3-2数据流图基本图形符号(2)分层数据流图为了表达数据处理过程的数据处理情况,仅用一层数据流图是不够的,需要按照问题的层次结构进行逐步分解,以分层的数据流图反映这种结构关系。

图3-3分层数据流图(3)数据流图画法首先,画数据流图的基本原则是:自外向内,自顶向下,逐层细化,完善求精。具体步骤如下:先找系统的数据源点与汇点。找出外部实体的输出数据流与输入数据流在图的边上画出系统的外部实体从外部实体的输出数据流(即系统的源点)出发,按照系统的逻辑需要,逐步画出一系列处理,直到找到外部实体所需的输入数据流(即系统的汇点),形成数据流的封闭。按照某些原则进行检查和修改

再从各处理出发,画出所需的子图2.数据字典(DataDictionary,简称DD)数据字典是数据信息的集合,它对数据流图中的各个元素作完整的定义与说明,是数据流图的补充工具。(1)数据字典的内容数据流数据项数据结构数据存储处理(2)数据字典的实现常用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。这种做法较好地实现了上述要求,特别是更新和修改起来很方便,能够单独处理每个数据元素的信息。每张卡片上主要应包含下述信息:名字、别名、描述、定义、位置。名称:订货单编号:D01-05描述:送交采购员的需要订货的货物表定义:订货单=货物编号+货物名称+订货数量+货物单价+供应商+{备用供应商}位置:在打印机输出

例:某个数据元素的字典卡片如下第3节概念结构设计概念结构设计是整个数据库系统设计的关键,它的任务是在需求分析基础上,按照一定的方法抽象为满足用户需求的信息结构,也就是通常所称的概念模型。一、概念模型概念模型用于信息世界的建模,它不依赖于某一个DBMS,但可以转换为计算机上某一DBMS支持的特定数据模型。概念模型常用E-R(Entity-Relationship)图来描述。E-R图的基本图素:①实体:用长方形表示,框内写上实体名。②属性:用带圆弧的长方形表示,框内写上属性名,用直线与实体相连。③联系:用菱形表示,框内写上联系名,联系与相关的实体间用直线相连,并注明联系类型(1:1,1:n或m:n)。图3-9学生与课程实体及其联系学习二、概念模型的设计方法设计概念模型通常有四类方法:①自顶向下,即首先定义全局概念模型的框架,然后逐步细化。②自底向上,即首先定义各局部概念模型,然后将它们集成起来,得到全局概念模型。③逐步扩张,首先定义最核心的概念模型,然后向外扩充,以滚雪球的方式逐步生成其他概念模型,直至总体概念模型。④混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念模型的框架,以之为基础集成由自底向上策略设计的各局部概念模型。1.抽象数据并设计局部视图将系统分为多个局部应用,针对每个局部应用逐一设计E-R图。对于每个局部应用,其视图设计的过程如下:(1)确定局部视图的范围(2)识别实体及其标识(3)确定实体之间的联系及其类型2.集成局部视图,得到基本E-R图综合各个局部应用的E-R子图,产生反映数据库整体概念的基本E-R图。(1)合并E-R子图,生成初步E-R图(2)消除不必要的冗余,设计基本E-R图第4节逻辑结构设计设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。逻辑结构设计一般分三步进行:①将概念结构转换为关系模型;②对数据模型进行优化;③设计外模式。一、E-R模型向关系模型的转换

关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式转换一般遵循如下原则:一个实体转换为一个关系模式一个m:n联系转换为一个关系模式。一个m:n联系转换为一个关系模式。个1:1联系可以转换为一个独立的关系模式三个或三个以上实体间的一个多元联系转换为一个关系模式同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理具有相同码的关系模式可合并二、数据模型的优化数据库逻辑设计的结果不是唯一的。为进一步提高数据库应用系统的性能,通常以规范化理论为指导,适当地修改、调整数据模型的结构,这就是数据模型的优化。数据模型的优化步骤如下确定数据依赖对各个关系模式中的数据依赖进行极小化处理,消除冗余的联系按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。改善数据库性能

三、设计外模式

前面根据用户需求设计了局部应用视图,它只是概念模型,用E-R图表示。在将概念模型转换为逻辑模型后,即生成了整个应用系统的模式后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。第5节物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。数据库的物理结构设计就是为给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。一、确定数据库的存储结构常用的存储结构有:索引存储、哈希存储1.索引存储建立索引存储就是根据应用需要,确定对关系的哪些属性列建立索引、哪些索引要设计为唯一索引。

2.哈希存储二、确定数据的存放位置为了提高系统性能,应该根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。三、确定系统配置DBMS一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。初始情况下,系统都为这些变量赋予了合理的缺省值。但是这些值不一定适合每一种应用环境,在实际应用时,可重新对这些变量赋值,以改善系统的性能。四、评价物理结构数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。第6节数据库实施数据库实施主要包括以下工作:①定义数据库结构。②组织数据入库。一、定义数据库结构确定了数据库的逻辑结构与物理结构后,就可以用所选用的DBMS提供的数据定义语言来严格描述数据库结构。数据库结构主要包括表、索引、存储过程。二、数据装载数据库结构建好后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。对于数据量不是很大的小型系统,可以用人工方法完成数据的入库。第7节应用程序开发应用程序开发从需求分析阶段起就开始了,与数据库设计各阶段并行进行。在需求分析阶段进行系统功能分析,数据库逻辑设计阶段进行事务处理设计,并产生规格说明书,然后根据设计好的模式,利用数据库应用开发工具进行程序的编制与调试,实现应用程序。一、选择体系结构

常用体系结构如下:(1)客户机/服务器结构(2)浏览器/服务器结构(3)三层客户机/服务器结构二、技术选型

选择体系结构后就要明确技术选型,技术选型要从可以实现的系统体系和用户软件的购买能力上来综合进行考虑。(1)主要硬件环境(2)操作系统(3)应用系统内的各种服务器软件。(4)开发工具。(5)CASE(计算机辅助设计)软件三、模块设计

模块设计的流程是先完成业务处理流程图(分析过程),再生成功能模块结构图(设计过程),再根据模块结构图细化功能模块。1.业务处理流程图2.模块结构图3.功能模块细化4.功能模块描述5.接口程序描述四、界面设计在完成功能模块设计后,就要进行具体的界面设计了。首先,明确系统界面的风格。最好的方式是先做一个系统原型由用户审核,明确界面色调、每个位置文字的字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论