絀柔路 D∈ 计机工们字 第3章关系数据库 31关系模型的基本概念 32关系代数 33关系演算 34查词优化
1 第3章 关系数据库 3.1 关系模型的基本概念 3.2 关系代数 3.3 关系演算 3.4 查词优化
絀柔路 D∈ 喜差 计机工们字 3.1关系模型的基本概念 311数学定义 关系模型是二维表,而关系模型是建立在集合论 集合代数)的基础上,看一下,集合代数是如何定 义二维表。 311.域( DOMAIN): 是具有相同数据类型的值的集合。 关系模型的基本概念 例:整数、{0,1}、男,女}、26个字母。 可以有限,可以无限。 2
2 3.1 关 系 模 型 的 基 本 概 念 3.1.1数学定义 关系模型是二维表,而关系模型是建立在集合论 (集合代数)的基础上,看一下,集合代数是如何定 义二维表。 1. 域(DOMAIN): 是具有相同数据类型的值的集合。 例:整数、{0,1} 、{男,女}、26个字母。 可以有限,可以无限。 3.1 关系模型的基本概念
絀柔路 D∈ 喜差 计机工们字 2.笛卡尔积: 给一组域D1,D2…Dn,这些域中可以有相同的,则D1, D2 0● Dn的笛卡等积为D1×D2×…Dn={(d1,d2.dn) ldi∈Di,i=1,2,n} 其中每个元素(dl,d2dn)称为一个n元组, 元素中的每一个值di叫一个分量。 3.1.1 若Di(i=1,2n)为有限集,基数为mi(i=1,2n) 则D1×D2×.XDn的基数为:m=mi 数例:D1={张三,李四,王五}姓名 学定义 D2={新乡,北京,上海}籍贯 D3={18,19,20} 年龄 则D1XD2XD3={(张三,新乡,18),(张三,新乡, 19) (王五,上海,20)}共计27个元素,则这个二维表 由27个元组组成。 3
3 3.1.1 数 学 定 义 2. 笛卡尔积: 给一组域D1,D2……Dn,这些域中可以有相同的,则D1, D2……Dn的笛卡等积为D1×D2×……Dn={(d1,d2…dn) | di∈Di, i=1,2,…n} 其中每个元素(d1,d2…dn)称为一个n元组, 元素中的每一个值di叫一个分量。 若Di(i=1,2…n )为有限集,基数为mi(i=1,2…n) 则D1×D2×…×Dn的基数为:m=Π mi 例: D1 ={张三,李四,王五} 姓名 D2 ={新乡,北京,上海} 籍贯 D3={18, 19, 20} 年龄 则D1×D2×D3={(张三,新乡,18),(张三,新乡, 19)……(王五,上海,20)}共计27个元素,则这个二维表 由27个元组组成。 i=1 n
絀柔路 D∈ 喜差 计机工们字 3关系: D1XD2×,Dn的子集叫做在域D1,D2.Dn的关系, 用R表示R(D1,D2.DN),由上例取一个笛卡尔的 子集构成一个关系。 如果张三是新乡人年龄18,李四是北京人年龄 19,王五是上海人年龄20,则只有下面这个关系有 311意义的 数学定义 姓名籍贯年龄 张三 新乡 18 李四 北京 19 王五 上海 20 4
4 3. 关系: D1×D2×…Dn的子集叫做在域D1,D2…Dn的关系, 用R表示R(D1,D2…DN),由上例取一个笛卡尔的 子集构成一个关系。 姓名 籍贯 年龄 张三 李四 王五 新乡 北京 上海 18 19 20 如果张三是新乡人年龄18,李四是北京人年龄 19,王五是上海人年龄20,则只有下面这个关系有 3.1.1 意义的。 数 学 定 义
瓶絀 D∈ 喜差 计机工们字 4.数据模型中的关系 由于域可以无限,则关系也可以是无限集合, 所以关系模型还必须有一定的限制和扩充。 3.1.1 关系模型中的关系必须是有限集合。 通过为关系中的每一列附加一个属性名,来取消 数学定义 关系之间的有序性。 5
5 由于域可以无限,则关系也可以是无限集合, 所以关系模型还必须有一定的限制和扩充。 • 关系模型中的关系必须是有限集合。 • 通过为关系中的每一列附加一个属性名,来取消 关系之间的有序性。 4. 数据模型中的关系 3.1.1 数 学 定 义
絀柔路 D∈ 喜差 计机工们字 312关系模型 1.单一的数据结构—关系 从数学到DB中的一个术语的变化和扩充 超键: 3.1 关系中,能唯一标识一元组的属性集,称为关系的超 键 侯选键: 关系模型的基本概念 关系中,能唯一标识一元组的属性集,且又不含有多 余的属性。 主键: 用户正在使用的侯选码。 6
6 3.1.2 关系模型 1. 单一的数据结构——关系。 从数学到DB中的一个术语的变化和扩充。 • 超键: 一关系中,能唯一标识一元组的属性集,称为关系的超 键。 • 侯选键: 一关系中,能唯一标识一元组的属性集,且又不含有多 余的属性。 • 主键: 用户正在使用的侯选码。 3.1 关 系 模 型 的 基 本 概 念
絀柔路 D∈ 喜差 计机工们字 外键: 如果关系模式R中的某些属性集是其他关系模式的主键 包括候选键),那么,该属性集对模式R而言是外键。 主属性: 侯选键中的诸属性。 非主属性: 3.1.2 不包含在任何侯选链中的属性,称为非主属性。主属性 和非主属性相排斥,互补 关系模型 全码: 关系中的所有属性组合在一起成为侯选码,则为全码。 码=侯选码。 7
7 • 主属性: 侯选键中的诸属性。 • 非主属性: 不包含在任何侯选链中的属性,称为非主属性。主属性 和非主属性相排斥,互补。 • 全码: 关系中的所有属性组合在一起成为侯选码,则为全码。 • 码=侯选码。 • 外键: 如果关系模式R中的某些属性集是其他关系模式的主键 (包括候选键),那么,该属性集对模式R而言是外键。 3.1.2 关 系 模 型
絀柔路 D∈ 喜差 计机工们字 例:学生(学号,姓名,宿舍,专业,分数) 主码候选码 课程(课程号,课程名,学分) 主码 选修(学号,课程号,成绩) 外键外键 R(课程,教师,参考书) 全码 312关系模型: 关系描述 关系模型 R(U D, DOM, F 关系名属性集属性的域属性向域的映像数据间的依赖 简记为R(U) 8
8 例: 学生(学号,姓名,宿舍,专业,分数) 主码 候选码 课程(课程号,课程名,学分) 主码 选修(学号,课程号,成绩) 外键 外键 R(课程,教师,参考书) 全码 关系模型: 关系描述 R ( U, D, DOM, F) 关系名 属性集 属性的域 属性向域的映像 数据间的依赖 简记为R(U) 3.1.2 关 系 模 型
@私絀学 D∈ 喜差 计机工们字 2.关系操作 关系模型给出了关系操作的能力和特点 操作能力: 代数方式(关系代数)和逻辑方式(关系演算) 操作特点: 高度非过程化和集合操作 3关系模型的三类完整性 312(1)实体完整性: 若属性A是基本关系R的主属性,则A不能取空值。 关系模型 一个基本关系对应现实世界的一个实体集 现实世界中的实体是相区分的,即具有唯一标识。 由主码唯一标识。 主属性不能取空值。 9
9 3.关系模型的三类完整性 (1)实体完整性: 若属性A是基本关系R的主属性,则A不能取空值。 • 一个基本关系对应现实世界的一个实体集。 • 现实世界中的实体是相区分的,即具有唯一标识。 • 由主码唯一标识。 • 主属性不能取空值。 2. 关系操作 关系模型给出了关系操作的能力和特点 操作能力: 代数方式(关系代数)和逻辑方式(关系演算) 操作特点: 高度非过程化和集合操作 3.1.2 关 系 模 型
絀柔路 D∈ 喜差 计机工们字 (2)参照完整性: 若属性F是关系R的外码,它与基本关系S的主码Ks相 对应,则对于R中的每一个元组在F上的值必为 取空值 等于S中某个元组的主码值。 例:S(SNO,SNA 3.1.2 C(CNO, CAN...) SC (SNO, CNO, G) 关系模型 (3)用户自定义完整性。 (1)(2)是必要的,(3)是看具体情况而定 10
10 (2)参照完整性: 取空值 等于S中某个元组的主码值。 S(SNO,SNA…) C(CNO,CAN…) SC(SNO,CNO,G) (3)用户自定义完整性。 (1)(2)是必要的,(3)是看具体情况而定。 若属性F是关系R的外码,它与基本关系S的主码KS相 对应,则对于R中的每一个元组在F上的值必为 例: 3.1.2 关 系 模 型