● 设有职工关系Emp(Eno,Ename,Esex,EDno)和部门关系Dept(Dno,Dname, Daddr),创建这两个关系的SQL语句如下:
CREATE TABLE Emp(
Eno CHAR(4),
Ename CHAR(8),
Esex CHAR(1) CHECK(Esex IN ('M', 'F')),
EDno CHAR(4) REFERENCES Dept(Dno),
PRIMARY KEY (Eno)
);
CREATE TABLE Dept(
Dno CHAR(4) NOT NULL UNIQUE,
Dname CHAR(20),
Daddr CHAR(30)
);
直接运行该语句,DBMS会报错,原因是: (53) 。若经过修改,上述两个表创建完毕之后(尚无数据),则下述语句中能被执行的是 (54) 。
(53)
A. 创建表Dept时没有指定主码
B. 创建表Dept时没有指定外码
C. 创建表Emp时,被参照表Dept尚未创建
D. 表Emp的外码EDno与被参照表Dept的主码Dno不同名
(54)
A. INSERT INTO Emp VALUES('e001', '王', 'M ', 'd1');
B. INSERT INTO Emp VALUES(NULL, '王', 'M', 'd1');
C. INSERT INTO Emp VALUES('e001', '王', 'M', NULL);
D. INSERT INTO Emp VALUES('e001', '王', 'X', 'd1');
第1题:
职员关系模式为E(Eno, Ename, Dept, Eage, Eaddr),其中Eno表示职员号,Ename表示职员名,Dept表示职员所在部门,Eage表示年龄,Eaddr表示职员的家庭住址。建立“开发部”(DS表示开发部)职员的视图DS_E如下,要求进行修改、插入操作时保证该视图只有开发部的职员。
CREATE VIEW DS_E
AS SELECT Eno, Ename, Dept, Eage, Eaddr
FROM
WHERE (1)
如下SQL语句可以查询开发部姓“王”职员的姓名和家庭住址。
Select Ename, Eaddr
From DS_E
Where (2);
A.Dept=DS
B.Dept=DS WITH CHECK OPTION
C.Dept='DS'
D.Dept='DS'S WITH CHECK OPTION
第2题:
设有职工关系Emp (Eno,Ename,Esex,EDno)和部门关系Dept (Dno,Dname, Daddr),创建这两个关系的SQL语句如下:
CREATE TABLE Emp (
Eno CHAR(4),
Ename CHAR(8),
Esex CHAR(1) CHECK(Esex IN ('M','F')),
EDno CHAR(4) REFERENCES Dept (Dno),
PRIMARY KEY (Eno)
);
CREATE TABLE Dept (
Dno CHAR(4) NOT NULL UNIQUE,
Dname CHAR(20),
Daddr CHAR(30)
);
直接运行该语句,DBMS会报错,原因是(53)。若经过修改,上述两个表创建完毕之后(尚无数据),则下述语句中能被执行的是(54)。
A.创建表Dept时没有指定主码
B.创建表Dept时没有指定外码
C.创建表Emp时,被参照表Dept尚未创建
D.表Emp的外码EDno与被参照表Dept的主码Dno不同名
第3题:
列出所有部门的职工人数(包括没有职工的部门) ()。
A.select dept.deptno,dname,count(emp.empno) from emp,dept where emp.deptno=dept.deptno group by dept.deptno,dname;
B.select dept.deptno,dname,count(emp.empno) from emp,dept where emp.deptno()=dept.deptno group by dept.deptno,dname;
C.select dept.deptno,dname,count(emp.empno) from emp,dept where emp.deptno=dept.deptno() group by dept.deptno,dname;
D.select dept.deptno,dname,count(emp.empno) from emp,dept where emp.deptno(
第4题:
● 设有职工表emp(Eno,Ename,Sex,Age)(Eno为职工号,Ename为职工姓名,Sex为性别,Age为年龄)和salary(Eno,Hour,Month,Wage)(Hour为工作时长为多少小时,Month表示几月份,Wage为薪水),建立一个视图V-Salary(Eno,Ename,Hour,Month,Wage),并按Eno升序排序的SQL语句为:
(1)CREATE ( )
AS SELECT emp.Eno,emp.Ename ,salary.Hour,salary.Month,salary.Wage
FROM emp, salary
WHERE emp.Eno=salary.Eno
ORDER BY ENO
在此视图上查均月工资在3000以上的职工工资情况的SQL语句为:
SELECT Eno,Ename,AVG(Wage)
FROM V-Salary
GROUP BY ( )
HAVING AVG(Wage)>3000
( )
A. CREATE TABLE V-Salary(emp.Eno,emp.Ename,salary.Hour,salary.Month,salary.Wage)
B. CREATE VIEW V-Salary(Eno,Ename,Hour,Month,Wage)
C. CREATE TABLE V-Salary(Eno,Ename,Hour,Month,Wage)
D. CREATE INDEX V-Salary(Eno,Ename,Hour,Month,Wage)
( )
A. Eno B.Ename
C.Month D.Wage
第5题:
对于第7题的两个基本表,有一个SQL语句: SELECT ENO, ENAME FROM EMP WHERE DNO NOT IN (SELECT DNO FROM DEPT WHERE DNAME='金工车间');其等价的关系代数表达式是:______。
A.πENO,ENAME(σDNAME≠'金工车间'(EMPDEPT))
B.πENO,ENAME
C.πENO,ENAME(EMP)-πENO,ENAME (σDNAME='金工车间'(EMPDEPT))
D.πENO,ENAME (EMP)-πENO,ENAME (σDNAME≠'金工车间'(EMPDEPT))