关系代数数据库中两个条件查询语言怎么表达?[例]设教学数据库中有3个关系: 学生关系S#28SNO,SNAME,AGE,SEX#29 学习关系SC#28SNO,CNO,GRADE#29 课程关系C#28CNO,CNAME,TEACHER#29 下面用关系代数表达式表达每个查询语句
关系代数数据库中两个条件查询语言怎么表达?
[例]设教学数据库中有3个关系:学澳门银河(繁体:學)生关系S#28SNO,SNAME,AGE,SEX#29
学习《繁:習》关系SC#28SNO,CNO,GRADE#29
课程关《繁:關》系C#28CNO,CNAME,TEACHER#29
下面用关系代数表[繁体:錶]达式表达每个查询语句。
#281#29 检索学[开云体育繁:學]习课程号为C2的学生学号与成绩。
#282#29 检索学习课程号为C2的学(繁:學)生学号与姓名
πSNO,SNAME#28σ CNO=#30"C2#30"#28SSC#29#29
由于这个查询涉及到两《繁:兩》个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有[练:yǒu]关的信息,然后《繁体:後》再执行选择投影操作。
此查询亦可等价[jià]地写成:
πSNO,SNAME(S)(πSNO#28σ CNO=#30"C2#30"#28SC#29#29)
这个表达式中自然连接的右分量为#30"学[繁:學]了C2课的学生学号的集合#30"。这个表达式比前一{pinyin:yī}个表达式优化,执行起来要省时间,省空间。
(澳门伦敦人3)检索选修课程名为MATHS的学生学号与姓【练:xìng】名。
πSNO,SANME#28σ CNAME=#30"MATHS#30"#28SSCC#29#29
(4)检索选{pinyin:xuǎn}修课程号为C2或C4的学生学号。
πSNO#28σ CNO=#30"C2#30"∨CNO=#30"C4#30"#28SC#29#29
(5) 检索至少选修课程号为C2或C4的学生学号{pinyin:hào}。
π1#28σ1=4∧2=#30"C2#30"∧5=#30"C4#30"(SC×SC)#29
这里(SC×SC)表(繁亚博体育体:錶)示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。
本文链接:http://21taiyang.com/Business-Operations/3936788.html
数【shù】据库关系代数除的理解 关系代数数据库中两个条件查询语言怎么表达?转载请注明出处来源