数据库——关系演算ALPHA例题

本文详细介绍了使用关系演算ALPHA语言对一个学生-课程关系数据库进行查询和操作的方法,包括检索学生信息、课程信息、选课记录,以及对数据库进行更新、插入和删除操作的具体实现。

设有学生-课程关系数据库,它由三个关系组成,它们的模式是:
学生S(学号SNO,姓名SN,所在系DEPT,年龄AGE);
课程C(课程号CNO,课程名CN,先修课号CPNO);
选课SC(学号SNO,课程号CNO,成绩SCORE)。
请用关系演算ALPHA语言分别写出下列查询:
(1) 检索学生的所有情况。

方法一:GET W(S)
方法二:GET W(S,SC,C):S.SNO=SC.SNO∧C.CNO=SC.CNO

(2) 检索学生年龄大于等于20岁的学生姓名。

GET W(S.SN):S.AGE≥20

(3) 检索先修课号为C2的课程号。

GET W(C.CNO):C.CPNO='C2'

(4) 检索选修了课程号C1成绩为A的所有学生姓名。

RANGE SC SCX
GET W(S.SN):∃SCX(SCX.SNO=S.SNO∧SCX.CNO='C1'∧SCX.SCORE='A')

(5) 检索学号为S1的学生修读的所有课程名及先修课号。

RANGE SC SCX
GET W(C.CN,C.CPNO):∃SCX(C.CNO=SCX.CNO∧SCX.SNO='S1')

(6) 检索年龄为23岁的学生所修读的课程名。

RANGE S SX
	  SC SCX
GET W(C.CN):∃SCX∃SX(C.CNO=SCX.CNO∧SX.SNO=SCX.SNO∧SX.AGE=23)

(7) 检索至少修读了学号为S5的学生修读的一门课的学生的姓名。

方法一:
RANGE C CX
	  SC SCX
	  SC SCY
GET W(S.SN):∃CX(∃SCX(SCX.CNO=CX.CNO∧SCX.SNO='S5')→∃SCY(SCY.CNO=CX.CNO∧SCY.SNO=S.SNO))

方法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

芷汀若静

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

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

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

打赏作者

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

抵扣说明:

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

余额充值