关系数据库的基本理论-关系代数.ppt
2.3.2专门的关系运算(4)象集给定一个关系R(X,Z),X和Z为属性组.当t[X]=x时,x在R中的象集(ImagesSet)为:
Zx={t[Z]|t∈R,t[X]=x}
它表示R中属性组X上值为x的元组在Z上分量如右例所示:a1的象集为{(b1,c2),(b2,c3),(b2,c1)}例如R:ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c12.3.2基本关系运算-选择运算σ选择运算:σF(R)从一个表中选出所有满足给定条件的记录(行),选出的记录构成一个新表,其关系模式与原表相同.选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算图2-3学生-课程数据库学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS课程号课程名先行课学分CnoCnameCpnoCT1数据库542数学?23信息系统144操作系统635数据结构746数据处理?27PASCAL语言64学号课程号成绩SnoCnoScore9500119295001285950013889500229095002380SCSC[例2-3]查询信息系(IS系)全体学生 σSdept=IS(S) 或σ5=IS(S)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS[例2-4]查询年龄大于19岁的学生σSage19(S)结果:snosnamesexsageSdept200801张民男20CS2.3.2基本关系运算-投影运算π投影运算:∏A1,A2,…,An(R)从给定的属性集中选择若干属性构成新表的属性,而给定表的记录在这些属性上的值保持不变.新表的属性集是原表属性集的真子集.这是从列的角度进行的运算,相当于对关系进行垂直分解。结果:[例]查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影πSname,Sdept(Student)或π2,5(Student)010203040506自然连接运算:R1∞R2自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。例:Student∞SCSELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,SCOREFROMS,SCWHEREStudent.Sno=SC.Sno2.3.2基本关系运算-自然连接2.3.2基本关系运算-自然连接CDEc1c2c3d2d3d2e2e2e1ABCa1a2a3b1b2b2c1c2c1RTABCDEa1a2a3b1b2b2c1c2c1d2d3d2e2e2e2R∞T一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。AθBRS[例]关系R和关系S如下所示:一般连接的结果如下:[例]关系R和关系S如下所示:[例]关系R和关系S如下所示:[例]关系R和关系S如下所示:***(INTERSCTION)*提问:S-R的结果?*注:定义先描述,学生可能不好理解,在下页中,老师们可以用具体的教师关系结合定义解释下.**举例 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC