如下两道实例题,SQL语言写出了,但是就是不知道其对应的关系代数表达式怎么写?恳请各位高手和大哥大姐们指点一下,帮忙写一下以下两道大题的关系代数表达式!
谢谢了。
 EMPT(ENO,ENAME,SALARY,DNO),
    其中属性的含义依次为职工号、姓名、工资和所在部门号,
   关系 DEPT(DNO,DNEMA,MANAGER), 代表部门号、部门名称、部门经理职工号
要求用SQL语言和关系代数写出:
1. 各部门中工资不低于600元的职工的平均工资
2. 查询001号职工所在的部门名称
3. 将销售部的那些工资低于600的职工的工资上调10%
解:
1. SQL语句:
SELECT DNO, AVG(SALARY)
FROM EMP
WHERE SALARY>=600
GROUP BY DNO关系代数表达式:2.SQL语句:
SELECT DNAME
FROM EMP, DEPT
WHERE EMP.DNO=DEPT.DNO
AND EMP.DNO=’001’关系代数表达式:3.SQL语句:
       UPDATE EMP
SET SALARY=SALARY*1.1
WHERE ENO IN 
(SELECT ENO
 FROM EMP, DEPT
WHERE EMP.DNO=DEPT.DNO
AND DNAME=’销售部’
AND SALARY<600)关系代数表达式:四 学生数据库 STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT)
   课程数据库 COURSE(CNO,CNAME,CPNO,CCREDIT)
   选课数据库 SC(SNO,CNO,GRADE)
   用SQL和关系表达式写出:
1. 建立一个学生表STUDENT,它由学号SNO,姓名SNAME,性别SSEX,年龄SAGE,所在系SDEPT五个属性组成,其学号不能为空,其值唯一
2. 查考试成绩不及格的学生学号
3. 将学生95001的年龄改为22岁
4. 计算1号课程的学生平均成绩
解:
1.SQL语句:
CREATETABLE STUDENT
(SNO CHAR(5) NOT NULL UNIQUE
 SNAME CHAR(20)
 SSEX CHAR(1)
 SAGE INT
 SDEPT CHAR(15));关系代数表达式:
2.SQL语句:
SELECT DISTINCT SNO
FROM COURSE,SC
WHERE COURSE.CNO=SC.CNO
AND SC.GRADE<60关系代数表达式:3.SQL语句:
UPDATE STUDENT
SET SAGE=22
WHERE SNO=’95001’关系代数表达式:4.SQL语句:
SELECT AVG(GRADE)
FROM SC
WHERE CNO=’1’