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

下载本文档

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

文档简介

2020/5/27,第3章数据库系统设计的步骤和方法,概念结构的设计数据库逻辑结构的设计数据库的物理设计,本章节是课程的最重要内容。数据库系统设计包括数据库设计和数据库应用系统设计。而数据库设计正确与否直接影响到应用系统的成败。本章要介绍数据库系统设计的基本理论和方法。主要包括:,2020/5/27,目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。内容:数据库的结构特性设计、行为特性设计和物理模式设计。其中数据库的结构设计最关键。,3.1数据库系统设计概述,3.1.1数据库系统设计的内容,2020/5/27,结构特性设计称逻辑结构特征或静态结构设计。将现实世界中的事物、事物间的联系用E-R图表示,得出数据库的概念结构模型,最后将该模型转化为数据库的逻辑结构模型表示。,1.数据库的结构特性设计,2020/5/27,确定数据库用户的行为和动作,并根据其行为特性设计出用户数据库。,2.数据库的行为特性设计,3.数据库的物理模式设计,在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,设计出数据库的存储模式和存取方法。,2020/5/27,数据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。,3.1.3数据库系统设计方法,2020/5/27,3.1.4数据库设计的基本步骤,需求分析,2020/5/27,3.2系统需求分析,主要任务是:详细调查现实世界要处理的对象(组织、部门、企业等);充分了解原系统(手工系统或计算机系统)的概况和发展前景;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;确定系统的功能。系统需求分析出的内容:要保存的数据数据处理内容数据安全性和完整性要求,2020/5/27,设计方法的自顶向下的需求分析(从全局到局部)自底向上的概念结构设计(从局部到全局),3.3概念结构的设计,3.3.1概念结构的特点及设计方法,概念模型的特点:,是对现实世界的一个真实模型容易理解容易修改容易向数据模型转换,设计方法:,2020/5/27,2020/5/27,3.3概念结构的设计,3.3.2数据抽象与局部ER设计,数据抽象是从实际的人、物、事和概念中抽取所关心的、本质的共同特性。把这些特性用各种概念精确地加以描述这些概念组成了某种模型,什么叫数据抽象?,数据抽象的三种基本方法:分类、聚集、和概括。利用数据抽象方法,可以对现实世界抽象得出概念模型的实体集和属性。,2020/5/27,(1)分类定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。,3.3概念结构的设计,3.3.2数据抽象与局部视图设计,1.三种数据抽象方法,实体集的抽象,2020/5/27,定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。,(2)聚集,属性的抽象,职工(职工号,姓名,性别,配偶),2020/5/27,定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。,(3)概括,超类与子类的抽象。,2020/5/27,2设计分E-R图,(1)选择局部应用自顶向下的需求分析,得到每一个局部应用,对每一个局部应用设计E-R图。,(2)局E-R图的设计确定局部应用中实体集和实体集之间的联系。,2020/5/27,如何确定实体集和属性?实体集与属性是相对而言的,同一事物在某个环境中是属性,在另一个环境中可能就是实体集。,确定实体集和属性的原则:(1)属性不能再具有描述特性(2)属性不能与其他实体集发生联系(3)在满足处理问题的要求前提下,尽量减少实体集,能作属性时不要作为实体集。,例如:,教学管理中:教师(职工编号,姓名,年龄,职称),工资管理中:职称(职称代号,名称,职称工资),属性不能再具有描述特性(1),属性不能再具有描述特性(2),属性不能与其他实体集发生联系,在满足处理问题的要求前提下,尽量减少实体集(1),如果有首都名就可以满足处理了,就.,在满足处理问题的要求前提下,尽量减少实体集(2),如果有职称名就可以满足处理了,就.,n1,派生属性(衍生属性),工资=基本工资+等级工资+效益工资,是否使用派生属性,取决于某一种应用处理需求,派生属性,多值属性,价格:经销、代销、批发、零售,(1)在原实体集中增加属性,使这些属性是该多值属性的组成部分,优点:没有增加新的实体集缺点:不适应处理上的变化,(2)建立一个新的实体集,原来的多值属性上升为实体集,优点:适应处理上的变化缺点:增加了新的实体集,新实体集的属性包括原实体集的主码和多值属性.与原实体集之间具有1:N联系,新实体集依赖原实体集而存在,所以新实体集是一个弱实体集.,1n,ER图设计实际例题公司管理工程管理人事管理财务管理合同管理.,该公司有若干技术部,每一技术部门承担多个工程,每个工程是部门负责制。每一个工程属于一个客户,一个客户可能有多个工程,一名员工可能参与多个工程,每一个工程有多名员工参与。,选择局部应用(1):XX公司管理-工程管理,在工程管理中数据库需保存的主要信息有:工程号、工程名、工程负责部门、完成期限、用户信息、每项工程职工的参与,职工参与工程的工作量。,局部ER图设计实际例题选择局部应用:XX公司管理-工程管理,根据处理的需要:部门需要描述吗?客户需要描述吗?员工名需要描述吗?,一名员工可能参与多个工程,每一个工程有多名员工参与。,承担工程,承担工程,N1,每一个工程属于一个客户,一个客户可能有多个工程,N1,客户,属于,实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于,该公司有多个部门,每个部门有多个职工,每一名职工属于一个部门。一名职工可能有多种技能,同一种技能有很多员工具备。,选择局部应用(2):XX公司管理-人员管理,在人员管理中数据库需保存的主要信息主要有:职工基本信息、所属部门,具备的技能与技术等。,实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级),人员管理E-R图(2),(分析方法同上),2020/5/27,1)属性域冲突,即属性值的类型、取值范围不同。假设:E-R(1)中部门号为字符型,取值范围(0-9)E-R(2)中部门编号为数字型,取值范围(0-99)2)属性取值单位冲突如职工的工作量有的以小时为单位,有的可能以天为单位属性冲突通常以讨论和协商方式解决,3.3.3视图的集成,1.合并分E-R图,生成初步E-R图,(1)属性冲突,2020/5/27,(2)命名冲突,1)同名异义冲突,即不同意义的对象在不同的局部应用中具有相同的名字。例如:房间(宿舍楼号,房间号,床位数)房间(教学楼号,教室号,座位数),2)异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。例如:E-R(1)员工与E-R(2)职工是相同意义上的对象,2020/5/27,1)同一对象在不同的应用中具有不同的抽象。部门在E-R(1)作为属性,在E-R(2)实体集2)同一实体集在不同分E-R图中的属性组成不一致.同一实体集在不同局部视图中所包含的属性不完全相同。这是常见的一类冲突:E-R(1)中员工(员工号,员工名,性别)E-R(2)中职工(职工号,职工名,性别,年龄),(3)结构冲突,2020/5/27,3)实体集之间的联系在不同的分E-R图中呈现不同的类型。例如2个实体集E1、E2在一个局部应用中是一对一的联系,而在另一个局部应用中是一对多的联系,(3)结构冲突,冲突,2020/5/27,实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级),实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于,一、命名冲突:1)员工统一为职工二、结构冲突:1)职工属性为职工号,职工名,性别,年龄2)将部门名抽象为实体集,将局部E-R图合并,实体集:客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别),联系:属于承担参与(工时)聘用具有(等级),确定局部结构范围,确定局部结构实体集,定义局部结构属性,定义局部结构联系,系统分析结果,全局E-R模型设计,有,无,E-R模型的设计步骤,2020/5/27,3.4.2概念模型向关系模型的转换,1.实体集的转换规则一个实体集转换为关系模型中的一个关系模式,实体集的属性就是关系模式的属性,从实体集码中选择一个当主码。,客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别),2020/5/27,2.实体集间联系的转换规则(1)1:1联系的转换方法1)将1:1联系转换为一个独立的关系模式,与该联系相连的各实体集的主码以及联系本身的属性均转换为该模式的属性,且每个实体集的主码均是该关系模式的码,选择一个当主码。,实体集:职工(职工号,姓名,年龄)地点(地点编号,地点名,值班电话)联系:值班(日期),值班(职工号,地点编号,日期)或值班(地点编号,职工号,日期),2020/5/27,2)将1:1联系与某一端实体集所对应的关系模式合并,在被合并关系模式中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的主码,实体集:职工(职工号,姓名,年龄)产品(产品号,产品名,价格)联系:负责,职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格),职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号),在关系数据库中,为了实现表与表之间的联系,将一个表的主码放到另一个表中(公共属性),这些在另一个表中起联系作用的属性称为外码,如果职工记录多产品记录少则有太多的空值,2020/5/27,(2)1:n联系的转换方法1)将联系转换为一个独立的关系模式。其关系的属性由与该联系相连的各实体集的主码以及联系本身的属性组成,而该关系的主码为n端实体集的主码,读者(读者号,姓名,性别)图书(图书号,书名,ISBN)借阅(日期),读者(读者号,姓名,性别)图书(图书号,书名,ISBN)借阅(图书号,读者号,日期),2020/5/27,2)将1:n联系与n端实体集所对应的关系模式合并。新属性由联系对应的1端实体集的主码和联系自身的属性构成,新增属性后原关系的主码不变。,仓库(仓库号,地点,面积)产品(产品号,产品名,价格)仓储(数量),仓库(仓库号,地点,面积)产品(产品号,产品名,价格,仓库号,数量),2020/5/27,(3)m:n联系的转换方法一个m:n联系转换为一个独立的关系模式。转换方法为:与该联系相连的各实体集的主码以及联系本身的属性均转换为关系的属性,新关系的主码为两个相连实体集主码的组合(该主码为多属性构成的组合码)。,学生(学号,姓名,年龄,性别)课程(课程号,课程名,学时数)选修(成绩),学生(学号,姓名,年龄,性别)课程(课程号,课程名,学时数)选修(学号,课程号,成绩),2020/5/27,供应商(供应商号,供应商名,地址)零件(零件号,零件名,单价)产品(产品号,产品名,型号)供应(供应商号,零件号,产品号,数量),(4)三个实体集间的多对多联系的图转换,供应商(供应商号,供应商名,地址)零件(零件号,零件名,单价)产品(产品号,产品名,型号)供应(数量),将三个以上实体集间的联系转换为一个关系模式,2020/5/27,*(7)转换中的其它问题,一种产品多个用户购买,一个用户购买多种产品,并可在同一天内重复购买。,产品(产品号,名称,单价)用户(顾客号,名称,类别)购买(日期,数量),购买(产品号,顾客号,日期,数量),购买(业务序号,日期,产品号,顾客号,数量),2020/5/27,3.关系合并规则在关系模型中具有相同主码的关系可根据情况合并为一个关系模式。,仓库(仓库号,地点,面积)产品(产品号,产品名,价格)仓储(产品号,仓库号,数量),仓库(仓库号,地点,面积)产品(产品号,产品名,价格,仓库号,数量),3.4.4数据库逻辑结构实例,实体集:客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:属于承担参与(工时)聘用具有(等级),工程(工程号,工程名,工期,客户号,部门号),1)属于工程固定的属于某个客户,职工(职工号,职工名,性别,年龄,部门号),技能(技能代号,技术名称,类别),部门(部门号,部门名,电话,负责人),具有(职工号,技能代号),参与(工程号,职工号,工时),XX公司数据库的E-R图,客户(客户号,客户名,电话),2)承担工程由部门负责经常变化吗?,3)参与构成主码?,4)具有构成主码?,5)聘用一名职工经常调动吗?,XX公司数据库的数据结构图,2020/5/27,3.4.3用户子模式的设计,主要考虑用户对数据的使用要求、习惯和安全性要求,1使用更符合用户习惯的别名2对不同级别的用户可以定义不同的子模式3简化用户对系统的使用,2020/5/27,例1查询工程承担工程号,工程名,技术部,交工日期,用户名涉及的关系:工程(工程号,工程名,工期,客户名,部门号)部门(部门号,部门名,电话,负责人),例2查询职工的工程参与工时职工名,工程名,小时涉及的关系:职工(职工号,职工名,性别,年龄,部门号)参与(工程号,职工号,工时)工程(工程号,工程名,工期,客户名,部门号),2020/5/27,3.5数据库的物理设计,数据库的物理设计是对于给定的逻辑数据模型选择一个最适合应用环境的物理结构。,什么是数据库的物理设计?,什么是数据库的物理结构?,数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。,2020/5/27,查询/更新所需要的关系查询/更新条件所涉及的属性连接条件所涉及的属性查询结果的属性名,数据库运行响应时间少存储空间利用率高事务的吞吐率大,物理设计目标是什么?,确定数据存取方法时需考虑的问题:,2020/5/27,每个事务在各关系上运行的频率和性能要求事务在时间上的处理要求,对于存取的选择有直接的影响。,2020/5/27,3.5.2关系模式存取方法的选择,如何建立索引;根据应用要求确定对关系的那些属性列建立索引及组合索引;那些建立唯一索引;建立多少索引合适。,数据库物理设计任务之一是确定数据的存取方法。,2020/5/27,1聚蔟索引存取方法,为了提高某个属性或属性组的查询速度,把这个属性或属性组按索引值顺序存放在物理地址上,这个属性和属性组称为聚蔟码。,索引的顺序与数据表的物理存储顺序一致,2020/5/27,2索引存取方法(非聚蔟索引),建立索引原

温馨提示

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

评论

0/150

提交评论