试题详情

阅读下列说明,回答问题。【说明】某大型集团公司的数据库的部分关系模式如下:员工表:EMP(Eno,Ename,Age,Sex, Title),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为"男""女";公司表:COMPANY(Cno,Cname,City),各属性分别表示公司编号、名称和所在城市;工作表:WORKS(Eno.Cno,Salary),各属性分别表示职工工号、工作的公司编号和工资。有关关系模式的属性及相关说明如下:(1)允许一个员工在多家公司工作,使用身份证号作为工号值。(2)工资不能低于1500元。 【问题1】请将下面创建工作关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及工资不能低于1500元的约束。CREATE TABLE WORKS(Eno CHAR(10)( a ), Cno CHAR(4)( b ), Salary int( c ), PRIMARY KEY( d ));【问题2】请将下面SQL语句的空缺部分补充完整。(1)创建女员工信息的视图FemaleEMP.属性有Eno、Ename、Cno、Cname和Salary,请将下面SQL语句的空缺部分补充完整。 CREATE( e )AS SELECT EMP.Eno, Ename, COMPANY.Cno, Cname, SalaryFROM EMP, COMPANY, WORKSWHERE( f );(2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数float Salary_value(char(10) Eno)依据员工号计算员工新的工资。请将下面SQL语句的空缺部分补充完整。CREATE( g )Salary_TRG AFTER( h )ON EMPREFERENCING new row AS nrowFOR EACH ROWBEGINUPDATE WORKS SET ( i ) WHERE( j );END【问题3】请将下面SQL语句的空缺部分补充完整。(1)查询员工最多的公司编号和公司名称。SELECT COMPANY.Cno, CnameFROM COMPANY, WORKSWHERE COMPANY.Cno=WORKS.CnoGROUP BY( k )HAVING( l ) (SELECT COUNT( * )FROM WORKS GROUP BY Cno) ;(2) 查询所有不在"中国银行北京分行"工作的员工工号和姓名。。SELECT Eno, EnameFROM EMPWHERE Eno( m ) ( SELECT EnoFROM( n )WHERE( o )AND Cname="中国银行北京分行" );

相关试题