




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品课件,1,数据库系统原理与应用技术,主讲:陈漫红chmh1北京联合大学师范学院电气信息系,精品课件,2,第2章数据库系统结构,2.1现实世界的数据描述2.2概念数据模型2.3结构数据模型2.4数据库系统的组成与结构2.5本章小结,精品课件,3,21现实世界的数据描述,2.1.1数据描述2.1.2数据模型,精品课件,4,2.1.1数据描述,例如:我们可用如下信息来描述一个职工:(190002,王越,男,1981-6-25,北京市西城区二龙路12号楼3-102号wangyue)。这一行数据我们称其为一条记录,但我们很难知道其确切的含义.但如果知道这行数据的含义,就可以得到如下信息:王越的职工号是190002,性别男,1981年6月25日出生,家住北京市西城区二龙路12号楼3-102号,电邮箱为:wangyue。这种描述事物的记录称为数据.,精品课件,5,2.1.2数据模型,数据模型是对现实世界数据特征的抽象.包括以下方面的内容:(1)数据的静态特征,它包括对数据结构和数据间联系的描述。(2)数据的动态特征,一组定义在数据上的操作,包括操作的含义、操作符、运算规则及其语言等。(3)数据的完整性约束,这是一组规则,数据库中的数据必须满足这组规则。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。,精品课件,6,2.1.2数据模型,不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。(1)概念模型,也称信息模型,它是按用户的观点对数据和信息建模。(2)数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。,精品课件,7,2.1.2数据模型,数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。(1)数据结构用于描述系统的静态特性,是所研究的对象类型(objecttype)的集合。(2)数据操作描述系统的动态特性。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。(3)数据的约束条件是一组完整性规则的集合。,精品课件,8,2.2概念数据模型,2.2.1基本概念2.2.2实体-联系模型,精品课件,9,2.2.1基本概念,1.概念层模型也称为概念模型或信息模型,它从数据的应用语义的角度来抽取模型,并按用户的观点对数据和信息进行建模。这类模型主要用于数据库的设计阶段,它与具体的数据库管理系统无关。,精品课件,10,2.2.1基本概念,信息世界涉及的概念主要有:(1)实体(entity):客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。在学校:学生、课程、教师、选课、班委等;某企业集团:工厂、职工、产品等(2)属性(attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。学生的属性:学号、姓名、年龄、性别、系、专业等;产品的属性:产品编号、产品名、规格等(3)码(key):唯一标识实体的属性集称为码。,精品课件,11,(4)域(domain):属性的取值范围称为该属性的域。例如:性别属性的域为“男”或“女”(5)实体型(entitytype):具有相同属性的实体必然具有共同的特征和性质。(6)实体集(entityset):同型实体的集合称为实体集。(7)联系(relationship):在信息世界中,事物的联系反映为实体内部的联系和实体之间的联系。实体内部的联系(一元联系)两个实体间的联系(二元联系)-理解多个实体间的联系(多元联系),精品课件,12,两个实体型之间的联系可以分为三类:,一对一联系(11)如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为11。例如:观众和座位一对多联系(1n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1n。例如:工厂和职工多对多联系(mn)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系。记为mn。例如:学生和课程,精品课件,13,两个实体型之间的联系实例,工作,部门,职工,1,n,学生,课程,选课,m,n,管理,经理,部门,1,1,1:1联系,1:n联系,m:n联系,精品课件,14,练习:判断下列实体间的联系类型,班级与班长(正)班级与班委班级与学生供应商和商品商店和顾客工厂和产品出版社和作者商品和超市,1:n,m:n,m:n,1:1,1:1,精品课件,15,2.2.2实体-联系模型,实体-联系(Entity-Relationship)方法,即我们所说的E-R方法提供了表示实体型、属性和联系的方法。,基本要素的表示方法长方形实体椭圆属性菱形联系说明:在相应的框内要写上实体名、属性名或联系名。,ER图的绘制方法,精品课件,16,2.2.2实体-联系模型,精品课件,17,实例,涉及的实体及属性如下:,精品课件,18,实体间的联系如下:,精品课件,19,若实体的属性太多,如何简化ER图可在ER图中只画实体间的联系,而实体及属性用另一个图表示。,精品课件,20,机器世界中的数据描述,(1)字段标志实体属性的符号集叫字段(fields)或数据项。它是数据库中可以命名的最小逻辑数据单位,所以又叫数据元素。字段的命名应该体现出属性的具体含义。如学生表中可用Snum字段来表示学号属性,Sbirth字段来表示学生的出生年月属性等。(2)记录字段的有序集合称为记录(record)。一般用一个记录描述一个实体,所以记录又可定义为能完整地描述一个实体的符号集。例如一个学生记录由有序的字段集组成:学号、姓名、性别、出生年月、电话、系编号(3)文件同一类记录的汇集称为文件(file)。文件是描述实体集的,所以它又可定义为描述一个实体集。例如所有的学生记录组成了一个学生文件。(4)键能唯一标识文件中每个记录的字段或字段集称为键(key)。这个概念与实体的码概念是一致的。,精品课件,21,现实世界、信息世界和机器世界中,各术语的对应关系,表2-1在三个不同世界中各术语的对应关系,精品课件,22,2.3结构数据模型,2.3.1层次数据模型2.3.2网状数据模型2.3.3关系数据模型,精品课件,23,2.3.1层次数据模型,层次模型是数据库系统中最早出现的数据模型,它用树形结构表示各类实体以及实体间的联系。1、层次数据模型的数据结构(1)只有一个结点没有双亲结点,称之为根结点;(2)根以外的其他结点有且只有一个双亲结点。,精品课件,24,2.3.1层次数据模型,2、层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。,精品课件,25,2.3.1层次数据模型,3、层次数据模型的存储结构存储层次数据库不仅要存储数据本身,还要反映出数据之间的层次联系,实现方法有两种:(1)邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。,精品课件,26,3、层次数据模型的存储结构,(2)链接法:用指引元反映数据之间的层次联系,如图2-7所示。其中图2-7(a)中每个记录设两类指引元,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,这种链接方法称为子女-兄弟链接法;图2-7(b)是按树的前序穿越顺序链接各记录值,这种链接方法称为层次序列链接法。,精品课件,27,4、层次数据模型的优缺点,(1)层次数据模型的优点主要有:层次数据模型本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不次于网状模型。层次数据模型提供了良好的完整性支持。(2)层次数据模型的缺点主要有:现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法只能通过引入冗余数据或创建非自然的数据组织来解决。对插入和删除操作的限制比较多。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。,精品课件,28,2.3.2网状数据模型,1、网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称为网状数据模型:允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。如图2-8所示。其中(a)是一个简单网状结构,其记录类型之间都是1n的联系。(b)是一个复杂网状结构,学生与课程之间是mn的联系.,精品课件,29,2.3.2网状数据模型,2、网状数据模型的操纵与完整性约束网状数据模型的操纵主要包括查询、插入、删除和更新数据。由于网状模型可以直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此做更新操作时只需更新指定记录即可。查询操作可以有多种方法,可根据具体情况选用。网状数据模型没有层次模型那样严格的完整性约束条件,精品课件,30,3、网状数据模型的存储结构网状数据模型的存储结构依具体系统不同而不同,常用的方法是链接法,包括单向链接、双向链接、环状链接、向首链接等,此外还有其他实现方法,如指引元阵列法、二进制阵列法、索引法等。4、网状数据模型的优缺点(1)网状数据模型的优点主要有:能够更为直接地描述现实世界,如一个结点可以有多个双亲、允许结点之间为多对多的联系等。具有良好的性能,存取效率较高。(2)网状数据模型的缺点主要有:其DDL,DML语言极其复杂。结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。,精品课件,31,2.3.3关系数据模型,关系数据库系统采用关系模型作为数据的组织方式。1、关系数据模型的数据结构关系模型与以往的模型不同,它是建立在严格的数据概念的基础上的。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。,表2-2学生档案关系模型示例,精品课件,32,关系应具备的性质关系中每一个属性值都是不可分解的。关系中不允许出现相同的行。关系中不允许出现相同的列。关系中没有行序、没有列序。,精品课件,33,关系数据模型的数据结构,(1)关系(relation):一个关系对应通常说的表,如表2-2中的这张学生档案表;(2)元组(tuple):表中的一行即为一个元组;(3)属性(attribute):表中的一列即为一个属性;(4)主码(key):表中的某个属性组,它可以唯一确定一个元组;(5)域(domain):属性的取值范围;(6)分量:元组中的一个属性值;(7)关系模式(relationschema):对关系的描述,即为二维表的表头结构。关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。,精品课件,34,该表中有几个元组(记录)?该表中有多少个属性?第4个元组的属性值分别是多少?什么是域?年龄的域可以是多少?什么是关键字(码/键)?哪些属性可以作为该表的候选关键字?该表的主关键字(主码/主键)是什么?该表的非主属性有哪些?哪个属性可以作为外关键字(外码/外键)?,精品课件,35,2.3.3关系数据模型,2、关系数据模型的操纵与完整性约束关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。3、关系数据模型的存储结构关系数据模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件形式存储,每一个表通常对应一种文件结构。,精品课件,36,4、关系数据模型的优缺点优点:(1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。所以关系数据模型诞生以后发展迅速,深受用户的喜爱。缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此,为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。,精品课件,37,将ER图转化为关系模式/表,关系模式的含义对关系的信息结构及语义限制的描述。关系模式的表示方法用关系名和包含的属性名的集合表示。例如:学生(学号,姓名,性别,年龄,系编号)表的含义用二维表格表示的一个关系。,精品课件,38,将ER图转化为关系模式/表,1.基本概念关系模式与关系的区别关系模式是对关系结构的定义,是对关系“型”的描述。关系是二维表格,是对“值”的描述一般说来,关系模式是相对稳定、不随时间变化的。关系是随时间动态变化的,关系中的数据在不断更新。例如:在学生表中,由于学生的入学、退学和毕业等原因,学生关系是经常变化的,但其结构以及对数据的限制是不会改变的。说明:关系模式和关系往往统称为关系。,精品课件,39,将ER图转化为关系模式/表,2.转化原则(1)每个实体转换为一个关系。实体的属性就是关系的属性。实体的码作为关系的码。(2)每个联系(二元的)也转换成一个关系。与关系相连的,各个实体的码、联系的属性转换成关系的属性。关系的码如下:对于1:1的联系,每个实体的码均是该联系关系的候选码对于1:N的联系,关系的码是N端实体的码。对于M:N的联系,关系的码是诸实体码的组合。(3)有相同码的关系可以合并。,精品课件,40,二、将ER图转化为关系模式/表,3.应用举例将以下ER图转化为关系模式和表,并写出主关键字和外关键字。,精品课件,41,二、将ER图转化为关系模式/表,解答:转化为关系模式教师(教师号,姓名,性别,职称,专业)主关键字:教师号学生(学号,姓名,性别,年龄,专业)主关键字:学号课程(课程号,课程名,学时数,学分,教材)主关键字:课程号,精品课件,42,二、将ER图转化为关系模式/表,选课(学号,课程号,成绩)主关键字:学号+课程号外关键字:学号、课程号授课(教师号,课程号)主关键字:教师号+课程号外关键字:教师号、课程号指导(学号,教师号,时间,地点)主关键字:学号外关键字:教师号学生实体和指导联系可合并。解答:转化为表,精品课件,43,什么是关键字/码/键?什么是主关键字/主码/主键?ER图转化为关系模式的原则是什么?关系应具备什么性质?,答:是能用来惟一标识元组的属性或属性组合。,答:被指定为关键字的候选关键字,称为。,答:(1)每个实体转换为一个关系。(2)每个联系也转换成一个关系。(3)有相同码的关系可以合并。,答:(1)关系中每一个属性值都是不可分解的。(2)关系中不允许出现相同的行。(3)关系中不允许出现相同的列。(4)关系中没有行序、没有列序。,精品课件,44,关系的完整性规则、规范化,关系的完整性规则定义是对关系的某种约束条件。目的用于保证关系数据库中数据的正确性和可靠性。类型实体完整性规则参照完整性规则(引用完整性规则)域完整性规则(用户自定义完整性规则),精品课件,45,1.实体完整性规则,规则要求:在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。目的:用于保证数据库表中的每一个元组都是惟一的。请思考:下面的关系是否违反实体完整性规则?,精品课件,46,2.域完整性规则(用户定义完整性规则),规则要求由用户根据实际情况,定义表中属性的取值范围例如:性别只能是男和女、年龄不能为负值、成绩在0100之间等。目的用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。,精品课件,47,3.参照完整性规则(引用完整性规则),规则要求:“不引用不存在的实体”。即:不允许在一个关系中引用另一个关系中不存在的元组。目的用于确保相关联的表间的数据保持一致。,精品课件,48,请思考:下面两个关系是否违反参照完整性规则?系表(主表)学生表(从表)说明从表的“系编号(外键)”的取值只能为两种情况:若取非空值,则它必须是主表中存在的值。取空值(null)。表明尚未给学生分配专业。Null不等于0或空字符串。,精品课件,49,关系的规范化,在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。类型第一范式(1NF)第二范式(2NF)第三范式(3NF)关系规范化的概念将低级范式转换为若干个高级范式过程。,精品课件,50,第一范式(1NF),定义如果关系模式R的所有属性的值域中第一个值都是不可再分解值,则称R是属于1NF模式。第一范式是对关系的最低要求。示例:判断哪一张表是1NF?,精品课件,51,第一范式可能存在的问题:数据冗余:如各位老师的信息重复。插入异常:如果要插入刘老师的个人信息,但刘老师未开课,会造成缺关键字“学号”、“课程号”。删除异常:当要删除课程号=“C3”的元组,会丢失李老师的信息。修改量大。,精品课件,52,第二范式(2NF),定义如果关系模式R为第一范式,且R中每个非主属性完全函数依赖于R的主码(复合码),则称R为2NF模式。示例下列关系模式是1NF,是否是2NF?为什么?SCD(学号,姓名,课程号,成绩,系名,系主任)主码为复合码:学号+课程号解决方法:消除部分函数依赖。,不是。因为:“姓名、系名、系主任”与主码是部分函数依赖(即:只依赖于学号),精品课件,53,分解为2NF的方法:把关系模式中对主码完全函数依赖的非主属性与决定它们的主码放在一个关系模式中。把对主码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中。检查分解后的新模式,如果仍不是2NF,则继续按照前面的方法进行分解,直到达到要求。关系模式SCD的分解结果如下:SC(学号,课程号,成绩)SD(学号,姓名,系名,系主任),精品课件,54,第三范式(3NF),定义如果关系模式R为第二范式,且R中每个非主属性都不传递函数依赖于R的某个候选码,则称R为3NF模式。示例下列关系模式是2NF,是否为3NF?为什么?SD(学号,姓名,系名,系主任)解决方法:消除传递函数依赖。,精品课件,55,分解为3NF的方法:把直接对主码函数依赖的非主属性与决定它们的主码放在一个关系模式中。把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中。检查分解后的新模式,如果不是3NF,则继续按照前面的方法进行分解,直到达到要求。关系模式SD的分解结果如下:SD1(学号,姓名,系名)SD2(系名,系主任),精品课件,56,各范式间的关系,精品课件,57,2.4数据库系统的组成与结构,2.4.1数据库系统的组成,图2-10数据库系统的组成,精品课件,58,2.4.2三级模式结构,图2-11数据库系统的三级模式,精品课件,59,2.4.2三级模式结构,1、模式(Schema)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,也与所使用的应用开发工具无关。2、外模式(ExternalSchema)外模式也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见的和使用的局部的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。3、内模式(InternalSchema)内模式也称存储模式(StorageSchema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据库内部的表示方法。,精品课件,60,2.4.3二级映像,数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房地产开发代理合同(含景观设计)
- 2025常州二手房过户税费筹划与税务筹划合同
- 海南省儋州市2025年上半年事业单位公开遴选试题含答案分析
- 海南省澄迈县2025年上半年公开招聘村务工作者试题含答案分析
- 2025版现代服务业用地抵押担保合作协议
- 2025版实验动物中心动物实验动物饲养合同
- 贵州省织金县2025年上半年公开招聘村务工作者试题含答案分析
- 贵州省荔波县2025年上半年公开招聘村务工作者试题含答案分析
- 2025版企业员工培训与进修资助服务合同
- 2025版原材料进出口采购代理合同
- 捡土豆装车合同协议书
- DB36-T1694-2022-餐厨垃圾集约化养殖黑水虻技术规程-江西省
- 超市卫生管理规范培训
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- 2025年中国光纤通讯电缆市场调查研究报告
- 薪资抵扣协议书模板
- 泰安宏生光电科技有限公司钙钛矿零碳建筑新材料BIPV项目可行性研究报告
- 中学生心理辅导活动课教案(合集)
- 人力资源培训:招聘与面试技巧
- 委托运营合作合同协议
- 违章作业培训课件
评论
0/150
提交评论