资源描述:
《关系代数(不讲).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章关系模型及关系代数主要内容关系数据模型概述关系数据结构关系的完整性规则关系数据库的数据操作关系模型关系模型是由以下三部分组成:◆关系数据结构——关系,二维表◆关系操作——集合操作,高度非过程化◆完整性约束——三类约束关系数据结构关系模型建立在集合代数的基础上关系数据结构的基本概念关系关系模式关系数据库关系⒈域(Domain)2.笛卡尔积(CartesianProduct)3.关系(Relation)域(Domain)域是一组具有相同数据类型的值的集合:整数实数介于某个取值范围的整数指定长度的字符串集合{‘是’,‘否’}介于某个取值范围的日期新一代数据库数据的类型则更
2、复杂笛卡尔积(CartesianProduct)给定一组集合D1,D2,……,Dn,则称D1D2……Dn={(d1,d2,……,dn)/diDi,i=1,2,……n}为这组集合的笛卡尔积例:D1={a1,a2}D2={b1,b2,b3}D1D2={(a1,b1),(a1,b2),(a1,b3),(a2,b1),(a2,b2),(a2,b3)}所有域的所有取值的一个组合不能重复笛卡尔积(续)例给出三个域:D1=SUPERVISOR={张清玫,刘逸}D2=SPECIALITY={计算机专业,信息专业}D3=POSTGRADUATE={李勇,刘晨,王敏}则D1,D2,
3、D3的笛卡尔积为:D1×D2×D3={(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏)}笛卡尔积(续)元组(Tuple)笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。分量(Component)笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一
4、个分量。笛卡尔积(续)基数(Cardinalnumber)若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:在上例中,基数:2×2×3=12,即D1×D2×D3共有2×2×3=12个元组笛卡尔积(续)笛卡尔积的表示方法笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。在上例中,12个元组可列成一张二维表关系的数学描述设以D1,D2,……,Dn表示关系模型R(A1,A2,……,An)的属性域,则D=D1D2……Dn表示该关系中所有可能出现的元组,关系R通常是笛卡尔积D的子集.因此,关系可
5、以描述为:关系模型所有属性域的笛卡尔积的一个子集n称为关系的目或度关系(续)注意:◆关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。◆由于笛卡尔积不满足交换律,即(d1,d2,…,dn)≠(d2,d1,…,dn)但关系实际满足交换律,即(d1,d2,…,di,dj,…,dn)=(d1,d2,…,dj,di,…,dn)(i,j=1,2,…,n)解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性关系(续)例在表2.1的笛卡尔积中取出有实际意义的元组来构造关系关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假设:导师与专
6、业:1:1,导师与研究生:1:n于是:SAP关系可以包含三个元组{(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(刘逸,信息专业,王敏)}关系模型术语(一)◆关系(Relation):就是含有有限个不同的行的二维表◆元组(Tuple):就是二维表中的一行,即表中的记录◆属性(Attribute):就是为二维表中的一列起的一个名字,用类型和值表征◆域(Domain):每个属性取值的变化范围关系模型术语(二)◆键(Key,又称码):能够唯一标识元组的属性或属性组,称为关系模式的键。例如:学生关系中的“学号”,课程关系中的“课程号”等◆候选键(CandidateKey
7、):如果一个属性集能唯一标识元组,且又不含有多余属性,那么这个属性集称为候选键。◆主键(PrimaryKey):关系模式中用户正在使用的候选键关系的性质◆同一个列中的分量定是来自同一个域◆不同列可来自同一个域◆列、行的顺序可以交换◆任意两个元组不能完全相同◆每一个分量必须取原子值,即分量值不可再分,也不能有多值三类关系基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据关系模式关系模式是对关系的描述◆它可以形式化为R(U,D,dom