问题
问答题
设数据库中有两个基本表: ·职工表EMP(E#,ENAME,AGE,SALARY,D#),其属性分别表示职工工号,姓名,年龄,工资,工作部门的编号。 ·部门表DEPA(D#,DNAME,MGR#),其属性分别表示部门编号,部门名称,部门经理的工号。此处经理的工号,就是他自己的职工工号。 (1)在数据库中要求每个经理的工资大于2000元。试在定义DEPA表时,添加一个CHECK子句,以满足上述要求(只需写出CHECK子句,不必写出其他语句)。 (2)把年龄在50岁以上的经理全部免职(即把这些部门的MGR#值置为空值)。 (3)创建一个年龄在50岁以上的职工视图,属性为(D#,DNAME,E#,ENAME,AGE,SALARY)。
答案
参考答案:
解析:(1)CHECK(MGR#IN(SELECT E# FROM EMP WHERE SALARY>2000)) (2)UPDATE DEPA SET MGR#=NULL WHERE MGR# IN(SELECT E# FROM EMP WHERE AGE>50) (3)CREATE VIEW EMP1 AS SELECT DEPA,D#,DNAME,E#,ENAME,AGE,SALARY FROM DEPA,EMP WHERE DEPA.D#=EMP.D#AND AGE>50