数据库系统的分析与设计.ppt_第1页
数据库系统的分析与设计.ppt_第2页
数据库系统的分析与设计.ppt_第3页
数据库系统的分析与设计.ppt_第4页
数据库系统的分析与设计.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库技术及应用第六章 数据库系统的分析与设计,1,目录,2,6.1 数据库设计的概述 6.1.1数据库设计的任务和内容 6.1.1.1 数据库设计的任务,3,6.1.1.2 数据库设计的内容 1数据库的结构设计 2数据库的行为设计 6.1.2数据库设计的方法,4,图6-2 数据库设计的全过程,5,6.1.3数据库设计的步骤,6,图6-3 数据库执行过程,7,数据库设计的四个阶段及其任务: (1)用户需求分析:通过详细调查,充分了解原系统的工作概况,明确用户的各种需求,确定新系统的功能。(数据流程图与数据字典)。 (2)概念结构设计:根据用户需求设计数据库的概念模型(用E-R图表示)。 (3)

2、逻辑结构设计:将概念模型转换成DBMS支持的数据模型(如关系模型的二维表)。 (4)物理结构设计:在具体设备上选定合适的存储结构和存取方法。,8,6.1.4 数据库设计的工具 1. Oracle公司的Oracle Designer 2. Sybase公司的Power Designer 3. CA公司的ERwin 4北大青鸟公司的青鸟CASE工具 6.2需求分析 6.2.1需求分析的任务 6.2.2需求分析的方法,9,6.2.2.1数据流图 数据流图(Data Flow Diagram,DFD),数据流描述系统中数据流动的过程,反映的是加工处理的对象。数据流图主要成分有四种:数据流、数据存储、加

3、工、数据的源点和终点。 6.2.2.2数据字典 数据字典通常包括数据项、数据结构、数据流、数据存储和处理5个部分: 数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系 数据结构描述数据结构名,含义说明,组成:数据项和数据结构 数据流描述数据流名,含义说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量 数据存储描述数据存储名,含义说明,编号,流入的数据流,流出的数据流,组成:数据结构,数据量,存取频度,存取方式 处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明,10,11,6.3 数据库概念结构设计 6.

4、3.1概念结构设计的方法 6.3.1.1 实体联系模型 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。所以概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面还应该简单、清晰、易于用户理解。最常用的是实体联系方法(EntityRelationship Approach),该方法用E-R图来描述现实世界的概念模型,称为实体联系模型(EntityRelationship Model)简称E-R模型。 E-R模型的基本元素是:实体、联系和属性。,12,1.实体

5、 现实世界的可识别对象。 在E-R模型中,实体用矩形表示,矩形框内写明实体名。 2.属性:对象的特征单值属性、多值属性 在E-R模型中,属性用椭圆形表示,并用无向边将其与相应的实体联系起来。 3.联系 在E-R模型中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1:1,1:n或m:n)。 两个不同实体集之间存在一对一、一对多和多对多的联系类型,13,一对一联系:指实体集A中的每一个实体最多(也可没有)只与实体集B中的一个实体相联系,反之亦然,称实体集A与实体集B具有一对一联系。记为1:1。 一对多联系:如果实体集A中的每一个实体可与实体

6、集B中的多个实体相联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系。记为1:n。 多对多联系:如果对于实体集A中的每一个实体,实体集B中的多个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B具有多对多联系。记为m: n。,14,例如:图中表示两个不同实体集之间的联系。,图 两个不同实体集之间的联系,15,关键字:某一属性或属性组的值能唯一的标识一个元组,则称该属性或属性组为关键字 域:属性的取值范围。,16,E-R模型 举例,【例1.1】学校由若干个系,每个系有若干名教师和学生

7、;每个教师可以担任若干门课程,并参加多项项目;每个学生可以同时选修多门课程。请设计某学校的教学管理的E-R模型,要求给出每个实体、联系的属性。 解:某学校的教学管理的E-R模型应该有五个实体:系、教师、学生、项目、课程。,17,(1)设计各实体属性如下: 系(系号,系名,主任名) 教师(教师号,教师名,职称) 学生(学号,姓名,年龄,性别) 项目(项目号,名称,负责人) 课程(课程号,课程名,学分) (2)各实体之间的联系有:教师担任课程的1:n“任课”联系; 教师参加项目的n:m“参加”联系; 学生选修课程的n:m “选修”联系; 教师、学生与系之间的所属关系的1:n:m “领 导”联系。

8、其中“参加”联系有一个排名属性,“选修”联系有一个成绩属性。 通过上述分析,某学校的教学管理的E-R模型如图1-18所示。,举例,18,实体及其属性图,举 例,19,n,1 n,n,1 n,系,系 号,系 名,主任名,学 号,姓 名,年龄,性别,教 师,教师号,教师名,职 称,课 程,课程号,课程名,学 分,项 目,名 称,负责人,排 名,成绩,学生,图 1-18 学校教学管理E-R模型,项目号,领导,选修,参加,任 课,m,n,m,m,n,20,6.3.2概念结构设计的步骤 第一步是局部视图抽象设计 第二步是视图集成。 6.3.2.1局部视图抽象设计 常用的有三种抽象: (1)分类(Clas

9、sification) (2)概括(Generalization) (3)聚集(Aggregation),21,学生,张红,吴大伟,图6-17 分类,老师,王华,李超,老师,22,注意: (1)属性不能再有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。 (2)属性不能与其他实体具有联系。联系只发生在实体之间。 设计分图的步骤 : 1.选择局部应用 2.逐一设计图,23,1选择局部应用 根据应用系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点。 往往以中层数据流图作为设计分E-R图的依据(如图所示)。,24,25,2逐一设计分E-R图

10、 选择好局部应用之后,就要对每个局部应用逐一设计分E-R图。 在现实世界中具体的应用环境常常对实体和属性已经作了大体的自然的划分。在系统分析阶段得到的“数据存储”、数据字典中的“数据结构”和“数据流”都是若干属性有意义的聚合,就体现了这种划分。可以先从这些内容出发定义E-R图。 为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。,26,27,28,图 处理订单,29,图 开发票,30,图 支付过账,31,分析数据流图和数据字典,知道整个系统功能围绕了“订单”和“应收账款”的处理。数据结构中订单、顾客、顾客应收账目用得最多,它们是许多子功能和数据流共享的数据,因此先设计该

11、分E-R图的草图。,32,33,图中在订单实体与产品实体之间的问号“?”表示还不能确定这两个实体之间的联系类型。 然后参照第二层数据流图和数据字典中的详尽描述,遵循前面给出的两个准则,进行如下调整:,34,(1)每张订单由订单号、若干头信息和订单细节组成。订单细节又有订货的零件号、数量等来描述。按照准则(2),订单细节就不能作订单的属性处理而应该上升为实体。 (2)一张订单可以订若干产品,所以订单与订单细节两个实体之间是1n的联系。 (3)原订单和产品的联系实际上是订单细节和产品的联系。每条订货细节对应一个产品描述,订单处理时从中获得当前单价、产品重量等信息。,35,(4)“发票清单”是一个数

12、据存储,无须作为实体加入分E-R图。这里的数据存储对应手工凭证,发票上的信息在开具发票同时已及时存入应收账款中了。 (5)工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣,应增加一个“折扣规则”实体存放这些信息,而不应把它们放在产品描述实体中。 最后得到分E-R图如图所示。,36,图 销售管理子系统的分E-R图,37,对每个实体定义的属性如下: 顾客:顾客号,顾客名,地址,电话,信贷状况,账目余额 定单:订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点 定单细则:订单号,细则号,零件号,订货数,金额,38,应收账款:顾客号,订单号,发票号,应收金额,支付日期,支付金额,

13、 当前余额,货款限额 产品描述:产品号,产品名,单价,重量 折扣规则:产品号,订货量,折扣 注意:为了节省篇幅,实体与属性的关系没有用图形表示,实体的标识码用下横线划出。,39,6.3.3.2视图的集成 集成局部ER图时都需要两步: (1)合并局部ER图,消除冲突,生成初步ER图-属性冲突、命名冲突、结构冲突 1属性冲突 (1)属性域冲突。 (2)属性取值单位冲突。 2命名冲突 (1)同名异义。 (2)异名同义 3结构冲突 (2)修改与重构,生成基本图。,图6-22 视图集成,40,例1 某大学关于学生课程管理的数据库系统系统,在学校机构中有教务处和研究生院两个管理学生的部门,在设计E-R模型

14、图时,可分别设计局部的E-R模型图,如图6-24和图6-25所示。,41,图6-25 研究生院关于研究生的视图,42,43,课堂作业?,中国计量学院,作业一、画出下列题目的ER图?,图书:属性有“书名、类别、出版社、价格”;作者:属性有“身份证号、姓名、出生地”; 图书和作者的关系:写作关系“多对多”,其属性有“定稿时间”。,44,作业一讲解,图书:属性有“书名、类别、出版社、价格”; 作者:属性有“身份证号、姓名、出生地”; 图书和作者的关系:写作关系“多对多”,其属性有“定稿时间”。,n,m,45,6.4数据库逻辑设计 6.4.1逻辑结构设计的任务和步骤 概念模型向逻辑模型的转换过程通常分

15、为三步进行: (1)将概念模型转换为般的数据模型(关系、网状或层次)。 (2)将一般的数据模型转换为特定的DBMS所支持的数据模型。 (3)对数据模型进行优化。,46,ER图向关系数据模型的转换规则,规则一:一个实体转换为一个关系,实体的名字作为关系名,实体的属性作为关系的属性,实体的码就是关系的码。 规则二:实体间的联系一般对应一个关系,联系名作为关系名,不带有属性的联系可以去掉。,47,转换举例,仓库号,地点,面积,仓库,货号,品名,价格,产品,存放,1,n,仓库(仓库号,地点,面积),产品(货号,品名,价格,),数量,存放(仓库号,货号,数量),48,对于实体间的联系有以下3种不同的情况

16、:,(1)1:1联系: 可以转换为一个独立的关系,此时与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 也可以与任意一端实体对应的关系合并,此时该关系的属性中应加入另一实体的码以及联系本身的属性。,49,1:1的联系合并的例子,厂长号,姓名,年龄,厂长,厂号,厂名,地点,工厂,管理,1,1,厂长(厂长号,厂号,姓名,年龄,任期年数),工厂(厂号,厂名,地点),思考?,任期年数,50,对于实体间的联系有以下几种不同的情况:,(2)1:N联系:可以转换为一个独立的关系,此时与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实

17、体的码。 也可以与N端实体对应的关系合并。,51,课堂思考?,1:N联系的例子,仓库号,地点,面积,仓库,货号,品名,价格,产品,存放,1,n,仓库(仓库号,地点,面积),产品(货号,品名,价格,),数量,存放(仓库号,货号,数量),52,对于实体间的联系有以下几种不同的情况:,(3)n:m联系 转换为一个独立的关系,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 思考:,53,学习,n,学生(学号,姓名,年龄),课程(课程号,课程名,学时数),学习(学号,课程号,成绩),54,(4)多元联系。ER图见图6-40。在多元联系中,如果、这些基数最多只有

18、一个大于,则可以由一个实体的主键识别一个多元联系,在转换时可将联系合并在此实体的关系中。但这种情况是不多见的,因而多元联系一般转换成下面的关系模式: R1 (k,a) R2 (h,b) R3 (j,c) R4 (k,h,j,s) 这里k,h,j构成复合主键,k,h,j分别是外键。,图6-40 多元联系,55,(5)自联系:自联系表示的是同一实体类的一部分与另一部分实体之间的联系。 嵌套的转换:嵌套可以转换成联系,再由联系可转换成关系模式。,56,6.4.3数据模型的优化 关系数据模型的优化通常以关系的规范化理论为指导,其目的是适当修改和调整数据棋型的结构,减少冗余及各种异常,改善完整性、一致性

19、和存储效率,节省存储空间,方便数据库的管理。常用的方法包括规范化和分解 6.4.4外模式设计 在定义外模式时应当考虑如下问题: (1)使用更符合用户习惯的别名 (2)针对不同级别的用户定义不同的视图,以保证数据的安全 (3)简化用户对系统的使用,57,6.5数据库物理设计 数据库的物理设计通常分为以下两个步骤: 确定数据库的物理结构,在关系数据库中主要是存储结构和存储方法; 对物理结构进行评价,评价的重点是时间和空间的效率。 6.5.1 确定数据库的物理结构 1确定数据的存储结构 2设计数据的存取路径 3确定数据库的存储位置 4 确定系统配置 6.5.2 评价物理结构 (1) 查询和响应时间。响应时间是从查询开始到查询结果开始显示之间所经历的时间。一个好的应用程序设计可以减少时间和时间。 (2) 更新事务的开销。主要是修改索引、重写物理块或文件以及写校验等方面的开销。 (3) 生成报告的开销。主要包括索引、重组、排序和结果显示的开销。 (4) 主存储空间的开销。包括程序和数据所占

温馨提示

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

评论

0/150

提交评论