数据库技术与应用PPT课件第二章关系数据库.ppt
自然连接运算示例IIABCD12314562CD3162CBARSRS2.4关系代数(续)2.4.3专门的关系运算4.除1)特殊用途查询选修了全部课程的学生姓名查询选修了所有开课院系为管理学院的课程的学生All,Every和整数的除运算的比较姓名课程张蕊物理王红数学张蕊数学课程数学物理张蕊同学所选修的全部课程2.4关系代数(续)2.4.3专门的关系运算除象集(ImageSet)关系R(X,Z),X,Z是属性组,x是X上的取值,定义x在R中的象集为Zx={t[Z]|t?R?t[X]=x}从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量2.4关系代数(续)2.4.3专门的关系运算4.除R姓名课程张军物理王红数学张军数学ZXS课程数学物理Z2.4关系代数(续)如何得到选修了全部课程的学生?做法:逐个考虑选课关系SC中的元组r,求r在姓名SN上的分量x,再求x在选课关系中的象集课程Cx,若Cx包含了所有的课程C,则x是满足条件的一个元组选修全部课程的学生x同学所选修的全部课程全部课程{x|x=r[SN]?r?SC?Cx?C}2.4关系代数(续)2.4.3专门的关系运算4.除3)定义R(X,Y)?S(Y)={x|x=r[x]?r?R?Yx??Y(S)}R?S=?X(R)??X(?X(R)??Y(S)?R)设关系R和S的元数分别为r和s(设rs0),那么R÷S是一个(r-s)元的元组集合。(R÷S)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成的新元组t,u必在关系R中。为方便起见,我们假设S的属性为R中后S个属性。除运算示例I?物理数学课程=物理王红数学张军数学王红物理张军课程姓名王红张军姓名所有学生选修全部课程?=数学张军数学王红物理张军课程姓名物理王红数学张军数学王红物理张军课程姓名姓名王红没有选修全部课程的学生姓名王红张军姓名王红?=姓名张军选修了全部课程的学生2.3关系模型(续)2.3.5关系语言分类关系代数用对关系的运算来表达查询,需要指明所用操作关系演算用谓词来表达查询,只需描述所需信息的特性元组关系演算谓词变元的基本对象是元组变量域关系演算谓词变元的基本对象是域变量2.3关系模型(续)2.3.4关系语言实际应用SQLQUELQBE2.3关系模型(续)2.3.5关系语言关系数据语言的特点一体化非过程化面向集合的存取方式关系模型的优缺点数据结构简单(实体、联系、数据字典、索引)有扎实的理论基础(关系运算理论、关系模式设计理论)数据独立性强实现集合操作直接用关系表示M:N的联系优点查询效率低内存资源消耗大设计人员应熟悉关系理论缺点2.4关系代数关系代数运算介绍传统的集合运算专门的关系运算其他操作2.4关系代数(续)2.4.1关系代数运算介绍1运算汇总2基本运算一元运算选择、投影多元运算笛卡儿积、并、交、集合差3其它运算自然连接、除4扩展运算内、外连接5???传统集合运算并、差、交、笛卡尔积∈???专门关系运算投影、选择、联接2.4关系代数(续)2.4.1关系代数运算介绍2.记号说明给定关系模式R(A1,A2,…,An),设R是它的一个具体的关系,t?R是关系的一个元组分量设t?R,则t[Ai]表示元组t中相应于属性Ai的一个分量属性列Ai={Ai1,Ai2,…,Aik}?{A1,A2,…,An},称A为属性列ā表示{A1,A2,…,An}中去掉Ai后剩余的属性组t[Ai]=(t[Ai1],t[Ai2],…,t[Aik])2.4关系代数(续)2.4.1关系代数运算介绍关系代数表达式基本关系运算的有限次复合而成的式子。∏S#(?C#=001(SC))∪∏S#(?C#=002(SC))∏DN(?S#=001(S)DEPT)2.4关系代数(续)R?S2.4.3传统的集合运算1.并定义所有至少出现在两个关系中之一的元组集合R?S={r|r?R?r?S}两个