第二章关系数据库 关系模型、关系代数
第二章 关系数据库 关系模型、关系代数
本章主要学习内容 关系模型 关系数据结构 关系操作 关系的完整性约束 关系代数 集合计算 0关系运算 关系演算 元组关系演算语言 ALPHA 域关系演算语言QBE
2 本章主要学习内容 关系模型 ◦ 关系数据结构 ◦ 关系操作 ◦ 关系的完整性约束 关系代数 ◦ 集合计算 ◦ 关系运算 关系演算 ◦ 元组关系演算语言ALPHA ◦ 域关系演算语言QBE
关系数据结构及形式化定义 关系:现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构_二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表 关系操作的对象和结果都是集合,关系模型建立在集合代数的基础上;
3 一、关系数据结构及形式化定义 关系:现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构----二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表 关系操作的对象和结果都是集合,关系模型建立在集合代数的基础上;
1、域 °城( Domain):一组具有相同数据类型的值的集合,也称为值域,用D 表示 域中所包含的值的个数称为域的基数,用m表示。 关系中用域表示属性的取值范围。例如 D1={李力,王平,刘伟} m D2={男,女} m2=2 D3={47,28,30} m3=3 其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的 集合 域的取值无排列次序,如D2={男,女}={女,男}
4 1、域 域(Domain):一组具有相同数据类型的值的集合,也称为值域,用 D 表示。 域中所包含的值的个数称为域的基数,用 m 表示。 关系中用域表示属性的取值范围。例如: ◦ D1={李力,王平,刘伟} m1=3 ◦ D2={男,女} m2=2 ◦ D3={47,28,30} m3=3 ◦ 其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的 集合。 域的取值无排列次序,如D2={男,女}={女,男}
2、笛卡尔积 1)笛卡尔积( Cartesian product) 给定一组域D,D2,Dn1(域可相同),它们的笛卡儿积为: D1xD2xxDn={(a4,d2,,d)|d1∈D1,i=1,2,,,n} 所有域的所有取值组成一个集合,其中每一个元素(d1,d2,,d)叫 做一个n元组,简称元组。 元组中的每个值d叫做一个分量。元组的每个分量(di)是按序排列 的。如:(1,2,3)≠(2,3,1)≠(1,3,2); 元组不能重复,元组之间是无序的
5 2、笛卡尔积 1)笛卡尔积(Cartesian Product) 给定一组域D1,D2,...Dn(域可相同),它们的笛卡儿积为: D1xD2x...xDn={(d1,d2,...,dn)|di∈Di,i=1,2,..,n} ◦ 所有域的所有取值组成一个集合,其中每一个元素(d1,d2,...,dn)叫 做一个n元组,简称元组。 ◦ 元组中的每个值di叫做一个分量。元组的每个分量(di)是按序排列 的。如:(1,2,3)≠(2,3,1)≠(1,3,2); ◦ 元组不能重复,元组之间是无序的
2)实例 例1:D1={a1,a2} D2={b1,b2b3} 则 D1XD2={(a1,b1),(a1b2),(a1,b3),(a2,b1),(a2b2),(a2,b3)} 其中a1、b1、b2等是分量 (a1,b1),(a1,b2)等是元组 该笛卡尔积的基数为2x3=6 元组的个数为6
6 2)实例 例1:D1={a1,a2} D2={b1,b2,b3} 则: D1XD2={(a1,b1),(a1,b2),(a1,b3),(a2,b1),(a2,b2),(a2,b3)} 其中a1、b1、b2等是分量 (a1,b1),(a1,b2)等是元组 该笛卡尔积的基数为2x3=6 元组的个数为6
例2:D1=导师集合 SUPERⅥISOR=张清玫,刘逸 D2=专业集合 SPECIALITY=计算机专业,信息专业 D3=研究生集合 POSTGRADUATE=李勇,刘晨,王敏 则:D1XD2XD3 (张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨), 张清玫,计算机专业,王敏), (张清玫,信息专业,李勇) (张清玫,信息专业,刘晨) (张清玫,信息专业,王敏) (刘逸,计算机专业,李勇), (刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏) (刘逸,信息专业,李勇), (刘逸,信息专业,刘晨) (刘逸,信息专业,王敏)} 该笛卡尔积的基数为2x2x3=12 即元组的个数为12
7 例2: D1=导师集合SUPERVISOR=张清玫,刘逸 D2=专业集合SPECIALITY=计算机专业,信息专业 D3=研究生集合POSTGRADUATE=李勇,刘晨,王敏 则:D1XD2XD3= {(张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (张清玫,信息专业,王敏), (刘逸,计算机专业,李勇), (刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏), (刘逸,信息专业,李勇), (刘逸,信息专业,刘晨), (刘逸,信息专业,王敏)} 该笛卡尔积的基数为2x2x3=12 即元组的个数为12
3)笛卡尔积的二维表表示 笛卡尔积也可以用二维表表示,其中表的框架由域构成,表的任意一行 就是一个元组,每一列数据来自同一域。 例1:D1=学生的集合{甲,乙,丙} D2=性别的集合偶男,女 D3=班级的集合{01,02 共2×2×3=12个元组,用二维表可表示为:
8 3)笛卡尔积的二维表表示 笛卡尔积也可以用二维表表示,其中表的框架由域构成,表的任意一行 就是一个元组,每一列数据来自同一域。 例1:D1=学生的集合{甲,乙,丙} D2=性别的集合{男,女} D3=班级的集合{01,02} 共2×2×3=12个元组,用二维表可表示为:
D D甲甲甲甲乙乙乙乙丙丙 02 男男女女男男女女男男女女 2 0 02 0 1 02 丙丙 1
9 D1 D2 D3 甲 男 01 甲 男 02 甲 女 01 甲 女 02 乙 男 01 乙 男 02 乙 女 01 乙 女 02 丙 男 01 丙 男 02 丙 女 01 丙 女 02
3、关系 °关系( Relation) n×D2×…×D的子集叫作在域n,B,…,D上的关系。 表示为R(n,D,…,D) R:关系名 n:关系的目或度( Degree)
10 3、关系 关系(Relation) D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系。 表示为R(D1,D2,…,Dn) R:关系名 n:关系的目或度(Degree)