1、数据库工程师-7 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:26,分数:60.00)1.以下哪种 SQL Server 整型数据类型占用 4 字节的存储空间_。(分数:2.00)A.bigintB.intC.smallintD.tinyint2.以下哪种数据类型不能用于存储 GIF、JPG、BMP 等格式的图片文件_。(分数:2.00)A.textB.binaryC.varbinaryD.image3.某系统中,车牌号码字段长度为 7 位,第 1 位用一个字符表示一个省的简称,第 2 位为A-Z之间的字母,第 37 位为A-z之间的字母或09之间的数字,则最好采
2、用以下哪种数据类型来存储车牌号码信息_。(分数:2.00)A.imageB.textC.charD.varchar4.某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。 职工(职工号,姓名,年龄,月薪,部门号,电话,地址) 部门(部门号,部门名,电话,负责人代码,任职时间) 以下定义部门关系的 SQL 语句正确的是_。(分数:2.00)A.CREATE TABLE 部门(部门号 CHAR(4)PRIMARYKEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGN KEY(电话)REFERENCES 职工电话B.CREA
3、TE TABLE 部门(部门号 CHAR(4)PRIMARY KEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGNKEY(部门号)REFERENCES 部门(部门号)C.CREATE TABLE 部门(部门号 CHAR(4)PRIMARYKEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGN KEY(部门号)REFERENCES 职工(部门号)D.CREATE TABLE 部门(部门号 CHAR(4)PRIMARY KEY,部门名 CHAR(20),电话 CHAR(
4、13),负责人代码CHAR(5),任职时间 DATE,FOREIGN KEY(负责人代码)REFERENCES 职工(职工号)5.用如下 SQL 语句创建了表 SC:CREATE TABLE SC(SNo CHAR(6)NOTNULL,CNo CHAR(3)NOTNULL,Score INT,Note CHAR(20),以下哪个记录可以插入该表中_。(分数:2.00)A.(“102312“,“101“,60,选修)B.(“222302“,“112“,NULL,NULL)C.(NULL,“101“,65,“必修“)D.(231034,“101“,78,“)6.在创建关系表时,使用以下哪个关键字用
5、来定义唯一约束_。(分数:2.00)A.NOTNULLB.UNIQUEC.CHECKD.PRIMARY KEY7.在 SQL 语言中,可用以下哪种约束来定义候选码_。(分数:2.00)A.CANDIDATE KEYB.PRIMARY KEYC.UNIQUE NOT NULLD.UNIQUE8.使用 SQL 语言的 SELECT 语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用子句_。(分数:2.00)A.WHEREB.GROUPBYC.HAVINGD.ORDERBY9.在 SQL 语句中,“SELECT DISTINCT”表示查询结果中_。(分数:2.00)A.属性名都不相同B.去掉
6、了重复的列C.行都不相同D.属性值都不相同10.在 SQL 的查询语句中,对应关系代数中“投影”运算的语句是_。(分数:2.00)A.SELECTB.FROMC.WHERED.SET11.设有关系 R(书号,书名),如果要检索第 3 个字母为 M,且至少包含 4 个字母的书名,则 SQL 查询语句中 WHERE 子句的条件表达式应写成_。(分数:2.00)A.书名 LIKE “_ _M_“B.书名 LIKE “_ _M%“C.书名 LIKE “_ _M_%“D.书名 LIKE “_%M_“基于以下描述:某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。 职工(职工号,姓名,年龄,
7、月工资,部门号,电话,办公室) 部门(部门号,部门名,负责人代码,任职时间)(分数:6.00)(1).查询每个部门中月工资最高的“职工号”,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 职工号 FROM 职工 AS E WHERE 月工资=(SELECTMAX(月工资)FROM 职工 ASMWHEREM.部门号=E.部门号)B.SELECT MAX(月工资),职工号 FROM 职工C.SELECT 职工号 FROM 职工 WHERE 月工资 IN(SELECTMAX(月工资)FROM 职工)D.SELECT 职工号 FROM 职工 WHERE 月工资=(SELECTMAX(
8、月工资)FROM 职工 GROUPBY 部门号)(2).查询比软件部所有职工月工资都要少的职工姓名及月工资,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 姓名,月工资 FROM 职工 WHERE 月工资ALL(SELECT MAX(月工资)FROM 职工 WHERE 部门号=“软件部“)B.SELECT 姓名,月工资 FROM 职工 WHERE 月工资(SELECT COUNT(月工资)FROM 职工 WHERE 部门号=“软件部“)C.SELECT 姓名,月工资 FROM 职工 WHERE 月工资(SELECT MAX(月工资)FROM 职工 WHERE 部门号=“软件部
9、“)D.SELECT 姓名,月工资 FROM 职工 WHERE 月工资(SELECT MIN(月工资)FROM 职工 WHERE 部门号=“软件部“)(3).查询比所在部门负责人月工资还要高的职工的姓名,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 姓名 FROM 职工 WHERE 月工资(SELECTE.月工资 FROM 职工 AS E,部门 AS DWHERE E.职工号=D.负责人代码)B.SELECTE1姓名 FROM 职工 AS E1,职工 AS E2,部门 WHERE 部门.负责人代码=E2.职工号 AND E1.职工号=E2.职工号 AND E1.月工资E2.
10、月工资C.SELECTE1.姓名 FROM 职工 AS E1,职工 AS E2,部门 WHERE E1.职工号=E2.职工号 AND E1.月工资E2月工资D.SELECT E1.姓名 FROM 职工 AS E1 WHERE 月工资(SELECTE1.月工资 FROM 职工 AS E2,部门 WHERE 部门.负责人代码=E2.职工号 AND E1.月工资E2.月工资)12.在两个查询语句之间使用以下哪个关键字来实现集合的并运算_。(分数:2.00)A.JOINB.UNIONC.SUMD.GROUPBY13.若给出关系 Student(S_no,Sname,Sage,S_sex,SD_name
11、,S_add,S_tel),并用 SQL 语言定义 Student 关系如下: CREATE Student(S_no CHAR(6), Sname CHAR(30) NOT NULL, Sage CHAR(30), S_sex CHAR(1), SD_name CHAR(20), S_add CHAR(30), S_tel CHAR(20), PRIMARY KEY(S_no) 以下哪条记录插入到 Student 表能被正确地执行_。(分数:2.00)A.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(
12、“010456“,“小芳“,“18“,“,“,“,“)B.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“010456“,“小芳“,“18“,“女“,“计算机学院“,“北京“,“88661200“)C.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“小芳“,“18“,“F“,“计算机学院“,“北京“,“88661200“)D.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD
13、_name,S_add,S_tel)VALUES(“010456“,“18“F“,“计算机学院“,“北京“,“88661200“)14.为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此 DBA 应创建相应的_。 A视图(View) B索引(Index) C游标(Cursor)D表(Table) (分数:2.00)A.B.C.D.15.有关系 R(Sno,Sname,Sage),下列关于空值的查询语句中,不能产生正确结果的是_。(分数:2.00)A.SELECT Sname FROM R WHERE Sage=NULLB.SELECT Sname FROM R WHERE Sage
14、IS NULLC.SELECT SnameFROMRWHERENOT(SageISNULL)D.SELECT Sname FROM R WHERE Sage IS NOT NULL16.在某数据库中建立了表 Person(Pno,Pname,Psex,Pbirthday),Pno 为表的主码,Pname 不能为空,表中已有记录如下表所示: Pno Pname Psex Pbirthday 2 张三 男 1980/04/23 4 小芳 女 1981/06/12 7 王军 男 1977/01/04 以下 4 个语句中能够正确执行的插入操作是_。(分数:2.00)A.INSERT INTO Pers
15、on VALUES(2,“李四“,“男“,“1984/03/18“)B.INSERT INTO Person(Pname,Psex)VALUES(“李四“,“男“)C.INSERT INTO Person VALUES(3,“男“,“李四,“1984/03/18“)D.INSERT INTO Person(Pno,Psex)VALUES(2,“男“)17.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于平均工资的女职工加薪 200 元,以下 SQL 语句正确的是_。(分数:2.00)A.UPDATE EMP
16、 SET SALARY=SALARY+200WHERE SALAEY(SELECT AVG(SALARY)FROM EMP) AND SEX=“女“B.UPDATE FROM EMP SET SALARY=200WHERE SALAEY(SELECT SUM(SALARY)FROM EMP) AND SEX=“女“C.UPDATEEMP SET SALARY=200WHERE SALAEY(SELECT AVG(SALARY)FROM EMP) AND SEX=“女“D.UPDATE FROM EMP SET SALARY=SALARY+200WHERE SALAEYfSELECT SUM(S
17、ALARY)FROM EMP) AND SEX=“女“18.删除表职工中与表职工 1 有相同职工号的记录,以下 SQL 语句不正确的是_。(分数:2.00)A.DELETE FROM 职工 FROM 职工 1 WHERE 职工.职工号=职工 1.职工号B.DELETE FROM 职工 FROM 职工 a JOIN 职工 1 b ON a.职工号=b.职工号C.DELETE FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 职工 1)D.DELETE FROM 职工 WHERE 职工号=职工 1.职工号基于以下描述:设有供应商关系 S 和零件关系 P 如下表所示,它们的主
18、码分别是“供应商号”和“零件号”,且零件关系 P 的属性“供应商号”是它的外码,属性“颜色”只能取值为“红”、“白”或“蓝”。 供应商关系 S 供应商号 供应商名 所在城市 B01 红星 北京 S10 宇宙 上海 T20 黎明 天津 Z01 立新 重庆 零件关系 P 零件号 颜色 供应商号 010 红 B01 201 蓝 T20 312 白 S10 (分数:6.00)(1).下列哪个(些)行不能插入到关系 P 中_。 (“201“,“白“,“S10“) (“101“,“蓝“,“S01“) (“301“,“绿“,“B01“)(分数:2.00)A.仅B.仅和C.仅D.都不能(2).关系 S 中的下
19、列行,哪个(些)可以被删除_。 (“S10“,“宇宙“,“上海“) (“Z01“,“立新“,“重庆“)(分数:2.00)A.仅B.仅C.都可以D.都不可以(3).下列哪个(些)更新操作可以执行_。 UPDATE S SET 所在城市=“广州“WHERE 所在城市=“备京“ UPDATE P SET 供应商号=“B02“WHERE 供应商号=“B01“(分数:2.00)A.仅B.仅C.都可以D.都不可以19.下列关于关系数据库视图的叙述中,哪一些是正确的_。 视图是关系数据库三级模式中的内模式 视图能够对机密数据提供安全保护 视图提供了一定程度的数据逻辑独立性 对视图的一切操作最终要转换为对基本
20、表的操作 V 所有的视图都是可以更新的(分数:2.00)A.仅、和B.仅、和C.仅、和D.都正确20.将职工表中职工号为 02312 的职工的基本工资提高 20%,以下 SQL 语句正确的是_。(分数:2.00)A.UPDATE FROM 职工 VALUES 基本工资=基本工资*1.2 WHERE 职工号=“02312“B.UPDATE INTO 职工 SET 基本工资=基本工资*1.2 WHERE 职工号=“02312“C.UPDATE 职工 VALUES 基本工资=基本工资*1.2 WHERE 职工号=“02312“D.UPDATE 职工 SET 基本工资=基本工资*1.2 WHERE 职
21、工号=“02312“21.有学生关系:学生(学号,姓名,年龄),对学生关系的查询语句如下: SELECT 学号 FROM 学生 WHERE 年龄20 AND 姓名 LIKE“%海“ 如果要提高该语句的查询效率,应该建立索引的属性是_。(分数:2.00)A.学号B.姓名C.年龄D.(学号,姓名)22.使用视图不能完成的操作是_。(分数:2.00)A.更新视图B.查询数据C.在视图上定义新的表D.在视图上定义新的视图23.在 SQL 语言中,删除一个视图的命令是_。(分数:2.00)A.DELETEB.DROPC.CLEARD.REMOVE24.SQL 中的视图机制提高了数据库系统的_。(分数:2
22、.00)A.完整性B.并发控制C.效率D.安全性二、简答题(总题数:2,分数:40.00)25.某职工社团管理系统有如下 3 个基本表: 职工( 职工号 ,姓名,年龄,性别) 社会团体( 编号 ,名称,负责人,活动地点) 参与( 职工号,编号 ,参与日期) 其中: 职工表的主码为职工号,职工姓名不能为空。 社会团体表的主码为编号,外码为负责人,被参照表为职工表,参照属性为职工号,社会团体名称不能为空。 参与表的主码为职工号和编号,职工号为外码,被参照表为职工表,参照属性为职工号,编号为外码,被参照表为社会团体表,参照属性为编号。 试用 SQL 语句实现以下操作。 (1)定义职工表、社会团体表和
23、参与表,并说明其主码和参照关系。 (2)定义两个视图: 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) 参与人情况(职工号,姓名,社团编号,社团名称,参与日期) (3)查询参与羽毛球队、秧歌队或冬泳队的职工号和姓名。 (4)查询参与冬泳队且年龄大于 50 岁的职工的职工号和姓名。 (5)查询还没有确定负责人的社会团体编号和名称。 (6)查询没有参与任何社会团体的职工情况。 (7)查询姓“李”且参与至少一个社会团体的男员工的平均年龄。 (8)查询与“肖波”至少参与一个相同社会团体的所有职工信息。 (9)查询年龄在 4555 岁之间的女职工或年龄在 5060 岁之间的男职工的所有信
24、息。 (10)查询参与了全部社会团体的职工情况。 (11)查询参与了职工号为“0001”的职工所参与的全部社会团体的职工号。 (12)查询与“秧歌队”负责人年龄相同的职工的姓名。 (13)查询比“秧歌队”中所有职工年龄都大的职工的姓名。 (14)查询并统计每个社会团体的名称和参与人数。 (15)查询并统计参与人数最少的社会团体的名称和参与人数。 (16)查询并统计参与人数超过 20 人的社会团体的名称和负责人。 (分数:20.00)_26.某教学管理数据库中有如下 3 个基本表。 学生:S( S# ,SNAME,AGE,SEX),属性分别表示学号、姓名、年龄和性别。 学习:SC( S#,C#
25、,GRADE),属性分别表示学号、课程号和成绩。 课程:C( C# ,CNAME,TEACHER),属性分别表示课程号、课程名和教师姓名。 试用 SQL 语句完成下列操作: (1)查询年龄大于 20 岁的男学生的学号和姓名。 (2)查询选修课程名为“操作系统”课程的学生的平均年龄。 (3)查询教师“王明”所授课程的课程号和课程名。 (4)查询选修课程包含教师“王明”所授课程的学生学号。 (5)查询教师“王明”所授课程的每门课程的学生平均成绩。 (6)统计每门课程的学生选修人数(超过 10 人的课程才统计),要求输出课程号和选修人数,查询结果按选修人数降序排列,若人数相同,则按课程号升序排列。
26、(7)查询姓张的所有学生的姓名和年龄。 (8)查询成绩为空值的学生学号和课程号。 (9)查询年龄大于女学生平均年龄的男学生姓名和年龄。 (10)查询年龄大于所有女学生年龄的男学生姓名和年龄。 (11)查询选修课程门数超过学号为 S0001 的学生选修门数的所有学生信息。 (12)查询每个学生的学号、选修课程门数(COUNT_C)和总成绩(TOTAL_G),将查询结果保存在一个名为RESULT 的新表中。 (13)将 SC 中尚无成绩的选课记录删除。 (14)将学生“张三”的学习选课信息全部删去。 (15)将选修“操作系统”课程且不及格的成绩全改为空值。 (16)将低于总平均成绩的女学生成绩提高
27、 10%。 (分数:20.00)_数据库工程师-7 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:26,分数:60.00)1.以下哪种 SQL Server 整型数据类型占用 4 字节的存储空间_。(分数:2.00)A.bigintB.int C.smallintD.tinyint解析:2.以下哪种数据类型不能用于存储 GIF、JPG、BMP 等格式的图片文件_。(分数:2.00)A.text B.binaryC.varbinaryD.image解析:3.某系统中,车牌号码字段长度为 7 位,第 1 位用一个字符表示一个省的简称,第 2 位为A-Z之间的字母,第 37
28、 位为A-z之间的字母或09之间的数字,则最好采用以下哪种数据类型来存储车牌号码信息_。(分数:2.00)A.imageB.textC.char D.varchar解析:4.某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。 职工(职工号,姓名,年龄,月薪,部门号,电话,地址) 部门(部门号,部门名,电话,负责人代码,任职时间) 以下定义部门关系的 SQL 语句正确的是_。(分数:2.00)A.CREATE TABLE 部门(部门号 CHAR(4)PRIMARYKEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGN
29、KEY(电话)REFERENCES 职工电话B.CREATE TABLE 部门(部门号 CHAR(4)PRIMARY KEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGNKEY(部门号)REFERENCES 部门(部门号)C.CREATE TABLE 部门(部门号 CHAR(4)PRIMARYKEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGN KEY(部门号)REFERENCES 职工(部门号)D.CREATE TABLE 部门(部门号 CHAR(4)PRIMA
30、RY KEY,部门名 CHAR(20),电话 CHAR(13),负责人代码CHAR(5),任职时间 DATE,FOREIGN KEY(负责人代码)REFERENCES 职工(职工号) 解析:5.用如下 SQL 语句创建了表 SC:CREATE TABLE SC(SNo CHAR(6)NOTNULL,CNo CHAR(3)NOTNULL,Score INT,Note CHAR(20),以下哪个记录可以插入该表中_。(分数:2.00)A.(“102312“,“101“,60,选修)B.(“222302“,“112“,NULL,NULL) C.(NULL,“101“,65,“必修“)D.(23103
31、4,“101“,78,“)解析:6.在创建关系表时,使用以下哪个关键字用来定义唯一约束_。(分数:2.00)A.NOTNULLB.UNIQUE C.CHECKD.PRIMARY KEY解析:7.在 SQL 语言中,可用以下哪种约束来定义候选码_。(分数:2.00)A.CANDIDATE KEYB.PRIMARY KEYC.UNIQUE NOT NULL D.UNIQUE解析:8.使用 SQL 语言的 SELECT 语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用子句_。(分数:2.00)A.WHEREB.GROUPBYC.HAVING D.ORDERBY解析:9.在 SQL 语句中,
32、“SELECT DISTINCT”表示查询结果中_。(分数:2.00)A.属性名都不相同B.去掉了重复的列 C.行都不相同D.属性值都不相同解析:10.在 SQL 的查询语句中,对应关系代数中“投影”运算的语句是_。(分数:2.00)A.SELECT B.FROMC.WHERED.SET解析:11.设有关系 R(书号,书名),如果要检索第 3 个字母为 M,且至少包含 4 个字母的书名,则 SQL 查询语句中 WHERE 子句的条件表达式应写成_。(分数:2.00)A.书名 LIKE “_ _M_“B.书名 LIKE “_ _M%“C.书名 LIKE “_ _M_%“ D.书名 LIKE “_
33、%M_“解析:基于以下描述:某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。 职工(职工号,姓名,年龄,月工资,部门号,电话,办公室) 部门(部门号,部门名,负责人代码,任职时间)(分数:6.00)(1).查询每个部门中月工资最高的“职工号”,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 职工号 FROM 职工 AS E WHERE 月工资=(SELECTMAX(月工资)FROM 职工 ASMWHEREM.部门号=E.部门号) B.SELECT MAX(月工资),职工号 FROM 职工C.SELECT 职工号 FROM 职工 WHERE 月工资 IN(SEL
34、ECTMAX(月工资)FROM 职工)D.SELECT 职工号 FROM 职工 WHERE 月工资=(SELECTMAX(月工资)FROM 职工 GROUPBY 部门号)解析:(2).查询比软件部所有职工月工资都要少的职工姓名及月工资,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 姓名,月工资 FROM 职工 WHERE 月工资ALL(SELECT MAX(月工资)FROM 职工 WHERE 部门号=“软件部“)B.SELECT 姓名,月工资 FROM 职工 WHERE 月工资(SELECT COUNT(月工资)FROM 职工 WHERE 部门号=“软件部“)C.SELEC
35、T 姓名,月工资 FROM 职工 WHERE 月工资(SELECT MAX(月工资)FROM 职工 WHERE 部门号=“软件部“)D.SELECT 姓名,月工资 FROM 职工 WHERE 月工资(SELECT MIN(月工资)FROM 职工 WHERE 部门号=“软件部“) 解析:(3).查询比所在部门负责人月工资还要高的职工的姓名,以下 SQL 语句正确的是_。(分数:2.00)A.SELECT 姓名 FROM 职工 WHERE 月工资(SELECTE.月工资 FROM 职工 AS E,部门 AS DWHERE E.职工号=D.负责人代码)B.SELECTE1姓名 FROM 职工 AS
36、E1,职工 AS E2,部门 WHERE 部门.负责人代码=E2.职工号 AND E1.职工号=E2.职工号 AND E1.月工资E2.月工资 C.SELECTE1.姓名 FROM 职工 AS E1,职工 AS E2,部门 WHERE E1.职工号=E2.职工号 AND E1.月工资E2月工资D.SELECT E1.姓名 FROM 职工 AS E1 WHERE 月工资(SELECTE1.月工资 FROM 职工 AS E2,部门 WHERE 部门.负责人代码=E2.职工号 AND E1.月工资E2.月工资)解析:12.在两个查询语句之间使用以下哪个关键字来实现集合的并运算_。(分数:2.00)A
37、.JOINB.UNION C.SUMD.GROUPBY解析:13.若给出关系 Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel),并用 SQL 语言定义 Student 关系如下: CREATE Student(S_no CHAR(6), Sname CHAR(30) NOT NULL, Sage CHAR(30), S_sex CHAR(1), SD_name CHAR(20), S_add CHAR(30), S_tel CHAR(20), PRIMARY KEY(S_no) 以下哪条记录插入到 Student 表能被正确地执行_。(分数:
38、2.00)A.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“010456“,“小芳“,“18“,“,“,“,“) B.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“010456“,“小芳“,“18“,“女“,“计算机学院“,“北京“,“88661200“)C.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“小芳“,“1
39、8“,“F“,“计算机学院“,“北京“,“88661200“)D.INSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(“010456“,“18“F“,“计算机学院“,“北京“,“88661200“)解析:14.为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此 DBA 应创建相应的_。 A视图(View) B索引(Index) C游标(Cursor)D表(Table) (分数:2.00)A. B.C.D.解析:15.有关系 R(Sno,Sname,Sage),下列关于空值的查询语句中,不能产生正确结
40、果的是_。(分数:2.00)A.SELECT Sname FROM R WHERE Sage=NULL B.SELECT Sname FROM R WHERE Sage IS NULLC.SELECT SnameFROMRWHERENOT(SageISNULL)D.SELECT Sname FROM R WHERE Sage IS NOT NULL解析:16.在某数据库中建立了表 Person(Pno,Pname,Psex,Pbirthday),Pno 为表的主码,Pname 不能为空,表中已有记录如下表所示: Pno Pname Psex Pbirthday 2 张三 男 1980/04/2
41、3 4 小芳 女 1981/06/12 7 王军 男 1977/01/04 以下 4 个语句中能够正确执行的插入操作是_。(分数:2.00)A.INSERT INTO Person VALUES(2,“李四“,“男“,“1984/03/18“)B.INSERT INTO Person(Pname,Psex)VALUES(“李四“,“男“)C.INSERT INTO Person VALUES(3,“男“,“李四,“1984/03/18“) D.INSERT INTO Person(Pno,Psex)VALUES(2,“男“)解析:17.设有职工基本表:EMP(ENO,ENAME,AGE,SEX
42、,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于平均工资的女职工加薪 200 元,以下 SQL 语句正确的是_。(分数:2.00)A.UPDATE EMP SET SALARY=SALARY+200WHERE SALAEY(SELECT AVG(SALARY)FROM EMP) AND SEX=“女“ B.UPDATE FROM EMP SET SALARY=200WHERE SALAEY(SELECT SUM(SALARY)FROM EMP) AND SEX=“女“C.UPDATEEMP SET SALARY=200WHERE SALAEY(SELECT AVG
43、(SALARY)FROM EMP) AND SEX=“女“D.UPDATE FROM EMP SET SALARY=SALARY+200WHERE SALAEYfSELECT SUM(SALARY)FROM EMP) AND SEX=“女“解析:18.删除表职工中与表职工 1 有相同职工号的记录,以下 SQL 语句不正确的是_。(分数:2.00)A.DELETE FROM 职工 FROM 职工 1 WHERE 职工.职工号=职工 1.职工号B.DELETE FROM 职工 FROM 职工 a JOIN 职工 1 b ON a.职工号=b.职工号C.DELETE FROM 职工 WHERE 职工
44、号 IN(SELECT 职工号 FROM 职工 1)D.DELETE FROM 职工 WHERE 职工号=职工 1.职工号 解析:基于以下描述:设有供应商关系 S 和零件关系 P 如下表所示,它们的主码分别是“供应商号”和“零件号”,且零件关系 P 的属性“供应商号”是它的外码,属性“颜色”只能取值为“红”、“白”或“蓝”。 供应商关系 S 供应商号 供应商名 所在城市 B01 红星 北京 S10 宇宙 上海 T20 黎明 天津 Z01 立新 重庆 零件关系 P 零件号 颜色 供应商号 010 红 B01 201 蓝 T20 312 白 S10 (分数:6.00)(1).下列哪个(些)行不能插
45、入到关系 P 中_。 (“201“,“白“,“S10“) (“101“,“蓝“,“S01“) (“301“,“绿“,“B01“)(分数:2.00)A.仅B.仅和C.仅D.都不能 解析:(2).关系 S 中的下列行,哪个(些)可以被删除_。 (“S10“,“宇宙“,“上海“) (“Z01“,“立新“,“重庆“)(分数:2.00)A.仅B.仅 C.都可以D.都不可以解析:(3).下列哪个(些)更新操作可以执行_。 UPDATE S SET 所在城市=“广州“WHERE 所在城市=“备京“ UPDATE P SET 供应商号=“B02“WHERE 供应商号=“B01“(分数:2.00)A.仅 B.仅
46、C.都可以D.都不可以解析:19.下列关于关系数据库视图的叙述中,哪一些是正确的_。 视图是关系数据库三级模式中的内模式 视图能够对机密数据提供安全保护 视图提供了一定程度的数据逻辑独立性 对视图的一切操作最终要转换为对基本表的操作 V 所有的视图都是可以更新的(分数:2.00)A.仅、和B.仅、和 C.仅、和D.都正确解析:20.将职工表中职工号为 02312 的职工的基本工资提高 20%,以下 SQL 语句正确的是_。(分数:2.00)A.UPDATE FROM 职工 VALUES 基本工资=基本工资*1.2 WHERE 职工号=“02312“B.UPDATE INTO 职工 SET 基本
47、工资=基本工资*1.2 WHERE 职工号=“02312“C.UPDATE 职工 VALUES 基本工资=基本工资*1.2 WHERE 职工号=“02312“D.UPDATE 职工 SET 基本工资=基本工资*1.2 WHERE 职工号=“02312“ 解析:21.有学生关系:学生(学号,姓名,年龄),对学生关系的查询语句如下: SELECT 学号 FROM 学生 WHERE 年龄20 AND 姓名 LIKE“%海“ 如果要提高该语句的查询效率,应该建立索引的属性是_。(分数:2.00)A.学号B.姓名C.年龄 D.(学号,姓名)解析:22.使用视图不能完成的操作是_。(分数:2.00)A.更新视图B.查询数据C.在视图上定义新的表 D.在视图上定义新的视图解析:23.在 SQL 语言中,删除一个视图的命令是_。(分数:2.00)A.DELETEB.DROP C.CLEARD.REMOVE解析:24.SQL 中的视图机制提高了数据库系统的_。(分数:2.00)A.完整性B.并发控制C.效率D.安全性 解析:二、简答题(总题数:2,分数:40.00)25.某职工社团管理系统有如下 3 个基本表: 职工( 职工号 ,姓名,年龄,性别) 社会团体( 编号 ,名