《数据库系统基础教程第4章高级数据库模型.pptx》由会员分享,可在线阅读,更多相关《数据库系统基础教程第4章高级数据库模型.pptx(69页珍藏版)》请在三一办公上搜索。
1、关系数据模型,数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。数据结构:属性、元组、关系(关系运算)、视图、索引数据操作:DDL(create/alter/drop)、DML(select/insert/delete/update)、事务、游标、存储过程数据的约束:主键、外键、check约束、触发器、断言,2023/4/26,数据库技术与应用,2023/4/26,电影数据库模式,Movies(title,year,length,genre,studioName,producerC)名称 年份 长度(分钟)流派 电影公司名称 制片证书号,MovieStar(name,address
2、,gender,birthdate)姓名 住址 性别 生日,StarsIn(movieTitle,movieYear,starName)影片名称 年份 主演姓名,MovieExec(name,address,cert,netWorth)制片人姓名 住址 制片证书号 净资产,Studio(name,address,presC)电影公司名称 地址 老总证书号,教材中使用的电影数据库模式:,如何来设计数据库,一个新数据库建立过程是从设计阶段开始,提出并回答存储什么信息,信息元素之间如何关联,假定有什么样的约束,诸如键或者参考的完整性,等等。,2023/4/26,第四章,第三章,2023/4/26,第
3、四章 高级数据库模型,学习目标,学习E-R模型掌握E-R图的画法掌握数据库设计的基本原则、方法和步骤能根据要求,完成数据库模式的设计,2023/4/26,数据库技术与应用,2023/4/26,为什么需要设计数据库,修建茅屋需要设计吗?,修建大厦需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库,2023/4/26,为什么需要设计数据库,良好的数据库设计:节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发,糟糕的数据库设计:数据冗余、存储空间浪费内存空间浪费数据更新和插入的异常,2023/4/26,数据库设计的基本步骤,数据库设计分为以下六个阶段:需求分析概念结构设计逻辑结
4、构设计物理设计数据库实施数据库运行和维护,2023/4/26,需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施,运行维护,数据库设计的六个阶段,是整个数据库设计的关键。通过对用户需求进行综合、归纳与抽象,形成概念模型,准确了解与分析用户需求(包括数据与处理),将概念结构转换为某个DBMS所支持的数据模型,对其进行优化,为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果:建立数据库、编制与调试应用程序、组织数据入库、并进行试运行,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。,2
5、023/4/26,一、需求分析,需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用,2023/4/26,6.2.1 需求分析的任务,需求分析的任务是:是对数据库应用系统所要处理的对象进行全面了解,大量收集用来实现系统目标的各类基本数据以及用户对数据库信息的需求、对基本数据进行加工处理的需求、对数据库安全性和完整性的需求。,调查分析用户活动,收集和分析需求数据,确定系统边界,编写系统分析报告,2023/4/26,数据库技术与应用,6.2.2 需求分析的方法,调查数据库应用系统所涉及
6、用户的各部门的组成情况、各部门的职责、各部门的业务及其流程,确定系统功能范围,明确哪些业务活动的工作由计算机完成,哪些由人工来做。了解用户对数据库应用系统的各种要求,包括信息要求、处理要求、安全性和完整性要求。如各个部门输入和使用什么数据,如何加工处理这些数据,处理后的数据的输出内容、格式及发布的对象等。深入分析用户的各种需求,并用数据流图描述整个系统的数据流向和对数据进行处理的过程,描述数据与处理之间的联系。分析系统数据,用数据字典描述数据流图中涉及的各数据项、数据结构、数据流、数据存储和处理过程。,2023/4/26,数据库技术与应用,1.调查用户需求的步骤,调查组织机构情况 了解组织部门
7、的组成情况、各部门的职责等 调查各部门的业务活动情况 各个部门输入和使用什么数据、如何加工处理这些数据、输出什么信息、输出到什么部门、输出结果的格式是什么 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。信息要求、处理要求、完全性与完整性要求 对前面调查的结果进行初步分析确定新系统的边界确定哪些功能由计算机完成或将来准备让计算机完成确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。,2023/4/26,2.调查方法,常用调查方法跟班作业开调查会请专人介绍询问设计调查表请用户填写查阅记录,2023/4/26,3、进一步分析和表达用户需求,分析和表达用户的需求的常用方法结
8、构化分析方法(Structured Analysis,简称SA方法)SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统,并用数据流图和数据字典描述系统。,2023/4/26,【例】学生选课信息管理系统,需求功能如下:数据库系统中存储有学生信息、课程信息、教师信息等数据;能够输入、修改、查询相关信息,如查询学生信息、课程信息、教师信息等;能够查看和修改学生选择了哪些课程及其成绩;能够查看和修改教师教授哪些课程及具体上课地点;根据不同的条件对学生选修课程情况进行统计。,2023/4/26,6.2.3 数据字典,数据字典是通过对系统需求的调查研究,并且进行详细的数据收集和数据分
9、析所获得的主要成果。因此,数据字典是数据库设计的基础和依据,并且在整个数据库设计中占有非常重要的地位。在需求分析阶段,数据字典通常包含以下五部分内容:,数据项,数据结构,数据流,数据存储,处理过程,*数据项是数据的最小组成单位*若干个数据项可以组成一个数据结构*数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。,2023/4/26,【例】以学生选课为例简要说明如何定义数据字典,数据项:以“学号”为例 数据项名:学号 数据项含义:唯一标识每个学生 别名:学生编号 数据类型:字符型,数据结构:以“学生”为例 数据结构名:学生 含义说明:定义了一个学生的有关信息 组成:学号、姓名
10、、性别、年龄、专业 数据流:以“选课信息”为例,数据存储:以“学生选课”为例 数据存储名:学生选课表 说明:记录学生所选课程的成绩 组成:学号、课程号、成绩,2023/4/26,二、概念结构设计,需求分析阶段描述的用户应用需求是现实世界的具体需求。将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。,需求分析,概念模型,认识抽象,2023/4/26,概念模型的特点,语义表达能力丰富,易于交流和理解,易于修改和扩充,易于向各种数据模型转换,E-R模型是最著名、最实用的一种是概念模型,实体,客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系
11、。例如,一个学生 一名教师 一门课程 一本书,属性,描述实体的特性称为属性。一个实体可以由若干个属性来刻画,例如:一个学生实体有学号、姓名、性别、出生日期、班级等方面的属性。属性的具体取值称为属性值。例如:某一个男学生实体的“性别”属性的属性值应是“男”。,实体集,同类型实体的集合称为实体集。例如,对于“学生”实体来说,全体学生就是一个实体集;对于“课程”实体来说,学校开设的所有课程也是一个实体集。,实体之间的联系,实体之间的联系是指两个不同实体集之间的联系。一共有3种类型:一对一联系(1:1)实体集A中的一个实体最多与实体集B中的一个实体相对应,反之亦然。例如:班级和班长两个实体集,一个班级
12、只有一位班长,而一个班长也只能管理一个班级。,实体之间的联系,一对多联系(1:n)对于实体集A中的一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中最多只有一个实体与之对应。例如,班级和学生两个实体集,一个班级可以有多个学生,而一个学生只能属于一个班级。多对多联系(m:n)对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应。例如,学生和课程两个实体集,一个学生可以选修多门课程,而一门课程可以被多名学生选修。,E-R图,E-R(Entity-Relationship,实体-联系)图是描述实体
13、及实体之间的联系的一种方法。(1)实体:用矩形表示(2)属性:用椭圆表示(3)联系:用菱形表示,4.1.7 多路联系,有时,我们需要描述多于两个实体集之间的联系,通常采用多路联系。多路联系是由联系菱形到它所涉及的每个实体集的连线表示。,4.1.7 多路联系,Contracts是一个多路联系(三路联系)。这个联系可以用一个三元组表示(studio,star,movie),4.1.8 联系中的角色,角色:实体集合联系之间的边,4.1.11 E/R模型中的子类,子类=特例实体例如:Cartoons 是movies的一种。并不是所有的movie 都是cartoon,但有一部分是。Cartoons除了具
14、有movies共同的属性和联系外,还有一个额外的联系是voices,它给出了不演定影的配音影星的集合。,Isa联系连接实体集和它的子类。用三角形表示,边与子类相连,与此边相对的一角与父类相连。,2023/4/26,概念结构设计的方法与步骤,概念结构设计的方法 自顶向下 自底向上 逐步扩张 混合策略,局部E-R模型,全局E-R模型,抽象,集成,2023/4/26,需求分析,DFD,DD,数据抽象,局部视图设计,视图集成,逻辑结构设计,局部E-R图,全局E-R图,征求用户意见,假设教学管理规定:一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一
15、门课,仅有一个成绩。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;,【例】以“学生选课信息管理系统”为例进行概念结构设计,2023/4/26,学生选课信息管理系统中包含三个实体:学生、课程、教师。教师讲授课程,学生选修课程并得到课程分数。,2023/4/26,2023/4/26,全局ER图,学生,教师,课程,教授,选课,n,m,学号,姓名,性别,年龄,系别,课程编号,课程名,课时,学分,教师编号,教师姓名,性别,年龄,职称,教室,成绩,练一练:,某房地产交易系统中有三个实体集:客户、业务员和合同。已知各实体的属性有:客户:客户编号、购房地址业务员:员工号、姓名、年龄合
16、同:客户编号、员工号 一个业务员可以“接待”多位客户并“签订”多份合同;一个客户只“签订”一份合同。要求:画出客户、业务员和合同三者关系E-R图,在图中画出实体的属性并注明联系的类型。,2023/4/26,2023/4/26,2023/4/26,三、逻辑结构设计,逻辑设计主要是把概念模式转换成DBMS能处理的模式。由于DBMS一般采用关系模型,因此数据库的逻辑设计,就是将概念设计中所得到的E-R图转换成等价的关系模式。,需求分析,概念模型,认识抽象,概念模型,转换,2023/4/26,1)将概念结构转化为一般的关系、网状、层次模型2)将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型
17、转换3)对数据模型进行优化,逻辑结构设计的步骤,2023/4/26,关系模型的设计,1)E-R图向关系模型的转换2)数据模型的优化3)设计用户子模式,2023/4/26,1)E-R图向关系模型的转换,转换内容将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。转换要解决的问题如何将实体型和实体间的联系转换为关系模式;如何确定这些关系模式的属性和码。,2023/4/26,转换规则,将每个实体转换成一个关系模式。关系的属性:实体型的属性 关系的码:实体型的码,规则1:实体型的转换,规则2:联系的转换,2023/4/26,(1)一个m:n联系转换为一个关系模式。关系的属性:与
18、该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合 例,“选课”联系是一个m:n联系,可以将它转换为如下关系模式:选修(学号,课程号,成绩),2023/4/26,(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,2023/4/26,(3)一个1:1联系可以转换为一个独立的关系模式,也可以与
19、任意一端对应的关系模式合并。转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码与某一端对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变,2023/4/26,(4)三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合,(5)具有相同码的关系模式可合并。目的:减少系统中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的
20、次序。,2023/4/26,【例】将“学生选课管理信息系统”的E-R图转换为关系模式,并用下划线标注主键。,学生(学号,姓名,性别,年龄,专业)教师(教工号,姓名,性别,年龄)课程(课程号,课程名,学时,学分)选课(学号,课程号,分数)讲授(教工号,课程号,教室),2023/4/26,2)数据模型的优化,数据模型的优化 得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。关系模型优化的理论指导 通常以规范化理论为指导。,2023/4/26,优化数据模型的方法,确定数据依赖。根据需求分析阶段所得到的语义,确定各关系模式属性之间的数据依
21、赖,以及不同关系模式属性间的数据依赖。对各关系模式之间的数据依赖进行最小化处理,消除冗余的联系。确定各关系模式属于几范式,并根据需求分析阶段的处理要求确定是否要对它们进行合并或分解。对关系模式进行必要的调整,以提高数据操作的效率和存储空间的利用率。,2023/4/26,3)设计用户子模式,定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:(1)使用更符合用户习惯的别名(2)针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。(3)简化用户对系统的使用,定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。,2023/4/26,四、数据库的物理设计,数据库的
22、物理结构 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。数据库的物理设计 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。,2023/4/26,数据库物理设计的步骤(1)确定数据库的物理结构(2)对物理结构进行评价,评价的重点是时间和空间效率。,2023/4/26,【例】设计“学生选课信息管理系统”,使用Access作为数据库管理系统,建立“学生选课”数据库,并在其中建立以下五个表(其中有下划线的属性代表主键),学生表,教师表,2023/4/26,课程表,选课表,讲授表,2023/4/26,五、数据库的实施和维护
23、,数据库实施的工作内容定义数据库结构组织数据入库编制与调试应用程序数据库试运行,2023/4/26,定义数据库结构,用所选用的DBMS提供的数据定义语言(DDL)来严格描述数据库结构。例:用SQL语句如下定义表结构:CREATE TABLE 学生(学号 CHAR(8),);,2023/4/26,组织数据入库,对数据量不大的小型系统(人工数据数据)主要工作:筛选数据;转换数据格式;输入数据;校验数据。,对大中型系统(计算机辅助数据入库)做法:设计一个数据输入子系统主要工作:筛选数据;输入数据;校验数据;转换数据;综合数据。,2023/4/26,编制与调试应用程序,数据库应用程序的设计应该与数据设
24、计并行进行。在数据库实施阶段,当数据库结构建立好后,就可以开始编制与调试数据库的应用程序。调试应用程序时由于数据入库尚未完成,可先使用模拟数据。,2023/4/26,数据库试运行,应用程序调试完成,并且已有一小部分数据入库后,就可以开始数据库的试运行。数据库试运行也称为联合调试,其主要工作包括:1)功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。2)性能测试:测量系统的性能指标,分析是否符合设计目标。,2023/4/26,数据库的运行和维护,应用环境在不断变化数据库运行过程中物理存储会不断变化 对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作
25、的继续和提高。,2023/4/26,在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括:数据库的转储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改进 数据库的重组织和重构造,2023/4/26,小结,数据库的设计过程需求分析概念结构设计逻辑结构设计物理设计实施运行维护设计过程中往往还会有许多反复。,课后作业:,假定某单位的图书馆数据库包括以下信息:部门的信息:部门编号、部门名称。读者的信息:读者号、姓名、性别和所在部门编号。图书的信息:书号、书名、出版社、作者、数量。其中,一个部门有多个读者,每个读者只能属于一个部门;一个读者可以借阅多本书,一本可以被多个读者借阅;因借阅生成借书日期。要求:(1)根据上述语义画出E-R图,要求在图中画出实体的属性并注明联系的类型。(2)进行关系数据库的逻辑结构设计。,2023/4/26,2023/4/26,部门(部门编号,部门名称)读者(读者号,姓名,性别,部门编号)图书(书号,书名,出版社,作者,数量)借阅(读者号,书号,借书日期),2023/4/26,
链接地址:https://www.31ppt.com/p-4540956.html