● 设有职工关系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');
● 设有职工关系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 )有如下 2 个关系表Emp( eid ,ename,age,did,salary) ,其各列含义为:职工号,姓名,年龄,部门号,工资Dept( did ,dname,mgr_id) ,其各列含义为:部门号,部门名称,部门经理职工号写出一条 SQL 语句,查询工资大于 10000 ,且与他所在部门的经理年龄相同的职工姓名 。 ( 6 分)
设某工厂数据库中有两个基本表:车间基本表:DEPT(DNO,DNAME,MGR-NO),其属性分别表示车间编号、车间名和车间主任的职工号.职工基本表:EMP(ENO,ENAME,SEX,SALARY,DNO),其属性分别表示职工号、姓名、性别、工资和所在车间的编号.试用SQL语句完成下列操作:检索“金工车间”的男职工的职工号和姓名.
对于基本表EMP(ENO,ENAME,SALARY,DNO),其属性表示职工的工号、姓名、工资和所在部门的编号。基本表DEPT(DNO,DNAME)其属性表示部门的编号和部门名。有一SQL语句: SELECT COUNT (DI STINCT DNO)FROM EMP;其等价的查询语句是______。A.统计职工的总人数B.统计每一部门的职工人数C.统计职工服务的部门数目D.统计每一职工服务的部门数目
以下两个关系表:Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号写出一条SQL语句,查询工资大于10000,且与他所在部门的经理年龄相同的职工姓名。
职员关系模式为E(Eno, Ename, Dept, Eage, Eaddr),其中Eno表示职员号,Ename表示职员名,Dept表示职员所在部门,Eage表示年龄,Eaddr表示职员的家庭住址。建立“开发部”(DS表示开发部)职员的视图DS_E如下,要求进行修改、插入操作时保证该视图只有开发部的职员。CREATE VIEW DS_EAS SELECT Eno, Ename, Dept, Eage, EaddrFROMWHERE (1)如下SQL语句可以查询开发部姓“王”职员的姓名和家庭住址。Select Ename, EaddrFrom DS_EWhere (2);A.Dept=DSB.Dept=DS WITH CHECK OPTIONC.Dept='DS'D.Dept='DS'S WITH CHECK OPTION
● 设有职工表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.WageFROM emp, salaryWHERE emp.Eno=salary.EnoORDER BY ENO在此视图上查均月工资在3000以上的职工工资情况的SQL语句为:SELECT Eno,Ename,AVG(Wage)FROM V-SalaryGROUP 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.EnameC.Month D.Wage
设有职工关系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不同名
对于第7题的两个基本表,有一个SQL语句: SELECT ENO, ENAME FROM EMP WHERE DNO NOT IN (SELECT DNO FROM DEPT WHERE DNAME='金工车间');其等价的关系代数表达式是:______。A.πENO,ENAME(σDNAME≠'金工车间'(EMPDEPT))B.πENO,ENAMEC.πENO,ENAME(EMP)-πENO,ENAME (σDNAME='金工车间'(EMPDEPT))D.πENO,ENAME (EMP)-πENO,ENAME (σDNAME≠'金工车间'(EMPDEPT))
列出所有部门的职工人数(包括没有职工的部门) ()。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(