五门基础或专业课程的教学2016数据库系统原理db-chapter_第1页
五门基础或专业课程的教学2016数据库系统原理db-chapter_第2页
五门基础或专业课程的教学2016数据库系统原理db-chapter_第3页
五门基础或专业课程的教学2016数据库系统原理db-chapter_第4页
五门基础或专业课程的教学2016数据库系统原理db-chapter_第5页
已阅读5页,还剩51页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

数据库系统原理主讲:杨艳2023/3/2HD-ITR2第二篇设计篇2023/3/2HD-ITR3设计篇第四章数据库设计概述与需求分析第五章概念数据库设计第六章逻辑数据库设计第七章物理数据库设计第五章概念数据库设计2023/3/2HD-ITR45.1概述5.2实体联系模型5.3概念设计的方法与策略5.4视图综合设计方法5.5事务的设计5.1概述第五章概念数据库设计2023/3/2HD-ITR5概念数据库设计的任务包括两方面:概念数据库模式设计事务设计5.1概述2023/3/2HD-ITR6事务设计的任务考察需求分析阶段提出的数据库操作任务,形成数据库事务的高级说明。概念数据库模式设计的任务以需求分析阶段所识别的数据项和应用领域的未来改变信息为基础,使用高级数据模型建立概念数据库模式。5.1概述2023/3/2HD-ITR7概念数据库模式设计的目标(1)准确描述应用领域的信息模式,支持用户的各种应用;(2)既易于转换为逻辑数据库模式,又容易为用户理解。5.1概述2023/3/2HD-ITR8概念数据库模式独立于任何数据库管理系统,不能直接用于数据库的实现。用于概念数据库设计的高级数据模型:实体联系模型

5.1概述2023/3/2HD-ITR95.1概述5.2实体联系模型5.3概念设计的方法与策略5.4视图综合设计方法5.5事务的设计5.2实体联系模型第五章概念数据库设计2023/3/2HD-ITR10基本概念实体联系模型、ER模型实体、实体型实体的属性、实体的属性值、复合属性、单值属性、多值属性、导出属性、空值键、简单键、复合键实体间的联系实体对应约束(1:1、1:n、m:n)、实体关联约束(全域关联约束、部分关联约束)弱实体型、弱实体、识别实体型、识别联系弱实体型的部分键ER图5.2实体联系模型2023/3/2HD-ITR11基本概念实体联系模型简称ER模型(entity-relationshipmodel)。实体是ER模型的基本对象。实体是现实世界中各种事物的抽象。实体可以是物理存在的事物,如人、汽车;也可以是抽象的概念,如学校、课程。每个实体都有一组特征或性质,称为实体的属性。实体属性的一组特定值确定了一个特定的实体。实体的属性值是数据库中存储的主要数据。例如,教师实体具有名字、地址、性别等属性。5.2实体联系模型2023/3/2HD-ITR12基本概念实体例子5.2实体联系模型2023/3/2HD-ITR13基本概念实体的某些属性可以划分为多个具有独立意义的子属性。我们称这类属性为复合属性。复合属性具有层次结构。5.2实体联系模型2023/3/2HD-ITR14基本概念多数实体属性都是单值属性,即对于同一个实体只能取一个值。例如,同一个人只能具有一个年龄,所以人的年龄属性是一个单值属性。但是,在某些情况下,实体的一些属性可能取多个值。这样的属性称为多值属性。例如:职务、联系方式等5.2实体联系模型2023/3/2HD-ITR15基本概念导出属性从当前日期和生日属性的值可以确定年龄属性的值,即年龄属性的值可以由其他属性导出。我们称这样的属性为导出属性。导出属性的值不仅可以从另外的属性导出,也可以从有关的实体导出。例如,一个公司实体的雇员数属性的值可以通过累计该公司所有雇员数得到。空值在某些情况下,实体的有些属性可能没有适当值可设置。这些属性通常被设置一个称为空值的特殊值。例如,一个未获得任何学位的人的学位属性只能被设置为空值。5.2实体联系模型2023/3/2HD-ITR16基本概念把类似的实体抽象为一个实体型。实体型是一个具有相同属性的实体集合,由一个实体型名字和一组属性来定义。实体型的定义称为实体模式,描述了一组实体的公共结构。实体型所表示的实体集合中的任一实体称为该实体型的实例,简称实体。在任意时刻,一个实体型的所有实体的集合称为该实体型的外延。同一个实体型的不同实体是现实世界中不同的对象。5.2实体联系模型2023/3/2HD-ITR17基本概念在ER模型中每个实体型具有一个由一个或多个属性组成的键,用来区别不同的实体。例如,由于不同大学不能具有相同的名字,大学实体型的名字属性是键。由一个属性构成的键称为简单键。由多个属性构成的键称为复合键。在不引起混淆的情况下,统称它们为键。键是实体型的一个重要完整性约束,规定了不同的实体在键上不能取相同的值。一个实体型可以具有多个键。例如,实体型人的姓名和生日属性是一个键,而身份证号属性是另一个键。5.2实体联系模型2023/3/2HD-ITR18基本概念数据库实例:大学数据库大学有许多系组成。每个系具有系名、编号和一个系主任。一个系可分布在不同楼内。每个系有多个教研室。每个教研室具有名字、编号、唯一一个办公室。每个教师具有名字、身份证号、地址、工资、性别、生日、讲授课程、所属教研室。每个学生的信息包括名字、性别、生日、所属系和年级。每门课程的信息包括课程名、所属系、学时数、地点、内容简介。5.2实体联系模型2023/3/2HD-ITR19基本概念一个数据库通常都包含很多实体型。不同实体型的实体之间可能具有某种联系。我们称这种联系为实体间的联系。5.2实体联系模型2023/3/2HD-ITR20基本概念

联系型设E1、E2、...、En是实体型。E1、E2、...、En之间的联系型R定义为RE1×E2×...×En。称E1、E2、...、En是由联系R所关联的实体型。每个(e1,e2,...,en)∈R称为R的实例,简称联系实例。称e1、e2、...、en是由联系实例(e1,e2,...,en)关联的实体。例:大学数据库中具有如下一些实体联系型:教研室和系之间的实体联系型:BelongTo={(j,d)|教研室j属于系d};学生和系之间的联系型:SD={(s,d)|学生s属于系d};教师和系之间的联系型1:TD1={(t,d)|教师t是系d的教师};教师和系之间的联系型2:TD2={(t,d)|教师t是系d的主任};教师、学生和课程之间的联系型:

STC={(s,t,c)|学生s选修教师t讲授的课程c}5.2实体联系模型2023/3/2HD-ITR21基本概念称一个联系型所关联的实体型的数量为这个联系型的阶。阶为n的联系型称为n元联系型。实体之间的联系既可以使用联系型定义,也可以通过实体属性来表示。例如,可以用属性表示实体教研室和系之间的所属联系。表示方法有两种。第一种方法是用教研室实体的属性“所属系”的值来表示这个实体所属的系实体。第二种方法是在实体型系中增加一个集合属性“所辖教研室”。5.2实体联系模型2023/3/2HD-ITR22基本概念联系型通常都具有结构约束。结构约束分为两类:实体对应约束实体关联约束5.2实体联系模型2023/3/2HD-ITR23基本概念一个联系型的实体对应约束规定了该联系型所关联的实体间的对应关系。包括三种:一对一约束一对多约束多对多约束5.2实体联系模型2023/3/2HD-ITR24基本概念设联系型R关联实体型A和B。如果对于A中每个实体,B中有且仅有一个实体与之关联,则称R是一对一联系型,简记作1:1联系。如果对于A中每个实体,B中有n个实体(n≥0)与之关联,而对于B中每个实体,A中至多有一个实体与之关联,则称R是一对多联系型,简记作1:N联系。如果对于A中每个实体,B中有n个实体(n≥0)与之关联,对于B中每个实体,A中有m个实体(m≥0)实体与之关联,则称R是多对多联系型,简记作M:N联系。5.2实体联系模型2023/3/2HD-ITR25基本概念联系型举例5.2实体联系模型1:11:nM:n2023/3/2HD-ITR26基本概念实体关联约束全域关联约束如果在大学数据库中规定每个教研室必须属于一个系,则教研室实体型上有一个与联系BelongTo有关的关联约束:每个教研室实体必须出现在一个BelongTo实例中。称这类实体关联约束为全域关联约束,因为每个教研室实体都必须与某个系实体相关联。部分关联约束由于并非每个教师都是系主任,所以教师实体型上有一个与联系T_D_2有关的实体关联约束:教师实体型中仅有部分实体与系实体相关联。这种实体关联约束称为部分关联约束。5.2实体联系模型2023/3/2HD-ITR27基本概念联系型的属性例如,在大学数据库中,教师实体型和课程实体型之间有一个联系型TEACHING。则可以为TEACHING设置一个属性周学时数,表示每个教师讲授有关课程的周学时数。1:1和1:N联系型的属性可以作为一个相关实体型的属性。如果一个联系型R是关联实体型A和B的1:1联系型如果一个联系型R是关联实体型A和B的1:N联系型M:N联系型的属性最好不要移动到实体型,以避免产生多值属性。5.2实体联系模型2023/3/2HD-ITR28基本概念弱实体实际领域中经常存在一些实体型,没有自己的键。这样的实体型称为弱实体型,弱实体型的实体称为弱实体。为了区别弱实体,弱实体型需要与一般的实体型相关联。设联系型R关联弱实体型A和一般实体型B。弱实体型A的不同实体可以通过与B的有关实体相结合来加以区别。B称为弱实体型A的识别实体型。R称为弱实体型A的识别联系。识别联系型对于弱实体型必须具有全域关联约束。一个弱实体型可以具有多个识别实体型和多个识别联系。5.2实体联系模型2023/3/2HD-ITR29基本概念弱实体例:有一个实体型父亲和一个实体型孩子。弱实体型必须具有一个或多个属性,使得这些属性可以与识别实体型的键相结合形成相应弱实体型的键。这样的弱实体属性称为弱实体型的部分键。给定一个弱实体型,我们可以使用它的识别实体型的键和它的部分键识别不同的弱实体。例如,孩子名是弱实体型孩子的部分键。弱实体型可以通过在其识别实体型中增加一个多值复合属性来表示。这个多值属性由弱实体型的全部属性构成。弱实体型是否如此表示需要由数据库设计者决定。一般说来,如果一个弱实体型具有很多属性或由多个联系型关联,则不适于用复合属性代替。5.2实体联系模型2023/3/2HD-ITR30实体联系图实体联系图是表示ER模型的图形工具,简称ER图。ER图用来表示实体型和实体联系型。ER图中基本图形符号ER图举例5.2实体联系模型2023/3/2HD-ITR31ER图中基本符号5.2实体联系模型2023/3/2HD-ITR32实体联系图ER图举例:p825.2实体联系模型2023/3/2HD-ITR33实体联系图练习5.2实体联系模型2023/3/2HD-ITR345.1概述5.2实体联系模型5.3概念设计的方法与策略5.4视图综合设计方法5.5事务的设计5.3概念设计的方法与策略第五章概念数据库设计2023/3/2HD-ITR35概念数据库设计包括如下的基本步骤:①确定实体型、实体型的属性和键;②确定实体型之间的联系及其相关的约束;③形成概念数据库的ER图。5.3概念设计的方法与策略2023/3/2HD-ITR36概念设计的方法集中式设计方法第一步,合并在需求分析阶段得到的各种应用的需求。第二步,在第一步的基础上设计一个概念数据库模式,满足所有应用的要求。视图综合设计方法视图设计阶段在视图设计阶段,设计者根据每个应用的需求,独立地为每个用户和应用设计一个概念数据库模式。每个应用的概念数据库模式称为视图。视图合并阶段在视图合并阶段,设计者把所有视图有机地合并成为一个统一的概念数据库模式。这个最终的概念数据库模式支持所有的应用。5.3概念设计的方法与策略视图综合设计方法已经成为目前的重要概念设计方法2023/3/2HD-ITR37概念设计的策略自顶向下的策略自底向上的策略混合策略5.3概念设计的方法与策略2023/3/2HD-ITR38概念设计的策略自顶向下的策略从一个包含高级抽象概念结构的模式出发,对这些高级抽象概念结构逐步求精,形成最终的概念数据库模式。例如,首先建立一个包含几个较高级实体型的模式,然后逐步地把它们分解为低级的实体型和联系型。5.3概念设计的方法与策略2023/3/2HD-ITR39概念设计的策略自底向上的策略从包含基本概念结构的模式出发,逐步组合这些基本概念结构,形成最终的概念数据库模式。例如,首先说明属性,然后分组这些属性,形成实体型和联系型。5.3概念设计的方法与策略2023/3/2HD-ITR40概念设计的策略混合策略首先使用自顶向下的策略把应用需求划分为多个需求子集合;然后,对于每个需求子集合,使用自底向上的策略设计局部模式;最后,组合局部模式,形成最后的概念数据库模式。5.3概念设计的方法与策略2023/3/2HD-ITR415.1概述5.2实体联系模型

5.3概念设计的方法与策略5.4视图综合设计方法5.5事务的设计5.4视图综合设计方法第五章概念数据库设计2023/3/2HD-ITR42视图综合设计方法第一步设计局部概念模式。第二步把局部概念模式合并成一个完整的全局概念模式,即最终的概念数据库模式。5.4视图综合设计方法2023/3/2HD-ITR43视图综合设计方法局部概念模式设计

第一项任务是根据局部需求分析的结果使用上节介绍的策略,产生局部实体。第二项任务是根据局部需求分析的结果确定局部实体间的联系及其结构约束。第三项任务是深入分析局部实体之间的关系,应用演绎或归纳过程,确定局部实体间的超类/子类联系、共享子类和范畴。

5.4视图综合设计方法2023/3/2HD-ITR44视图综合设计方法全局概念模式合成

把局部模式设计中得到的一组局部模式合并为一个完整的概念模式。全局概念模式合成由四步组成

1.识别局部概念模式间的冲突命名冲突、模式结构冲突、值域冲突、约束冲突2.修改局部模式3.局部模式合并4.优化全局模式对全局模式进行深入的分析,取消重复,减少复杂性,最后建立起一个优化的全局概念模式,并给出EER图。5.4视图综合设计方法2023/3/2HD-ITR45视图综合设计方法全局模式合成方法二元阶梯合成法N元合成法平衡二元合成法混合合成法5.4视图综合设计方法2023/3/2HD-ITR465.1概述5.2实体联系模型

5.3概念设计的方法与策略5.4视图综合设计方法5.5事务的设计5.5事务的设计第五章概念数据库设计2023/3/2HD-ITR47数据库设计的目的是支持各种事务的运行。在数据库设计的过程中,需要考虑所有事务的特点和要求。这样才能保证所设计的数据库包含各种事务所需要的信息。数据库系统的重要事务常常是可以预先知道的。数据库设计应该以这些事务为依据。所以,事务的设计通常是与数据库设计同时进行的。在概念数据库设计阶段,事务设计的任务是定义事务的功能。在概念级定义事务功能的方法是说明事务的输入信息、输出信息和功能。使用这种方法,事务的定义可以独立于任何数据库管理系统。5.5事务的设计例1:某企业集团有若干工厂,每个工厂聘用多名职工,每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址;职工的属性有职工号、姓名、技术等级。画出ER图;写出关系模式。2023/3/2HD-ITR482023/3/2HD-IT

温馨提示

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

评论

0/150

提交评论