数据库ch2-关系数据库基础课件.ppt

上传人(卖家):三亚风情 文档编号:3492237 上传时间:2022-09-07 格式:PPT 页数:122 大小:2.10MB
下载 相关 举报
数据库ch2-关系数据库基础课件.ppt_第1页
第1页 / 共122页
数据库ch2-关系数据库基础课件.ppt_第2页
第2页 / 共122页
数据库ch2-关系数据库基础课件.ppt_第3页
第3页 / 共122页
数据库ch2-关系数据库基础课件.ppt_第4页
第4页 / 共122页
数据库ch2-关系数据库基础课件.ppt_第5页
第5页 / 共122页
点击查看更多>>
资源描述

1、2.1 关系模型概述关系模型概述2.2 关系模型的完整性关系模型的完整性2.3 常用的关系运算常用的关系运算2.4*关系演算与查询优化关系演算与查询优化2.5 常量、变量、函数和表达式常量、变量、函数和表达式2.6 实验二实验二 常量变量函数表达应用常量变量函数表达应用2.7 本章小结本章小结2.8 练习与实践二练习与实践二 掌握掌握关系模型及关系数据库相关概念关系模型及关系数据库相关概念掌握掌握关系模型的完整性规则及用法关系模型的完整性规则及用法运用运用常用的关系运算解决实际问题常用的关系运算解决实际问题了解关系演算和查询优化的基本方法和过程了解关系演算和查询优化的基本方法和过程掌握掌握常量

2、、变量、函数和表达式概念和用法常量、变量、函数和表达式概念和用法关系模型的基本概念关系模型的基本概念n 1.1.关系及关系模型常用概念关系及关系模型常用概念n 1 1)关系)关系。关系关系对应一个二维表,表示数据的逻辑结构,将现实对应一个二维表,表示数据的逻辑结构,将现实世界中实体及其之间的联系归结为简单的二维关系,其中表中的每世界中实体及其之间的联系归结为简单的二维关系,其中表中的每一行代表一个一行代表一个元组(记录),元组(记录),每一列代表一个每一列代表一个域(属性),域(属性),可用更可用更一般的一般的形式定义形式定义。nD D1 1D D2 2.D Dn n子集叫做子集叫做域域D D

3、1 1,D D2 2,.,D Dn n上的关系上的关系,表示,表示为为R(DR(D1 1,D D2 2,.,D Dn n),),其中其中R R表示表示关系名关系名,n n是关系的目或度。是关系的目或度。2.1关系模型概述关系模型概述 【案例案例1-1 关系模型的提出关系模型的提出。1970年年E.F.Codd在美国计算机在美国计算机学会会刊学会会刊Communications of the ACM上发表题为上发表题为“A Relational Model of Data for Shared Data Banks”的论文,首次的论文,首次系统地系统地提出了关系模型的相关理论提出了关系模型的相关

4、理论,该论文和他后续发表的多,该论文和他后续发表的多篇论文奠定了关系数据的理论基础。篇论文奠定了关系数据的理论基础。E.F.Codd也因其杰出贡献,也因其杰出贡献,于于1981年获得年获得ACM图灵奖。图灵奖。案例2-1n 2 2)元组、属性)元组、属性。在关系模型中,二维表(关系)中的行称为。在关系模型中,二维表(关系)中的行称为元组元组(或称为(或称为记录记录)。二维表的列称为)。二维表的列称为属性属性。每个属性对应表中的一个字。每个属性对应表中的一个字段,属性名也就是字段名,属性值为各行的字段值。段,属性名也就是字段名,属性值为各行的字段值。n 3 3)域)域。域(域(DomainDom

5、ain)是一组具有相同数据类型值的集合。用域表是一组具有相同数据类型值的集合。用域表示属性的取值范围示属性的取值范围,属性属性A A的域的域可用可用DOM(A)DOM(A)表示表示,每个属性对应一个域每个属性对应一个域,不同的属可以对应同一个域。不同的属可以对应同一个域。2.1关系模型概述关系模型概述 【不同域示例不同域示例。D1=1,2,3,4,5,6D1=1,2,3,4,5,6,.表示自然数表示自然数集合。集合。D2=D2=男,女男,女 表示性别集合。表示性别集合。D3=D3=星期一,星期二,星期三,星期一,星期二,星期三,星期四,星期五,星期六,星期日星期四,星期五,星期六,星期日,表示

6、一周中各天名称的集合。,表示一周中各天名称的集合。案例2-2n 4 4)关系模型关系模型。关系模型关系模型(Relation Model)是指以二维表结构表示的是指以二维表结构表示的实体关系,用实体关系,用键键表示实体间联系的数据模型表示实体间联系的数据模型,其中键唯一标识一个元组其中键唯一标识一个元组,并且键可以是单一属性或属性组合。并且键可以是单一属性或属性组合。如如学号,(学号,姓名)。学号,(学号,姓名)。n 关系模型由关系模型由关系数据结构、操作集合和完整性约束关系数据结构、操作集合和完整性约束三部分组成三部分组成。表表2-12-1学生信息表学生信息表n 5 5)元数和基数)元数和基

7、数。元数元数指关系中属性的个数。指关系中属性的个数。基数基数指元组的个数。表指元组的个数。表2-12-1的关系的元数和基数分别为的关系的元数和基数分别为6 6和和5 5。2.1关系模型概述关系模型概述 【学生信息表。学生信息表。包含以下信息:学号、姓名、性别、包含以下信息:学号、姓名、性别、专业、出生日期和家庭地址。专业、出生日期和家庭地址。表头表头表示表示关系型关系型,从第二行开始以,从第二行开始以下各都是一个关系型的下各都是一个关系型的实例实例。如表。如表2-12-1所示。所示。案例2-3n 2.2.键、主键和外键键、主键和外键n 键键也称为也称为码码,在关系中由唯一可标识元组的属性或属性

8、组构成,如在关系中由唯一可标识元组的属性或属性组构成,如学生的学号,公民的身份证号等。学生的学号,公民的身份证号等。n 1 1)候选键)候选键-超键。超键。若关系表中的某一属性或属性组合的值可唯一确若关系表中的某一属性或属性组合的值可唯一确定一个元组定一个元组,则称该属性或属性组为则称该属性或属性组为候选码候选码。没有多余属性则称为。没有多余属性则称为超键超键.n 2 2)主键。)主键。主键(主键(primary key)是在候选键中选定一个键作为元组标是在候选键中选定一个键作为元组标识识.一般如不加以说明,一般如不加以说明,键键指指主键主键(码),如果关系中有多个候选键(码),如果关系中有多

9、个候选键,可可取其中取其中一个作为该关系的主键一个作为该关系的主键,主键不允许为空值主键不允许为空值(非零和空格非零和空格).).n 3 3)外键。)外键。外键外键指若在关系指若在关系R R中包含另一个关系中包含另一个关系S S的主键所对应的属性的主键所对应的属性或属性组或属性组K,K,则称则称K K为为R R的外键(码)。的外键(码)。n 注意注意:外键表示是另一个关系的主键,但不是本关系的主键。关外键表示是另一个关系的主键,但不是本关系的主键。关系数据库的表间关系需要借助外键来建立。此外,外键需要满足外键约系数据库的表间关系需要借助外键来建立。此外,外键需要满足外键约束条件:外键或者为空值

10、,或者是另外一个关系已存元组的主键。束条件:外键或者为空值,或者是另外一个关系已存元组的主键。2.1关系模型概述关系模型概述n 2.1.2 2.1.2 关系的类型与性质关系的类型与性质关系关系有有三种类型三种类型:基本关系(又称为:基本关系(又称为基本表基本表或或基表基表)、)、查询表和视图表。查询表和视图表。基本表基本表是实际存在的表是实际存在的表,是实际存储数据的逻辑表示。是实际存储数据的逻辑表示。查询表查询表是查询结果对应的表。是查询结果对应的表。视图表视图表是由基本表或其他视图表导出的表,是是由基本表或其他视图表导出的表,是虚表虚表,不对应实际存储的数据。不对应实际存储的数据。2.1关

11、系模型概述关系模型概述n 基本关系基本关系有以下有以下6 6条性质条性质 1 1)关系中属性(列)必须是关系中属性(列)必须是原子值原子值,即每个属性都必须是不可分,即每个属性都必须是不可分的数据项。的数据项。2 2)关系中列是)关系中列是同质的同质的(HomogeneousHomogeneous),也就是说每一列中的分量是也就是说每一列中的分量是同一类型的数据,也可以说是具有相同的域(同列同类同域)。同一类型的数据,也可以说是具有相同的域(同列同类同域)。n 3 3)关系中的列没有先后顺序之分,即列的次序可以任意交换。)关系中的列没有先后顺序之分,即列的次序可以任意交换。n 4 4)关系中任

12、意两行元组的次序可以交换,即元组无先后顺序之分。)关系中任意两行元组的次序可以交换,即元组无先后顺序之分。n 5 5)不同的列可以来自同一域,即列的类型相同,不同的列要给予不)不同的列可以来自同一域,即列的类型相同,不同的列要给予不同的列名(属性名)加以区分,标明是不同的列同的列名(属性名)加以区分,标明是不同的列(任意两列不能相同任意两列不能相同)。n 6 6)任意元组的候选键不能相同,)任意元组的候选键不能相同,任意两行元组不能完相同任意两行元组不能完相同,如果完,如果完全相同则说明数据存在重复,会造成存储空间的浪费和查询统计结果的全相同则说明数据存在重复,会造成存储空间的浪费和查询统计结

13、果的不一致或错误。因此,数据库中应该避免元组的重复现象,保证实体的不一致或错误。因此,数据库中应该避免元组的重复现象,保证实体的唯一性和完整性。唯一性和完整性。2.1关系模型概述关系模型概述n 比较案例比较案例2-32-3和和2-42-4中学生信息表的中学生信息表的出生日期出生日期属性的设计,案例属性的设计,案例2-32-3中出生日期使用一个中出生日期使用一个日期类型日期类型的数据进行存储,该属性不可分,而案例的数据进行存储,该属性不可分,而案例2-42-4中属性出生日期包含小表,即出生日期由年月日三分部分组成,虽中属性出生日期包含小表,即出生日期由年月日三分部分组成,虽然看上去更清晰,但是属

14、性出生日期可分不符合关系分量不可分规范,然看上去更清晰,但是属性出生日期可分不符合关系分量不可分规范,是一种不恰当和不规范的关系数据库设计。是一种不恰当和不规范的关系数据库设计。2.1关系模型概述关系模型概述 【学生信息表。学生信息表。学生信息表包含以下信息:学号、姓名、学生信息表包含以下信息:学号、姓名、性别、专业、出生日期(年、月、日)和家庭地址。表头表示关系型,性别、专业、出生日期(年、月、日)和家庭地址。表头表示关系型,从第二行开始以下各都是一个关系型的实例。如表从第二行开始以下各都是一个关系型的实例。如表2-22-2所示。所示。案例2-4表2-2 学生信息表n 2.1.3 2.1.3

15、 关系模式的表示关系模式的表示n 关系模式关系模式(Relation schema)是对关系的描述,是对关系的描述,可形式化可形式化地表示地表示如下:如下:R(U,D,DOM,F)其中其中R为关系名,为关系名,U为组成该关系的属性(列)名集合,为组成该关系的属性(列)名集合,D为属性组为属性组U中属性所来自的域,中属性所来自的域,DOM为属性域的映像集合,为属性域的映像集合,F为属性间数据的依赖关系集合。为属性间数据的依赖关系集合。n 关系模式通常可以关系模式通常可以简记为简记为R(U)或或R(A1,A2,.,An),其中其中R为关为关系名,系名,A1,A2,.,An为属性名。为属性名。例如,

16、例如,学生关系的关系模式学生关系的关系模式可表示如下:可表示如下:学生学生(学号学号,姓名姓名,性别性别,专业专业,出生日期出生日期,家庭地址家庭地址)2.1关系模型概述关系模型概述n 2.1.3 2.1.3 关系模式的表示关系模式的表示n 关系模式关系模式主要描述内容主要描述内容:关系模式关系模式指明关系二维表中指明关系二维表中元组集合的结构元组集合的结构,即它由哪即它由哪些属性构成些属性构成,这些属性的域这些属性的域(在具体关系数据库中体现为属性在具体关系数据库中体现为属性的数据的数据类型类型和和长度长度),),以及属性与域之间的以及属性与域之间的映射关系映射关系.关系模式关系模式应该说明

17、属性间的相互应该说明属性间的相互关联关系关联关系和属性本身的和属性本身的约束条件约束条件。例例1 1,男性职工年龄一般,男性职工年龄一般18-6018-60岁(岁(6060岁以后退休,当前实行延迟退岁以后退休,当前实行延迟退休的男性职工除外);休的男性职工除外);例例2 2,百分制成绩必须为,百分制成绩必须为0-1000-100之间。之间。2.1关系模型概述关系模型概述n 2.1.4 E-R 2.1.4 E-R图与关系模型之间的转换图与关系模型之间的转换n 1.1.转换规则转换规则n 1 1)实体转换关系规则。)实体转换关系规则。将每一个实体转换成一个关系模式时,实体将每一个实体转换成一个关系

18、模式时,实体的属性就是关系的属性,的属性就是关系的属性,实体的标识符实体的标识符就是关系的就是关系的键键,n 如案例如案例2-12-1中学生的中学生的学号学号为关系模式中的键。为关系模式中的键。n 2 2)二元联系类型的转换规则)二元联系类型的转换规则如下。如下。n 若实体间的联系为一对一(若实体间的联系为一对一(1:11:1),则将两个实体类型转换成两个),则将两个实体类型转换成两个关系模式的过程中,任选一个属性或属性组在其中加入另一个关系模式关系模式的过程中,任选一个属性或属性组在其中加入另一个关系模式的键和联系类型的属性。的键和联系类型的属性。n 若实体间的联系是一对多(若实体间的联系是

19、一对多(1 1:n)n),则在多的一端实体的关系模式,则在多的一端实体的关系模式中,加上一的一端实体类型的键和联系类型的属性。中,加上一的一端实体类型的键和联系类型的属性。n 若实体间联系是多对多若实体间联系是多对多(m:n),(m:n),则将联系类型也转换为关系模式则将联系类型也转换为关系模式,其其属性为两端实体类型的键加上联系型的属性属性为两端实体类型的键加上联系型的属性,而键为两端实体键的组合而键为两端实体键的组合.2.1关系模型概述关系模型概述n 2.1.4 E-R2.1.4 E-R图与关系模型之间的转换图与关系模型之间的转换n 2.2.转换方法转换方法:n 1 1)一对一联系的转换方

20、法。)一对一联系的转换方法。2.1关系模型概述关系模型概述 【每个学生只有一个身份每个学生只有一个身份证,每个身份证只属于一个学生,学证,每个身份证只属于一个学生,学生和身份证之间的关系为一对一关系。生和身份证之间的关系为一对一关系。学生与身份证实体关系图如图学生与身份证实体关系图如图2-1所示。所示。在学生端加入身份证号做为联系属性在学生端加入身份证号做为联系属性在两者之间建立一对一关系。在两者之间建立一对一关系。学生学生(学号,学号,身份证号身份证号,姓名,姓名,性别,专业,出生日期,家庭地址性别,专业,出生日期,家庭地址),),其中学号为其中学号为主键(主键(PK),身份证号为身份证号为

21、外外键(键(FK)关联到关系身份证。关联到关系身份证。身份证身份证(身份证号身份证号,学号学号,签发机关签发机关,有效期始有效期始,有效期始有效期始)案例2-5图2-1 一对一联系n 2.1.4 E-R 2.1.4 E-R图与关系模型之间的转换图与关系模型之间的转换n 2 2)一对多联系的转换方法。)一对多联系的转换方法。n 方法一方法一:将联系与多的一端实体所对应的关系模式合并,:将联系与多的一端实体所对应的关系模式合并,加一端实体的主键和联系的属性。加一端实体的主键和联系的属性。n 方法二方法二:将联系转换为一个独立关系模式,其属性包含联:将联系转换为一个独立关系模式,其属性包含联系自身的

22、属性以及相连接的两端实体的主键。系自身的属性以及相连接的两端实体的主键。2.1关系模型概述关系模型概述2.1关系模型概述关系模型概述 订单和订单和订单项之间的一订单项之间的一对多关系。对多关系。每一个订单包含一个或多每一个订单包含一个或多个订单项,同时,一个或多个订单项个订单项,同时,一个或多个订单项组成一个订单。订单和订单项的关系组成一个订单。订单和订单项的关系定义如下。订单和订单项的定义如下。订单和订单项的ERER图如图图如图2-22-2所示。所示。订单订单(订单(订单IDID,会员,会员IDID,是否付款,是否付款,运送方式,运费,提交时间)。运送方式,运费,提交时间)。订单项订单项(订

23、单项(订单项IDID,订单,订单IDID,商品,商品IDID,商品数量)。,商品数量)。案例2-6图2-2订单与订单项一对多联系n 2.1.4 E-R 2.1.4 E-R图与关系模型之间的转换图与关系模型之间的转换n 3 3)多对多联系的转换方法。)多对多联系的转换方法。对于实体之间是多对多的联系情况,各个实体可以直接对于实体之间是多对多的联系情况,各个实体可以直接转换为关系模式,转换为关系模式,联系则独立转换联系则独立转换一个关系模式,其属性包一个关系模式,其属性包括联系自身的属性和相连各实体的主键括联系自身的属性和相连各实体的主键2.1关系模型概述关系模型概述n 2.1关系模型概述关系模型

24、概述 学生选课联系学生选课联系。一个学生可一个学生可以选多门课程,一门课程可以被多个学以选多门课程,一门课程可以被多个学生选修,学生的选课联系是多对多的联生选修,学生的选课联系是多对多的联系。转换过程中学生实体和课程实体转系。转换过程中学生实体和课程实体转换为相应的独立关系模式,同时选课联换为相应的独立关系模式,同时选课联系转换一个单独的关系模式。其系转换一个单独的关系模式。其E-RE-R图如图如图图2-32-3所示。具体的关系模式如下。所示。具体的关系模式如下。学生学生(学号,身份证号,姓名,性别,(学号,身份证号,姓名,性别,专业,出生日期,家庭地址),其中学专业,出生日期,家庭地址),其

25、中学号为主键(号为主键(PK)PK)。课程课程(课程代码,系部编号,学期,(课程代码,系部编号,学期,课程名称,课程类型,学分),其中课课程名称,课程类型,学分),其中课程代码为主键。程代码为主键。学生选课学生选课(学号,课程代码学号,课程代码,成绩),成绩),学号和课程代码为组合主键,学号外键,学号和课程代码为组合主键,学号外键,课程代码为外键。课程代码为外键。案例2-7学 生学 生 选 课m课 程n学 号身 份 证 号姓 名性 别专 业出 生 日 期课 程 代 码系 部 编 号学 期课 程 名 称家 庭 地 址课 程 类 型学 分学 号成 绩课 程 代 码图2-3学生选课关系多对多E-R图

26、2.1关系模型概述关系模型概述1)1)什么是关系模式?它的形式化表示是什么?什么是关系模式?它的形式化表示是什么?2)2)关系应该具有哪些性质?关系应该具有哪些性质?3)E-R3)E-R模型如何向关系模型转换?模型如何向关系模型转换?n 关系模型的完整性规则关系模型的完整性规则指的是对关系的某种约束条件,指的是对关系的某种约束条件,即关系的值随时间的变化时应该满足的一些条件,也可以即关系的值随时间的变化时应该满足的一些条件,也可以理解为关系操作在不断的更新数据时应该遵守的规则。理解为关系操作在不断的更新数据时应该遵守的规则。n 约束条件约束条件是现实世界的要求,是现实世界的要求,用于用于保证数

27、据库中数据的保证数据库中数据的正确性,如果不遵循或没有约束条件,数据库中会存在大正确性,如果不遵循或没有约束条件,数据库中会存在大量无意义、无价值的垃圾数据。量无意义、无价值的垃圾数据。n 在关系模型中在关系模型中存在存在三类完整性约束三类完整性约束,即实体完整性、参,即实体完整性、参照完整性和用户定义的完整性。照完整性和用户定义的完整性。n 实体完整性、参照完整性实体完整性、参照完整性称为称为称为称为关系的两个不变性关系的两个不变性,是关系模型必须满足的完整性约束条件,应该由关系系统是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。自动支持。用户定义的完整性用户定义的完整性是应用领

28、域需要遵循的规则是应用领域需要遵循的规则,与具体的应用领域和场景密切相关。与具体的应用领域和场景密切相关。2.2关系模型的完整性关系模型的完整性n 2.2.1 2.2.1 实体完整性(实体完整性(Entity Integrity)Entity Integrity)n 实体完整性规则实体完整性规则:如果属性如果属性A A(单一属性或属性组)是基本关系(单一属性或属性组)是基本关系R R的的主主属性属性,则属性,则属性A A不能取空值。不能取空值。其中空值表示不存在或不知道的值。由于主键是元其中空值表示不存在或不知道的值。由于主键是元组的唯一标识,如果主属性为空则会导致元组的不可区组的唯一标识,如

29、果主属性为空则会导致元组的不可区分,这与实体的定义矛盾。分,这与实体的定义矛盾。n 实体完整性保证实体完整性保证操作的数据操作的数据非空、唯一且不重复的非空、唯一且不重复的要求,即要求每个关系(二维表)要求,即要求每个关系(二维表)有且仅有有且仅有一个主键,一个主键,每一个主键的值必须唯一,不能有空值或重复。每一个主键的值必须唯一,不能有空值或重复。2.2关系模型的完整性关系模型的完整性n 2.2.2 参照完整性参照完整性(Referencial Integrity)n 参照完整性形式化参照完整性形式化的的定义:定义:如果如果F是基本关系是基本关系R的一个或一组属性,但不是的一个或一组属性,但

30、不是R的的键。键。K是基本关系是基本关系S的的主主键。若键。若F与与K相对应相对应,则称,则称F是关系是关系R的外键的外键(Foreign Key)。并称)。并称基本关系基本关系R为参照关系为参照关系(Referencing Relation),基本关系基本关系S为被参照关系为被参照关系(Referenced Relation)或或目目标关系标关系(Target Relation)。n 参照完整性规则:参照完整性规则:如果属性(或属性组)如果属性(或属性组)F F是关系模式是关系模式R R的外键的外键,且与基本关且与基本关系系S S的主键的主键K K对应对应,则对关系则对关系R R中每个元组在

31、中每个元组在F F上的值必须为:上的值必须为:或者取空值或者取空值(没有建完没有建完);或者为关系或者为关系S S主键集合中的元素;主键集合中的元素;2.2关系模型的完整性关系模型的完整性 1 1)参照关系)参照关系R R和被参照关系和被参照关系(目标关系目标关系)不一定是不同关系不一定是不同关系.见案例见案例2-92-9。2 2)外键名不一定要和补参照关系中相对应的主键同名,如案例)外键名不一定要和补参照关系中相对应的主键同名,如案例2-92-9中的外键中的外键主管与主键职员编号就不同名。主管与主键职员编号就不同名。3 3)外键值是否允许为空,应视具体问题定。案例)外键值是否允许为空,应视具

32、体问题定。案例2-82-8中学生选课关系中学号中学生选课关系中学号和课程代码不允许为空,如果为空则没有实际意义,数据为无用数据。和课程代码不允许为空,如果为空则没有实际意义,数据为无用数据。2.2关系模型的完整性关系模型的完整性 学生实体和专业实体之间的关系学生实体和专业实体之间的关系。学生学生(学号,身学号,身份证号,姓名,性别,专业编号,出生日期,家庭地址份证号,姓名,性别,专业编号,出生日期,家庭地址),其中学号),其中学号为主键(为主键(PK)。专业(专业编号,专业名称)。专业(专业编号,专业名称)。案例2-8 职员信息表。职员信息表。职员职员(职员编号,姓名,性别,民族,出职员编号,

33、姓名,性别,民族,出生年月,所在部门,籍贯,政治面貌,家庭地址,联系电话,主管生年月,所在部门,籍贯,政治面貌,家庭地址,联系电话,主管)。)。职员关系中,职员关系中,“职员编号职员编号”为主键,主管属性表示该员工主管的编号,为主键,主管属性表示该员工主管的编号,它引用了本关系它引用了本关系“职员编号职员编号”,因为主管也是职员中有一员,只是职位,因为主管也是职员中有一员,只是职位不同。所以职员关系中主管必须是职员编号集合的元素,或者为空值不同。所以职员关系中主管必须是职员编号集合的元素,或者为空值(表示该职员尚未分配主管)。(表示该职员尚未分配主管)。案例2-92.2.32.2.3用户定义的

34、完整性用户定义的完整性(User-defined Integrity)用户定义的完整性用户定义的完整性指的是针对某一具体关系数据库的指的是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。语义要求。例如,关系的某个属性不能为空(如学生关系中,学例如,关系的某个属性不能为空(如学生关系中,学生姓名通常不允许为空)、某个属性(非主属)必须取唯生姓名通常不允许为空)、某个属性(非主属)必须取唯一值、某个属性的取值限定的一定范围内(学生成绩在百一值、某个属性的取值限定的一定范围内(学生成绩在百分制中取值范围分制中取值范

35、围01000100)。)。2.2关系模型的完整性关系模型的完整性2.1关系模型概述关系模型概述1 1)关系模型中有哪三类完整性约束?)关系模型中有哪三类完整性约束?2 2)关系模型中为什么必须满足实体完整性和参照完整性?)关系模型中为什么必须满足实体完整性和参照完整性?3 3)试举例说明用户定义的完整性。)试举例说明用户定义的完整性。2.3.12.3.1关系运算符和运算种类关系运算符和运算种类 1.1.关系运算符关系运算符关系运算符关系运算符主要包括主要包括四类四类:集合运算符、专门的关系运算:集合运算符、专门的关系运算符、算术比较运算符和逻辑运算符。符、算术比较运算符和逻辑运算符。(1 1)

36、集合运算符)集合运算符:(并运算)、(并运算)、(差运算)、差运算)、(交运算)、(交运算)、(笛(笛卡尔集)。卡尔集)。(2 2)专门的关系运算符)专门的关系运算符:(选择选择)、(投影投影),(连接连接)、(除)。(除)。(3 3)(算术算术)比较运算符比较运算符:(大于)、:(大于)、(大于等于)、(小于)、(大于等于)、(小于)、(小于等于)、(等于)、(小于等于)、(等于)、(不等于)。(不等于)。(4 4)逻辑运算符)逻辑运算符:(非)、(非)、(与)、(与)、(并)。(并)。2.3常用的关系运算常用的关系运算2.3.12.3.1关系运算符和运算种类关系运算符和运算种类 2.2.关

37、系运算种类关系运算种类关系运算的种类关系运算的种类可分为可分为两类两类,即,即传统的关系运算和专门的传统的关系运算和专门的关系运算关系运算。传统和关系运算传统和关系运算将关系看做元组的集合,即关系运将关系看做元组的集合,即关系运算的方向是算的方向是“水平水平”方向行的角度来进行,而方向行的角度来进行,而专门的关系运算专门的关系运算不仅涉及行而且涉及列。不仅涉及行而且涉及列。2.3常用的关系运算常用的关系运算2.3.12.3.1关系运算符和运算种类关系运算符和运算种类 (2 2)专门的关系运算)专门的关系运算专门的关系运算专门的关系运算,主要针对关系数据库环境进行专门设计,主要针对关系数据库环境

38、进行专门设计的,不仅涉及关系的的,不仅涉及关系的行行(元组或记录),也涉及关系的(元组或记录),也涉及关系的列列(属(属性)。比较运算符和逻辑运算符实现辅助专门的关系运算符操性)。比较运算符和逻辑运算符实现辅助专门的关系运算符操作。有时需要关系(表)本身进行运算,如果中需要显示表中作。有时需要关系(表)本身进行运算,如果中需要显示表中某列的值,就需要利用关系的专门运算中的某列的值,就需要利用关系的专门运算中的“投影投影”。2.3常用的关系运算常用的关系运算2.3.12.3.1关系运算符和运算种类关系运算符和运算种类(1 1)传统的集合运算)传统的集合运算主要使用主要使用传统的集合运算方法传统的

39、集合运算方法,将关系(表)作为行(元,将关系(表)作为行(元组)的集合,从关系(表)的行方向角度进行运算。有时需要组)的集合,从关系(表)的行方向角度进行运算。有时需要两个关系进行运算,例如找到两个表中相同的部分,这种运算两个关系进行运算,例如找到两个表中相同的部分,这种运算类似于传统集合运算中的交运算。类似于传统集合运算中的交运算。传统的集合运算传统的集合运算可以实现的可以实现的基本操作基本操作:并运算并运算,实现数据的插入和添加。实现数据的插入和添加。差运算,实现数据记录的删除。差运算,实现数据记录的删除。修改数据记录的操作,由先删除(差)后插入(并)两修改数据记录的操作,由先删除(差)后

40、插入(并)两个操作实现。个操作实现。2.3常用的关系运算常用的关系运算2.3.22.3.2传统的关系运算传统的关系运算传统的关系运算属于集合运算,即对两个关系的二目传统的关系运算属于集合运算,即对两个关系的二目集合运算,集合运算,传统的关系运算传统的关系运算主要主要包括四种包括四种:并、差、交和:并、差、交和广义笛卡尔集。广义笛卡尔集。1.1.并运算并运算n设关系设关系R R和关系和关系S S具有相同的目具有相同的目n n(即两个关系具有即两个关系具有n n个属性)个属性),且相应的属性取自同一个域,则关系且相应的属性取自同一个域,则关系R R和关系和关系S S的的并并(Union)(Unio

41、n)由由属于属于R R或属或属S S的元组组成的元组组成.其结果关系的属性数仍为其结果关系的属性数仍为n,n,记为记为R RS S。形式化定义为:形式化定义为:n R RS=t|tS=t|tR Rt tSSn其中,其中,t t表示关系表示关系R R或或S S中的元组,即关系中的元组,即关系R R或或S S中的记录行。中的记录行。2.3常用的关系运算常用的关系运算 2.3.2 2.3.2传统的关系运算传统的关系运算2.3常用的关系运算常用的关系运算 已知关系已知关系R和关系和关系S如表如表2-3和表和表2-4所示,求关系所示,求关系R和关系和关系S的并集(的并集(RS)。)。案例2-10表2-5

42、 RS结果2.3.22.3.2传统的关系运算传统的关系运算 2.2.差运算差运算n设关系设关系R R和关系和关系S S具有相同的目具有相同的目n n(即两个关系具有即两个关系具有n n个属性)个属性),且相应的属性取自同一个域且相应的属性取自同一个域,则关系则关系R R和关系和关系S S的的差差(Difference)由属于由属于R R但不属于但不属于S S的元组组成。其结果关系的属性数仍为的元组组成。其结果关系的属性数仍为n,n,记记为为R-SR-S。形式化定义形式化定义为为n R RS=t|t RS=t|t Rt St Sn其中,其中,t t表示关系表示关系R R或或S S中的元组,即关系

43、中的元组,即关系R R或或S S中的记录行。中的记录行。2.3常用的关系运算常用的关系运算 2.3.2 2.3.2传统的关系运算传统的关系运算2.3常用的关系运算常用的关系运算 已知关系已知关系R和关系和关系S如表如表2-3和表和表2-4所示,求关系所示,求关系R和和S的差。的差。R-S的结果如表的结果如表2-6所示。所示。案例2-112.3.22.3.2传统的关系运算传统的关系运算 3.3.交运算交运算n设关系设关系R R和关系和关系S S具有相同的目具有相同的目n n(即两个关系具有即两个关系具有n n个属性)个属性),且 相 应 的 属 性 取 自 同 一 个 域,则 关 系且 相 应

44、的 属 性 取 自 同 一 个 域,则 关 系 R R 和 关 系和 关 系 S S 的的 交交(Intersection)由属于由属于R R且属于且属于S S的元组组成。其结果关系的属性数的元组组成。其结果关系的属性数仍为仍为n,n,记为记为R RS S。形式化定义形式化定义为为n R RS=t|t RS=t|t Rt St Sn其中,其中,t t表示关系表示关系R R或或S S中的元组,即关系中的元组,即关系R R或或S S中的记录行。中的记录行。2.3常用的关系运算常用的关系运算2.3.22.3.2传统的关系运算传统的关系运算2.3常用的关系运算常用的关系运算 已知关系R和关系S如表2-

45、3和表2-4所示,求关系R和S的交。RS的结果如表2-7所示。案例2-122.3.22.3.2传统的关系运算传统的关系运算 4.4.笛卡尔积笛卡尔积n设关系设关系R R和关系和关系S S的属性数分别为的属性数分别为r r和和s s。关系关系R R和和S S的广义笛的广义笛卡尔积(卡尔积(Extended Cartesian)RExtended Cartesian)RS S是一个是一个(r+sr+s)目的元组集合目的元组集合(即新关系的属性数为:(即新关系的属性数为:r+sr+s),每个元组前),每个元组前r r个分量(属性值个分量(属性值)来自关系)来自关系R R的一个元组,后的一个元组,后s

46、 s个分量是关系个分量是关系S S的一个元组。关系的一个元组。关系R R和关系和关系S S的笛卡尔积记为的笛卡尔积记为R RS S,其,其形式化定义形式化定义如下:如下:nR RS=t|t=S=t|t=t tr r R Rt ts s S Sn说明说明:t tr r、t ts s中中r r,s s为上标为上标,分别表示分别表示r r个分量和个分量和s s个分量个分量.若关系若关系R R的元组数的元组数k k1 1,关系关系S S的元组数为的元组数为k k2 2,则关系则关系R R和关系和关系S S的笛卡的笛卡尔积的元组数为尔积的元组数为k k1 1k k2 2。2.3常用的关系运算常用的关系运

47、算2.3.22.3.2传统的关系运算传统的关系运算2.3常用的关系运算常用的关系运算 已知关系已知关系R和关系和关系S如表如表2-4和表和表2-8所示,求所示,求关系关系R和和S的笛卡尔积。的笛卡尔积。RS的结果如表的结果如表2-9所示。所示。案例2-132.3.3 2.3.3 专门的关系运算专门的关系运算专门的关系运算主要包括四种:专门的关系运算主要包括四种:选择运算选择运算、投影运算投影运算、连接运算连接运算和和除运算除运算。其中其中选择运算选择运算可以选取符合条件的元组构成新关系,可以选取符合条件的元组构成新关系,投影运算投影运算可选取元组中指定的属性构成新关系,可选取元组中指定的属性构

48、成新关系,连接运算连接运算可选取符合条件的元组串联成新关系,可选取符合条件的元组串联成新关系,除运算除运算可选取像集可选取像集符合条件的元组的多个属性构成新关系。符合条件的元组的多个属性构成新关系。2.3常用的关系运算常用的关系运算2.3.32.3.3专门的关系运算专门的关系运算 1.1.选择选择(Selection)(Selection)运算运算n 选择运算选择运算是对二维表进行水平分割,也可以理解为对记录(元组)是对二维表进行水平分割,也可以理解为对记录(元组)水平方向的选取。选择(水平方向的选取。选择(Selection)Selection)运算也称限制(运算也称限制(Restricti

49、on)Restriction),是在表中选取符合给定条件的元组,是在表中选取符合给定条件的元组,记为记为F F(R)(R)。其中,。其中,为选择运为选择运算符,算符,F F为表示选择条件,是一个逻辑表达式,为表示选择条件,是一个逻辑表达式,F F的取值为逻辑值的取值为逻辑值“真真”或或“假假”。逻辑表达式逻辑表达式F F的的基本形式基本形式为:为:XYXYn其中其中表示比较运算,它可以是、表示比较运算,它可以是、。X X和和Y Y表示属性名,或为常量,或为简单函数;属性名可以用它的序号来替表示属性名,或为常量,或为简单函数;属性名可以用它的序号来替代。在基本的选择条件中可以进一步进行逻辑运算,

50、运进行求非(代。在基本的选择条件中可以进一步进行逻辑运算,运进行求非()、与()、与()、或()、或()运算。)运算。n其其形式化定义形式化定义如下:如下:F F(R)=t|t R(R)=t|t RF(t)=trueF(t)=true2.3常用的关系运算常用的关系运算2.3.3 2.3.3 专门的关系运算专门的关系运算2.3常用的关系运算常用的关系运算 在商品信息表(表在商品信息表(表2-10)查询出所有产地为)查询出所有产地为“深圳深圳”的商品信息。选择运算的商品信息。选择运算产地产地=深圳深圳(商品信息表商品信息表)或或8=深圳深圳(商品信息表商品信息表),其结果表其结果表2-11所示所示

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库ch2-关系数据库基础课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|