数据库技术与应用 教学课件 ppt 作者 第3章 关系数据库V1

上传人:E**** 文档编号:89543412 上传时间:2019-05-27 格式:PPTX 页数:39 大小:234.46KB
返回 下载 相关 举报
数据库技术与应用 教学课件 ppt 作者 第3章  关系数据库V1_第1页
第1页 / 共39页
数据库技术与应用 教学课件 ppt 作者 第3章  关系数据库V1_第2页
第2页 / 共39页
数据库技术与应用 教学课件 ppt 作者 第3章  关系数据库V1_第3页
第3页 / 共39页
数据库技术与应用 教学课件 ppt 作者 第3章  关系数据库V1_第4页
第4页 / 共39页
数据库技术与应用 教学课件 ppt 作者 第3章  关系数据库V1_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《数据库技术与应用 教学课件 ppt 作者 第3章 关系数据库V1》由会员分享,可在线阅读,更多相关《数据库技术与应用 教学课件 ppt 作者 第3章 关系数据库V1(39页珍藏版)》请在金锄头文库上搜索。

1、第3章 关系数据库,本章学习目标,理解关系数据结构的基本概念和性质。 了解关系模式的定义及其与关系数据库的关系。 理解并掌握关系模式的3类完整性约束。 了解关系操作的分类。 掌握并熟练的使用关系代数运算。 理解元组关系演算,了解域关系演算。,本章概述,数据模型是数据库管理系统的核心,任何一个数据库管理系统都是建立在某种数据模型之上的。在数据库系统传统的三种逻辑数据模型中,层次模型和网状模型由于在理论上不够完备,实现效率较低,所以基于这两种模型的数据库系统已逐渐被关系模型的数据库系统所取代。关系模型已成为当今DBMS所支持的主流数据模型。 关系数据库采用关系数据模型作为数据组织方式,采用数学方法

2、来处理数据库中的数据。本章首先详细介绍关系模型的有关概念,然后介绍关系代数、关系演算的各种运算及相应的查询语言。,主要内容,3.1 关系模型的基本概念,3.3 关系操作,3.4 关系代数,3.2 关系的完整性,3.5 关系演算,主要内容,3.1 关系模型的基本概念,15.3 概念数据模型设计,15.4 物理数据模型设计,15.2 PowerDesigner的安装,3.3 关系操作,3.4 关系代数,3.2 关系的完整性,3.5 关系演算,3.1 关系模型的基本概念,PowerDesigner版本较多。2008年11月,Sybase PowerDesigner 15正式上市,它是一款企业级一体化

3、的建模和设计解决方案,可快速、稳定地构建和简化业务流程。本章主要介绍PowerDesigner 15.1。,按照数据模型的三要素,下面我们主要从关系数据结构、关系操作和关系完整性约束这三个方面详细介绍关系模型。,3.1.1 关系数据结构,关系是集合论的一个概念,也是关系模型的数据结构,它只包含单一的数据结构关系。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,一个关系就是一张二维表,这种简单的数据结构能够表达丰富的语义。,3.1 关系模型的基本概念,1. 域(domain) 定义3.1 域是一组具有相同数据类型的值的集合(用D表示)。域中所包含值的个数称为域的基数(

4、用m表示)。 例如,自然数集合、整数集合、实数集合、长度小于等于20的字符串的集合、0,1,2集合以及0到60的所有自然数集合都是域。,3.1 关系模型的基本概念,2. 笛卡尔积(Cartesian Product) 笛卡尔积表示域上面的一种集合运算。 定义3.2 给定一组域D1,D2,Dn,这些域可以是部分或全部相同的域。D1,D2,Dn的笛卡尔积为 D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n 其中每一个元素(d1,d2,dn)叫做一个n元组或简称元组。 元素中的每一个值di叫做一个分量。 这些域中可以存在相同的域,例如D1,D2可以是相同的域。,3.1 关系模型的基本概念

5、,3. 关系(Relation) 定义3.3 D1D2Dn的子集叫做域D1,D2,Dn上的关系,表示为 R(D1,D2,Dn) 这里R表示关系的名字,n是关系的目或度。当n=1时,称该关系为单元关系,或一元关系;当n=2时,称该关系为二元关系。 关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每一行对应关系的一个元组,表的每一列对应于关系的一个域。由于域可以相同,为了加以区别,必须给每列起一个名字,称为属性。n目关系必有n个属性。,3.1 关系模型的基本概念,4. 关系的码(key) 码有时也称为标识符,是关系模型中的一个重要概念。 若关系中的某一属性组的值能唯一的标识一个元组,则称该属

6、性组为候选码。若一个关系有多个候选码,则选定其中一个为主码。 候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。 在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码(All-Key)。 如果关系模式R中的某属性集是另一个关系模式S的主码,则该属性集为关系模式R的外码。外码主要用来表示关系之间的联系。,3.1 关系模型的基本概念,关系模式是关系的框架,也称为关系的型,相当于表记录的格式。关系数据库中,关系模式是型,关系是值。关系模式是关系的描述,它可以确定这个关系的二维表的形式。严格的讲,它应该是一个五元组。 定

7、义3.4 关系的描述称为关系模式。它可以形式化地表示为 R(U,D,DOM,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。 关系模式通常被简写为 R(U)或R(A1,A2,An) 其中,R为关系名,U为属性名的集合A1,A2,An。而域名及属性向域的映像常常直接说明为属性的类型、长度。,3.1.2 关系模式,主要内容,3.1 关系模型的基本概念,15.3 概念数据模型设计,15.4 物理数据模型设计,15.2 PowerDesigner的安装,3.3 关系操作,3.4 关系代数,3.2 关系的完整性,3

8、.5 关系演算,3.2 关系的完整性,1. 实体完整性(Entity Integrity) 规则3.1 实体完整性规则 若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。 所谓空值(null value)就是“不知道”或“不存在”的值。实体完整性强调基本关系的所有主属性都不能取空值,而不仅仅是主码不能取空值。 对于实体完整性规则,说明如下:,关系模式中有3类完整性约束:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系数据库管理系统自动支持。用户自定义的完整性是应用领域需要遵循的约束条件,

9、体现了具体应用领域中的语义约束,3.2 关系的完整性,(1) 实体完整性能够保证实体的唯一性 实体完整性规则是针对基本表而言的,由于一个基本表通常对应现实世界的一个实体集(或联系集),而现实世界中的一个实体(或一个联系)是可区分的,它在关系中以码作为实体(或联系)的标识,主属性不能取空值就能够保证实体(或联系)的唯一性。 (2) 实体完整性能够保证实体的可区分性 空值说明“不知道”或“无意义”。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这不符合现实世界的情况。,3.2 关系的完整性,2. 参照完整性(Referential Integrity) 现实世界中的实体之间

10、往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。先来看一个例子。 例3-1 “基层单位数据库”中有“职工”和“部门”两个关系,其关系模式如下,其中主码用下划线标识: 职工(职工号,姓名,工资,性别,部门号)部门(部门号,名称,领导人号) 在职工表中,部门号不是主码,但部门表中部门号为主码,则职工表中的部门号为外码,职工表为外码表。对于职工表来说,部门表为主码表。同理,在部门表中领导人号(实际为领导人的职工号)不是主码,它是非主属性,而在职工表中职工号为主码,则这时部门表中的领导人号为外码,部门表为外码表,职工表为部门表的主码表。,3.2

11、关系的完整性,规则3.2 参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R与S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值)。 或者等于S中某个元组的主码值。 例如,上述例 3-1中的职工表中“部门号”属性只能取下面两类值:空值,表示尚未给该职工分配部门,非空值,该值必须是部门关系中某个元组的“部门号”值。一个职工不可能分配到一个不存在的部门中,即参照关系“部门”中一定存在一个元组,它的主码值等于“职工”中的外码值。,3.2 关系的完整性,3. 用户自定义完整性(User-defined Int

12、egrity) 任何关系数据库系统都应当具备实体完整性和参照完整性。另外,由于不同的关系数据库系统有着不同的应用环境,所以它们要有不同的约束条件。 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取唯一值、某个非主属性也不能取空值(例如在例 3-1的职工关系中必须给出职工的姓名,就可以要求职工姓名不能取空值)、某个属性只能在某范围内取值(例如性别的取值只能取自“男”和“女”)等,这些都是针对具体关系提出的完整性条件。,主要内容,3.1 关系模型的基本概念,15.3 概念数据模型设计,15.4 物理数据模型设计,15.2

13、PowerDesigner的安装,3.3 关系操作,3.4 关系代数,3.2 关系的完整性,3.5 关系演算,3.3 关系操作,3.3.1 基本的关系操作 关系模型中的关系操作有查询操作和更新操作(包括插入、删除和修改)两大类。关系模型的查询表达能力很强,因此,查询操作是关系操作中最主要的部分。查询操作又可以分为选择(Select)、投影 (Project)、连接(Join)、除( Divide )、并(Union)、差(Difference)、交(Intersection)、笛卡尔积等。其中,选择、投影、并、差、笛卡尔积是5种基本操作。其它操作都可以通过基本操作来定义和导出。 关系操作有以下

14、3个明显的特点: (1) 关系操作语言一体化 关系操作语言具有数据定义、查询、更新和控制一体化的特点。关系操作语言既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。关系操作的这一特点使得关系数据库语言容易学习,使用方便。,3.3 关系操作,(2) 关系操作的方式是一次一集合方式 其它系统的操作是一次一记录方式,而关系操作的方式则是一次一集合方式,即关系操作的初始数据、中间数据和结果数据都是集合。 (3) 关系操作语言是高度非过程化的语言 关系操作语言具有强大的表达能力。例如,关系查询语言集检索、统计、排序等多项功能为一条语句,它等效于其它语言的一大段程序。用户使用关系操作语言时,只

15、需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。关系操作语言的这种高度非过程化的特点使得关系数据库的使用非常简单,关系数据库系统的设计也比较容易,这种优势是关系数据库能够被用户广泛接受和使用的主要原因。,3.3 关系操作,3.3.2 关系操作语言的种类 关系操作语言可以分为以下3类。 (1) 关系代数语言 关系代数语言是用对关系的运算来表达查询要求的语言。ISBL(Information System Base Language)为关系代数语言的代表,每一个ISBL语句都近似于一个关系代数表达式。 (2) 关系演算语言 关系演算语言是用查询

16、得到的元组应满足的谓词条件来表达查询要求的语言。关系演算语言又可以分为元组演算语言和域演算语言两种:元组演算语言的谓词变元的基本对象是元组变量,典型代表是ALPHA语言;域演算语言的谓词变元的基本对象是域变量,典型代表是QBL(Query By Example)语言。,3.3 关系操作,(3) 基于映像的语言 基于映像的语言是具有关系代数和关系演算双重特点的语言。SQL(Structure Query Language)是基于映像的语言。SQL包括数据定义、数据操作和数据控制三种功能。具有语言简洁,易学易用的特点,它是关系数据库的标准语言和主流语言。,主要内容,3.1 关系模型的基本概念,15.3 概念数据模型设计,15.4 物理数据模型设计,15.2 PowerDesigner的安装,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号