第2章数据库系统结构_第1页
第2章数据库系统结构_第2页
第2章数据库系统结构_第3页
第2章数据库系统结构_第4页
第2章数据库系统结构_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统原理数据库系统原理与应用技术与应用技术主讲:陈漫红主讲:陈漫红 北京联合大学师范学院北京联合大学师范学院 电气信息系电气信息系第2章 数据库系统结构 n2.1 现实世界的数据描述现实世界的数据描述 n2.2概念数据模型概念数据模型 n2.3结构数据模型结构数据模型 n2.4 数据库系统的组成与结构数据库系统的组成与结构n2.5 本章小结本章小结 21 现实世界的数据描述现实世界的数据描述 2.1.1 数据描述数据描述 2.1.2 数据模型数据模型2.1.1 数据描述数据描述n例如例如:我们可用如下信息来描述一个职工:我们可用如下信息来描述一个职工:(190002,王越,男,王越,男,

2、1981-6-25,北京市西城,北京市西城区二龙路区二龙路12号楼号楼3-102号,号)。这一行数据我们称其为一。这一行数据我们称其为一条记录,但我们很难知道其确切的含义条记录,但我们很难知道其确切的含义.n但如果知道这行数据的含义,就可以得到如下信息但如果知道这行数据的含义,就可以得到如下信息:王越的职工号是:王越的职工号是190002,性别男,性别男,1981年年6月月25日出生,家住北京市西城区二龙路日出生,家住北京市西城区二龙路12号楼号楼3-102号,电话号,电邮箱为,邮箱为:。这种描述事物的记录称为数据这种描述事物的记录称为数据.

3、 2.1.2 数据模型 n数据模型是对现实世界数据特征的抽象.包括以下方面的内容:(1)数据的静态特征,它包括对数据结构和数据间联系的描述。(2) 数据的动态特征,一组定义在数据上的操作,包括操作的含义、操作符、运算规则及其语言等。 (3) 数据的完整性约束,这是一组规则,数据库中的数据必须满足这组规则。n 数据模型应满足三方面要求:n一是能比较真实地模拟现实世界;n二是容易为人所理解;n三是便于在计算机上实现。 2.1.2 数据模型n不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。n根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。(1)概念模型,也称信

4、息模型,它是按用户的观点对数据和信息建模。(2)数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。 2.1.2 数据模型n数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。(1)数据结构n用于描述系统的静态特性,是所研究的对象类型(object type)的集合。 (2) 数据操作n 描述系统的动态特性。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。(3)数据的约束条件n 是一组完整性规则的集合。 2.2概念数据模型2.2.1基本概念基本概念2.2.2实体实体-联系模型联系模型2.2.1 基本概念基

5、本概念n1.概念层模型概念层模型也称为概念模型或信息模型,它从数据的应用语义的角度来抽取模型,并按用户的观点对数据和信息进行建模。这类模型主要用于数据库的设计阶段,它与具体的数据库管理系统无关。 2.2.1 基本概念基本概念n 信息世界涉及的概念主要有:(1)实体(entity): 客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。n在学校:学生、课程、教师、选课、班委等;n某企业集团:工厂、职工、产品等(2)属性(attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。n学生的属性:学号、姓名、年龄、性别、系、专业等;n产品

6、的属性:产品编号、产品名、规格等 (3)码(key):唯一标识实体的属性集称为码。(4)域(domain):属性的取值范围称为该属性的域。例如:性别属性的域为“男”或“女”(5)实体型(entity type):具有相同属性的实体必然具有共同的特征和性质。(6)实体集(entity set):同型实体的集合称为实体集。(7)联系(relationship):在信息世界中,事物的联系反映为实体内部的联系和实体之间的联系。n实体内部的联系(一元联系)n两个实体间的联系(二元联系)-理解n多个实体间的联系(多元联系) 两个实体型之间的联系可以分为三类:n一对一联系(1 1)如果对于实体集A中的每一个

7、实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1 1。例如:观众和座位n一对多联系(1 n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1 n。例如:工厂和职工n多对多联系(m n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系。记为m n。例如:学生和课程两个实体型之间的联系实例工

8、作部门职工1n学生课程选课mn管理经理部门111:1联系1:n联系m:n联系练习:判断下列实体间的联系类型n班级与班长(正)n班级与班委n班级与学生n供应商和商品n商店和顾客n工厂和产品n出版社和作者n商品和超市1:nm:nm:n1:11:12.2.2 实体-联系模型 实体-联系(Entity-Relationship)方法,即我们所说的E-R方法提供了表示实体型、属性和联系的方法。 n基本要素的表示方法n长方形实体n椭 圆属性n菱 形联系n说明:在相应的框内要写上实体名、属性名或联系名。nER图的绘制方法2.2.2 实体-联系模型实例n涉及的实体及属性如下:n实体间的联系如下: n若实体的属

9、性太多,如何简化ER图n可在ER图中只画实体间的联系,而实体及属性用另一个图表示。机器世界中的数据描述 n(1)字段 标志实体属性的符号集叫字段(fields)或数据项。它是数据库中可以命名的最小逻辑数据单位,所以又叫数据元素。字段的命名应该体现出属性的具体含义。如学生表中可用Snum字段来表示学号属性,Sbirth字段来表示学生的出生年月属性等。n(2)记录 字段的有序集合称为记录(record)。一般用一个记录描述一个实体,所以记录又可定义为能完整地描述一个实体的符号集。例如一个学生记录由有序的字段集组成:学号、姓名、性别、出生年月、电话、系编号n(3)文件 同一类记录的汇集称为文件(fi

10、le)。文件是描述实体集的,所以它又可定义为描述一个实体集。例如所有的学生记录组成了一个学生文件。n(4)键 能唯一标识文件中每个记录的字段或字段集称为键(key)。这个概念与实体的码概念是一致的。现实世界、信息世界和机器世界中,各术语的对应关系 表2-1 在三个不同世界中各术语的对应关系现实世界现实世界信息世界信息世界机器世界机器世界事物总体实体集文件事物个体实体记录特征属性字段事物之间的联系实体模型数据模型2.3结构数据模型n2.3.1层次数据模型层次数据模型n2.3.2网状数据模型网状数据模型 n2.3.3关系数据模型关系数据模型2.3.1 层次数据模型 n层次模型是数据库系统中最早出现

11、的数据模型,它用树形结构表示各类实体以及实体间的联系。 1、层次数据模型的数据结构(1)只有一个结点没有双亲结点,称之为根结点;(2)根以外的其他结点有且只有一个双亲结点。2.3.1 层次数据模型2、层次数据模型的操纵与完整性约束n层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。n进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。n进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。n进行更新操作时,应更新所有相应记录,以保证数据的一致性。 2.3.1 层次数据模型3、层次数据模型的存储结构 存储层次数据库不

12、仅要存储数据本身,还要反映出数据之间的层次联系,实现方法有两种: (1)邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。 a1b1c1c2b2c3c43、层次数据模型的存储结构(2)链接法:用指引元反映数据之间的层次联系,如图2-7所示。其中图2-7(a)中每个记录设两类指引元,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,这种链接方法称为子女-兄弟链接法;图2-7(b)是按树的前序穿越顺序链接各记录值,这种链接方法称为层次序列链接法。4、层次数据模型的优缺点(1 1)层次数据模型的)层次数据模型的优点主要有优点主要有: 层次数据模型

13、本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不次于网状模型。 层次数据模型提供了良好的完整性支持。(2 2)层次数据模型的)层次数据模型的缺点主要有缺点主要有: 现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法只能通过引入冗余数据或创建非自然的数据组织来解决。对插入和删除操作的限制比较多。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。 2.3.2 网状数据模型网状数据模型1、网状数据模型的数据结构在数据库中,把满足以下两个条件

14、的基本层次联系集合称为网状数据模型:n允许一个以上的结点无双亲;n一个结点可以有多于一个的双亲。如图2-8所示。其中(a)是一个简单网状结构,其记录类型之间都是1 n的联系。(b)是一个复杂网状结构,学生与课程之间是m n的联系. 2.3.2 网状数据模型网状数据模型2、网状数据模型的操纵与完整性约束n网状数据模型的操纵主要包括查询、插入、删除和更新数据。n由于网状模型可以直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此做更新操作时只需更新指定记录即可。n查询操作可以有多种方法,可根据具体情况选用。网状数据模型没有层次模型那样严格的完整性约束条件 3、网状数据模型的存储结构 网状数据

15、模型的存储结构依具体系统不同而不同,常用的方法是链接法,包括单向链接、双向链接、环状链接、向首链接等,此外还有其他实现方法,如指引元阵列法、二进制阵列法、索引法等。 4、网状数据模型的优缺点(1)网状数据模型的优点主要有: 能够更为直接地描述现实世界,如一个结点可以有多个双亲、允许结点之间为多对多的联系等。 具有良好的性能,存取效率较高。(2)网状数据模型的缺点主要有: 其DDL,DML语言极其复杂。 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。2.3.3 关系数据模型 关系数据库系统采用关系模型作为数据的组织方式。 1、关系数据模型的数据结构关系模

16、型与以往的模型不同,它是建立在严格的数据概念的基础上的。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。 表表2-2 学生档案关系模型示例学生档案关系模型示例学号姓名年龄性别所在系籍贯年级05001李明20男计算机江苏200505002张灵19女管理科学湖南200505003王鹏21男机械工程北京2005n关系应具备的性质n关系中每一个属性值都是不可分解的。n关系中不允许出现相同的行。n关系中不允许出现相同的列。n关系中没有行序、没有列序。关系数据模型的数据结构(1)关系(relation):一个关系对应通常说的表,如表2-2中的这张学生档案表;(2)元组(tuple):表中的

17、一行即为一个元组;(3)属性(attribute):表中的一列即为一个属性;(4)主码(key):表中的某个属性组,它可以唯一确定一个元组;(5)域(domain):属性的取值范围 ;(6)分量:元组中的一个属性值;(7)关系模式(relation schema):对关系的描述,即为二维表的表头结构。 关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。 u该表中有几个元组(记录)?u该表中有多少个属性?第4个元组的属性值分别是多少?u什么是域?年龄的域可以是多少?u什么是关

18、键字(码/键)?哪些属性可以作为该表的候选关键字?该表的主关键字(主码/主键)是什么?该表的非主属性有哪些?哪个属性可以作为外关键字(外码/外键)?学号姓名性别年龄系编号0901101马力刚男21010902102王萍华女20020903223王平男21030904103张华男22040905301李萍女19052.3.3 关系数据模型 2、关系数据模型的操纵与完整性约束 n关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。 3、关系数据模型的存储结构n关系数据模型中,实体及实体

19、间的联系都用表来表示。在数据库的物理组织中,表以文件形式存储,每一个表通常对应一种文件结构。4、关系数据模型的优缺点n优点:(1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。所以关系数据模型诞生以后发展迅速,深受用户的喜爱。n缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此,为了提高性能,必须对用

20、户的查询请求进行优化,增加了开发数据库管理系统的负担。 将ER图转化为关系模式/表n关系模式的含义n对关系的信息结构及语义限制的描述。n关系模式的表示方法n用关系名和包含的属性名的集合表示。n例如:学生(学号,姓名,性别,年龄,系编号)n表的含义n用二维表格表示的一个关系。将ER图转化为关系模式/表n1. 基本概念n关系模式与关系的区别v关系模式是对关系结构的定义,是对关系“型”的描述。关系是二维表格,是对“值”的描述v一般说来,关系模式是相对稳定、不随时间变化的。关系是随时间动态变化的,关系中的数据在不断更新。n例如:在学生表中,由于学生的入学、退学和毕业等原因,学生关系是经常变化的,但其结

21、构以及对数据的限制是不会改变的。 说明:关系模式和关系往往统称为关系。将ER图转化为关系模式/表n2. 转化原则(1)每个实体转换为一个关系。n实体的属性就是关系的属性。n实体的码作为关系的码。(2)每个联系(二元的)也转换成一个关系。n与关系相连的,各个实体的码、联系的属性转换成关系的属性。n关系的码如下:n对于1:1的联系,每个实体的码均是该联系关系的候选码n对于1:N的联系,关系的码是N端实体的码。n对于M:N的联系,关系的码是诸实体码的组合。(3)有相同码的关系可以合并。二、将ER图转化为关系模式/表n3. 应用举例将以下ER图转化为关系模式和表,并写出主关键字和外关键字。二、将ER图

22、转化为关系模式/表解答:转化为关系模式教师(教师号,姓名,性别,职称,专业)n主关键字:教师号n学生(学号,姓名,性别,年龄,专业) n主关键字:学号n课程(课程号,课程名,学时数,学分,教材) n主关键字:课程号二、将ER图转化为关系模式/表n选课(学号,课程号,成绩)n主关键字:学号+课程号 外关键字:学号、课程号n授课(教师号,课程号)n主关键字:教师号+课程号 外关键字:教师号、课程号n指导(学号,教师号,时间,地点)n主关键字:学号 外关键字:教师号 n学生实体和指导联系可合并。解答:转化为表n什么是关键字/码/键?n什么是主关键字/主码/主键?nER图转化为关系模式的原则是什么?n

23、关系应具备什么性质?答:是能用来惟一标识元组的属性或属性组合。答:被指定为关键字的候选关键字,称为。答:(1)关系的完整性规则、规范化n关系的完整性规则n定义n是对关系的某种约束条件。n目的n用于保证关系数据库中数据的正确性和可靠性。n类型n实体完整性规则n参照完整性规则(引用完整性规则 )n域完整性规则(用户自定义完整性规则)是关系模型必须满足的完整性约束条件。是关系模型必须满足的完整性约束条件。1.实体完整性规则n规则要求:n在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。n目的:用于保证数据库表中的每一个元组都是惟一的。请思考:下面的关系是否违反实体完整性规则?学号姓名

24、性别年龄系编号03001马力刚男210103102王萍华女200203223王平男2103张华男220403001李萍女19052.域完整性规则(用户定义完整性规则)n规则要求n由用户根据实际情况,定义表中属性的取值范围n例如:性别只能是男和女、年龄不能为负值、成绩在0100之间等。n目的n用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。3.参照完整性规则(引用完整性规则)n规则要求:n“不引用不存在的实体”。即:不允许在一个关系中引用另一个关系中不存在的元组。n目的n用于确保相关联的表间的数据保持一致。请思考:下面两个关系是否违反参照完整性规则? 系表(主表) 学生表(从表)

25、n说明n从表的“系编号(外键)”的取值只能为两种情况:n若取非空值,则它必须是主表中存在的值。n取空值(null)。表明尚未给学生分配专业。Null不等于0或空字符串。系编号系名系主任办公室电话01计算机龚小勇205600302通信谭中华207602503电子袁勇2106018学号姓名性别年龄系编号09001马力刚男210109102王萍华女20 09223王平男2105关系的规范化n在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。n类型n第一范式(1NF)n第二范式(2NF)n第三范式(

26、3NF) n关系规范化的概念n将低级范式转换为若干个高级范式过程。第一范式(1NF)n定义n如果关系模式R的所有属性的值域中第一个值都是不可再分解值,则称R是属于1NF模式。n第一范式是对关系的最低要求。n示例:判断哪一张表是1NF?第二范式(2NF)n定义n如果关系模式R为第一范式,且R中每个非主属性完全函数依赖于R的主码(复合码),则称R为2NF模式。n示例n下列关系模式是1NF,是否是2NF?为什么?SCD(学号,姓名,课程号,成绩,系名,系主任)n主码为复合码:学号+课程号n解决方法:消除部分函数依赖。n分解为2NF的方法:n把关系模式中对主码完全函数依赖的非主属性与决定它们的主码放在

27、一个关系模式中。n把对主码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中。n检查分解后的新模式,如果仍不是2NF,则继续按照前面的方法进行分解,直到达到要求。n关系模式SCD的分解结果如下:nSC(学号,课程号,成绩)nSD(学号,姓名,系名,系主任)第三范式(3NF)n定义n如果关系模式R为第二范式,且R中每个非主属性都不传递函数依赖于R的某个候选码,则称R为3NF模式。n示例n下列关系模式是2NF,是否为3NF?为什么?SD(学号,姓名,系名,系主任)n解决方法:消除传递函数依赖。n分解为3NF的方法:n把直接对主码函数依赖的非主属性与决定它们的主码放在一个关系模式中。n把造成

28、传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中。n检查分解后的新模式,如果不是3NF,则继续按照前面的方法进行分解,直到达到要求。n关系模式SD的分解结果如下:nSD1(学号,姓名,系名)nSD2(系名,系主任)各范式间的关系2.4 数据库系统的组成与结构数据库系统的组成与结构 2.4.1 数据库系统的组成 图2-10 数据库系统的组成2.4.2 三级模式结构 图2-11 数据库系统的三级模式 2.4.2 三级模式结构1、模式(Schema)n模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,也与所使用的应用开发工具无关。2、外模式(External Schema)n 外模式也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见的和使用的局部的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。3、内模式(Internal Schema)n 内模式也称存储模式(Storage Schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据库内部的表示方法。 2.4.3 二级映

温馨提示

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

评论

0/150

提交评论