第2章关系运算理论精.ppt
《第2章关系运算理论精.ppt》由会员分享,可在线阅读,更多相关《第2章关系运算理论精.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章关系运算理论章关系运算理论第1页,本讲稿共58页l用二维表格表示实体集,用关键码进行数据导航的数据模用二维表格表示实体集,用关键码进行数据导航的数据模型称为型称为关系模型关系模型。l关系模型是关系模型是1970年由年由E.F.Codd提出的,在关系模型基提出的,在关系模型基础上发展的关系数据库系统已成为当今应用最广泛的数础上发展的关系数据库系统已成为当今应用最广泛的数据库系统。据库系统。l与层次模型、网状模型相比,关系模型有两个显著特点:与层次模型、网状模型相比,关系模型有两个显著特点:数据结构简单,即用二维表格表示实体及实体集间的联系;数据结构简单,即用二维表格表示实体及实体集间的联
2、系;有关系运算理论和关系模式设计理论等扎实的理论有关系运算理论和关系模式设计理论等扎实的理论基础。基础。第2页,本讲稿共58页2.1关系的数学定义关系的数学定义2.1.1关系的基本术语关系的基本术语1.关系模型的基本术语关系模型的基本术语学生信息表学号学号姓名姓名性别性别籍贯籍贯系系001张三男北京数学002李四女上海物理003王五男长沙计算机第3页,本讲稿共58页二维表格对应的关系模式术语如下二维表格对应的关系模式术语如下l属性:字段或数据项称为属性,也称为列。属性:字段或数据项称为属性,也称为列。l属性值:字段值称为属性值。属性值:字段值称为属性值。l关系模式:记录类型或表结构称为关系模式
3、,关系模式:记录类型或表结构称为关系模式,即表头或表框架。关系模式是对关系的描述,即表头或表框架。关系模式是对关系的描述,一般表示为:一般表示为:l关系名(属性关系名(属性1,属性,属性2,属性,属性n)l元组:记录称为元组,也称为行。元组:记录称为元组,也称为行。第4页,本讲稿共58页l关系:元组的集合称为关系,一个关系对应关系:元组的集合称为关系,一个关系对应通常说的一个二维表。通常说的一个二维表。l值域:属性的取值范围称为属性的值域。值域:属性的取值范围称为属性的值域。l分量:元组中的一个属性值。分量:元组中的一个属性值。l基数:元组的个数称为基数,即记录数。基数:元组的个数称为基数,即
4、记录数。l元数:属性的个数称为元数,即列数。元数:属性的个数称为元数,即列数。第5页,本讲稿共58页2.关键字(关键字(Key,关键码、键、码),关键码、键、码)l超键:若关系中的某一属性组的值能唯一地标识一个元组,则称超键:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为超键。该属性组为超键。l候选键:不含有多余属性的超键称为候选键。候选键:不含有多余属性的超键称为候选键。l主键:若一个关系有多个候选键,则选定其中一个为主键。主键:若一个关系有多个候选键,则选定其中一个为主键。例例学生关系:学生(学生关系:学生(学号学号,姓名,年龄),姓名,年龄)学生选课关系:选修(学生选课关系
5、:选修(学号,课程号学号,课程号,成绩),成绩)l主属性:包含在任何一个候选键中的属性称为主属性。主属性:包含在任何一个候选键中的属性称为主属性。l非主属性:不包含在任何一个候选键中的属性称为非主属性。非主属性:不包含在任何一个候选键中的属性称为非主属性。第6页,本讲稿共58页3.关系的类型关系的类型l关系可以有三种类型:关系可以有三种类型:基本表(基本关系)基本表(基本关系)-实际存在的表,它实际存在的表,它是实际存储数据的逻辑表示。是实际存储数据的逻辑表示。查询表查询表-是查询结果对应的表。是查询结果对应的表。视图视图-由基本表或其他视图表导出的表,由基本表或其他视图表导出的表,是虚表(不
6、对应实际存储的数据)。是虚表(不对应实际存储的数据)。第7页,本讲稿共58页4.关系的性质关系的性质l在关系数据库中,关系是一种规范化了的二维表格。在关系数据库中,关系是一种规范化了的二维表格。l基本关系具有以下六条性质:基本关系具有以下六条性质:列是同质的,即每一列中的分量是同一类型的数据,来自同一列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。个域。不同的列可以出自同一个域,称其中的每一列为一个属性,不同的不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。属性要给予不同的属性名。列的顺序无所谓。列的顺序无所谓。任意两个元组不能相同。任意两个元组不
7、能相同。行的顺序无所谓。行的顺序无所谓。分量必须取原子量,即每一个分量都必须是不可分的数据项。分量必须取原子量,即每一个分量都必须是不可分的数据项。第8页,本讲稿共58页2.1.2关系的数学定义关系的数学定义第9页,本讲稿共58页1.域(域(Domain)l域是一组具有相同数据类型的值的集合。域是一组具有相同数据类型的值的集合。l如:如:1,3,5,99100以内的奇数以内的奇数男男,女女两种性别的集合两种性别的集合第10页,本讲稿共58页2.笛卡尔积笛卡尔积l给定一组域给定一组域D1,D2,Dn,这些域中可以,这些域中可以有相同的,有相同的,D1,D2,Dn的笛卡尔积为:的笛卡尔积为:l其中
8、每一个元素(其中每一个元素(d1,d2,dn)叫做一个)叫做一个n元组,简称元组。元组,简称元组。l元组中的每一个值元组中的每一个值di叫做一个分量。叫做一个分量。第11页,本讲稿共58页例:例:l设设D11,3,D24,6ln个域的笛卡尔积对应一张二维表个域的笛卡尔积对应一张二维表D D1 1D D2 21 14 41 16 63 34 43 36 6第12页,本讲稿共58页3.关系关系lD1D2Dn的子集叫作在域的子集叫作在域D1,D2,Dn上的关系。上的关系。l表示为表示为lR表示关系的名字,表示关系的名字,n是关系的目或度。是关系的目或度。第13页,本讲稿共58页例:例:lD1王,赵王
9、,赵D2计算机,电子计算机,电子D D1 1D D2 2王王王王计算机计算机计算机计算机王王王王电子电子电子电子赵赵赵赵计算机计算机计算机计算机赵赵赵赵电子电子电子电子D1D2笛卡尔积的二维表第14页,本讲稿共58页l通常一个学生只能选择一个专业,则通常一个学生只能选择一个专业,则D1D2的子集 D D1 1D D2 2王王王王计算机计算机计算机计算机赵赵赵赵电子电子电子电子该关系给出了学生所学专业的情况。在关系数据库中,为了消除域的次序对关系的影响(域可以相同),根据域的不同含义对其命名,称为属性名。第15页,本讲稿共58页2.2关系数据库关系数据库2.2.1关系模型关系模型l关系模型由关系
10、数据结构、关系操作集合和关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系完整性约束三部分组成。第16页,本讲稿共58页1.关系模型的数据结构非常单一关系模型的数据结构非常单一l在关系模型中,现实世界的在关系模型中,现实世界的实体实体以及以及实体间实体间的各种联系的各种联系均用均用关系关系表示,在用户看来,关表示,在用户看来,关系模型中数据的逻辑结构是一张系模型中数据的逻辑结构是一张二维表二维表。第17页,本讲稿共58页2.关系操作关系操作l关系模型给出了关系操作的能力。关系模型给出了关系操作的能力。l关系模型中常用的关系操作包括选择、投影、关系模型中常用的关系操作包括选择、
11、投影、连接、除、并、交、差等查询操作,和增加、连接、除、并、交、差等查询操作,和增加、删除、修改操作两大部分。查询的表达能力删除、修改操作两大部分。查询的表达能力是其中最主要的部分。是其中最主要的部分。l关系操作的特点是关系操作的特点是集合集合操作方式,即操作方式,即操作对操作对象和结果都是集合象和结果都是集合。第18页,本讲稿共58页3.关系的三类完整性约束关系的三类完整性约束l关系模型允许定义三类完整性约束:关系模型允许定义三类完整性约束:实体完实体完整性整性、参照完整性参照完整性和和用户定义的完整性用户定义的完整性。其。其中实体完整性和参照完整性是关系模型必须中实体完整性和参照完整性是关
12、系模型必须满足的完整性约束条件,应该由关系系统自满足的完整性约束条件,应该由关系系统自动支持。用户定义的完整性是应用领域需要动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义遵循的约束条件,体现了具体领域中的语义约束。约束。第19页,本讲稿共58页实体完整性实体完整性l若属性若属性A是基本关系是基本关系R的主属性,则属性的主属性,则属性A不能取空值。不能取空值。l实体完整性规则规定基本关系的所有主属性都不能取空值,而实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。不仅是主码整体不能取空值。l实体完整性规则说明:实体完整性规则说明:实体完
13、整性规则是针对基本关系而言的,一个基本表通常对应实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集。现实世界的一个实体集。现实世界中的实体是可区分的,即他们具有某种唯一的标识,相应地现实世界中的实体是可区分的,即他们具有某种唯一的标识,相应地关系模型中以主码作为唯一标识。关系模型中以主码作为唯一标识。主码中的属性即主属性不能取空值,所谓空值就是主码中的属性即主属性不能取空值,所谓空值就是不知道不知道或或无意义无意义的值。如果主属性取空值,就说明存在某个不可标识的实的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体。体,即存在不可区分的实体。第20
14、页,本讲稿共58页参照完整性参照完整性l现实世界中的实体之间往往存在某种联系,在关系模型中现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。实体及实体间的联系都是用关系来描述的。l例:学生实体和专业实体可以用下面的关系表示。例:学生实体和专业实体可以用下面的关系表示。R学生(学生(学号学号,姓名,性别,姓名,性别,专业号专业号)S专业(专业(专业号专业号,专业名),专业名)Fl定义:设定义:设F是基本关系是基本关系R的一个或一组属性,但不是关系的一个或一组属性,但不是关系R的码,如果的码,如果F与基本关系与基本关系S的主码的主码Ks相对应,则称相对应,则称
15、F是是基本关系基本关系R的外码。的外码。l参照完整性规则就是定义外码与主码之间的引用规则。参照完整性规则就是定义外码与主码之间的引用规则。第21页,本讲稿共58页参照完整性规则参照完整性规则l若属性(或属性组)若属性(或属性组)F是基本关系是基本关系R的外码,它与基本的外码,它与基本关系关系S的主码的主码Ks相对应,则对于相对应,则对于R中的每个元组在中的每个元组在F上上的值必须为:的值必须为:或者取空值(或者取空值(F的每个属性值均为空值)。的每个属性值均为空值)。或者等于或者等于S中某个元组的主码值。中某个元组的主码值。l空值,表示尚未给该学生分配专业。空值,表示尚未给该学生分配专业。l非
16、空值,这时该值必须是专业关系中某个元组的非空值,这时该值必须是专业关系中某个元组的专业号专业号值,表示该学生不可能分配到一个不存在的专业中。值,表示该学生不可能分配到一个不存在的专业中。第22页,本讲稿共58页用户定义的完整性用户定义的完整性l任何关系数据库系统都应该支持实体完整性和参照完整任何关系数据库系统都应该支持实体完整性和参照完整性规则。除此之外,不同的关系数据库系统根据其应用性规则。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。义的完整性就是针对某
17、一具体关系数据库的约束条件。它反映了某一具体应用所涉及的数据必须满足的语义要它反映了某一具体应用所涉及的数据必须满足的语义要求。求。l关系模型应提供定义和检验这类完整性的机制,以便用统一关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不是由应用程序承担这一功能。的系统的方法处理它们,而不是由应用程序承担这一功能。第23页,本讲稿共58页2.2.2ER模型转换为关系模型模型转换为关系模型lER模型转换为关系模型要解决两个问题:模型转换为关系模型要解决两个问题:l如何将实体和实体间的联系转换为关系模如何将实体和实体间的联系转换为关系模式。式。l如何确定这些关系模式的属性
18、和码。如何确定这些关系模式的属性和码。第24页,本讲稿共58页原则:原则:l一个实体集(型)转换为一个关系,实体一个实体集(型)转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的属性就是关系的属性,实体的码就是关系模式的码。模式的码。第25页,本讲稿共58页对于实体间的联系则有以下不同情况:对于实体间的联系则有以下不同情况:l一个一个1:1联系可以转换为一个独立的关系模式,也可以与任意联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均是该关系的候选码。如果与某一端实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 运算 理论
限制150内