关系代数操作应用、关系元组运算应用

书写关系代数表达式的基本思路:

检索是否涉及多个表,如不涉及,则可直接采用并、差、交、选择与投影,只要注意条件书写正确与否即可

如涉及多个表,则检查:

  • 能否使用自然连接,将多个表连接起来
  • 如不能,能否使用等值或不等值连接
  • 还不行,使用广义笛卡尔积

相关条件的书写连接完后,可以继续使用选择、投影等运算

例子:

关系代数操作应用、关系元组运算应用关系代数操作应用、关系元组运算应用

关系代数操作应用、关系元组运算应用

①查询课程号001和002都学的学生的学号

关系代数操作应用、关系元组运算应用

②查询不学习课程号为002的学生姓名和年龄

关系代数操作应用、关系元组运算应用


关系元组运算应用:

例子:

关系代数操作应用、关系元组运算应用

①检索所有同学所有课程全都及格的系

关系代数操作应用、关系元组运算应用

②既学过001课程又学过002课程的学生 

关系代数操作应用、关系元组运算应用


综合操作:

已知:

  1. 学生关系:Student(S#,Sname,Sage,Ssex,Sclass)
  2. 课程关系:Course(C#,Cname,Chours,Credit,Tname)
  3. 选课关系:SC(S#,C#,Score)

①求学过李明老师所有课程的学生姓名

关系代数表达式:关系代数操作应用、关系元组运算应用

元组运算:关系代数操作应用、关系元组运算应用

大致文字描述:对于李明老师的所有课程,在选课表中都能找到至少一行学生t和该课程对应的元组

②求没有学过李明老师课程的学生姓名

关系代数表达式:关系代数操作应用、关系元组运算应用

元组运算:关系代数操作应用、关系元组运算应用

③求学过李明老师任意一门课程的学生姓名

关系代数表达式:关系代数操作应用、关系元组运算应用

元组运算:关系代数操作应用、关系元组运算应用