数据库:关系代数

五个基本操作:并,差,笛卡尔积,选择,投影{∪,-,× , σ,Π }

并运算的结果要消除重复的元组
选择:水平分割
投影:垂直分割,要取消某些重复的行

组合操作
1)集运算
2)连接(Join)运算,连接操作是笛卡尔积和选择操作的组合
条件连接
自然连接(重复的属性列去掉)
半连接
3)除法运算(Division)

举例:
S(SNO,SNAME,AGE,SEX,DNAME)
C(CNO,CNAME,PRE_CNO,TEACHER)
SC(SNO,CNO,SCORE)

(1)检索“陈军”老师所授课程的课程号(CNO)和课程名(CNAME)
∏CNO, CNAME(σTEACHER=’陈军’(C))

(2)检索年龄大于21的男学生学号(SNO)和姓名(SNAME)
∏SNO,SNAME(σAGE>21 ∧ SEX=’男’ (S))

(3)检索至少选修“陈军”老师所授全部课程的学生姓名(SNAME)
∏SNAME(S⋈(∏SNO, CNO(SC) ÷ ∏CNO(σTEACHER=’陈军’(C))

(4)检索“李强”同学不学课程的课程号(CNO)
∏CNO(C)-∏CNO(σSNAME=’李强’(S)⋈SC)

(5)检索至少选修两门课程的学生学号(SNO)
∏SNO(σ1=4 ∧ 2≠5 (SC×SC))

(6)检索全部学生都选修的课程的课程号(CNO)和课程名(CNAME)
∏CNO, CNAME(C⋈(∏SNO, CNO(SC)÷∏SNO(S))

(7)检索选修课程包含“陈军”老师所授课程之一的学生学号(SNO)
∏SNO(SC⋈∏CNO(σTEACHER=’陈军’(C))

(8)检索选修课程号为k1和k5的学生学号(SNO)
∏SNO, CNO(SC)÷∏CNO (σCNO=’k1’ ∨ CNO=’k5’ (C))

(9)检索选修全部课程的学生姓名(SNAME)
∏SNAME(S⋈(∏SNO, CNO (SC) ÷ ∏CNO(C)))

(10)检索选修课程包含学号为S2的学生所修课程的学生学号(SNO)
∏SNO, CNO(SC)÷∏CNO(σSNO=’S2’(SC))

(11)检索选修课程名为“C语言”的学生学号(SNO)和姓名(SNAME)
∏SNO, SNAME(S⋈(∏SNO(SC⋈(σCNAME=’C语言’(C)))))

  • 6
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值