数据库工程师-7_第1页
数据库工程师-7_第2页
数据库工程师-7_第3页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库工程师 -7( 总分: 100.00 ,做题时间: 90 分钟 )一、选择题 (总题数: 26,分数: 60.00)1. 以下哪种 SQL Server 整型数据类型占用 4字节的存储空间 。(分数: 2.00 )A. bigintB. intVC. smallintD. tinyint解析:2. 以下哪种数据类型不能用于存储GIF、JPG BMP等格式的图片文件 。(分数: 2.00 )A. textVB. binaryC. varbinaryD. image解析:3. 某系统中,车牌号码字段长度为7位,第1位用一个字符表示一个省的简称,第2位为A-Z之间的字母,第37位为A-z之间的

2、字母或0 9之间的数字,则最好采用以下哪种数据类型来存储车牌号码信息(分数: 2.00 )A. imageB. textC. char VD. varchar解析:4. 某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工(职工号,姓名,年龄,月薪,部门号,电话,地址)部门(部门号,部门名,电话,负责人代码,任职时间)以下定义部门关系的 SQL语句正确的是 。(分数: 2.00 )A. CREATETABLE部门(部门号 CHAR(4)PRIMARYKEYB门名 CHAR(20),电话 CHAR(13),负责人代码 CHAR(5), 任职时间DATE FOREIGN KEY电话

3、)REFERENCE职工电话B. CREATETABLE部门(部门号 CHAR(4)PRIMARKEY 部门名 CHAR(20),电话 CHAR(13),负责人代码 CHAR(5), 任职时间DATE FOREIGNKEY部门号)REFERENCE部门(部门号)C. CREATETABLE部门(部门号 CHAR(4)PRIMARYKEYB门名 CHAR(20),电话 CHAR(13),负责人代码 CHAR(5), 任职时间DATE FOREIGN KEY部门号)REFERENCE职工(部门号)D. CREATETABLE部门(部门号 CHAR(4)PRIMARKEY 部门名 CHAR(20),

4、电话 CHAR(13),负责人代码 CHAR(5), 任职时间DATE FOREIGN KEY负责人代码 REFERENCE职工(职工号) V解析:5. 用如下 SQL语句创建了表 SC: CREATABLESC(SNoCHAR(6)NOTNULLCNoCHAR(3)NOTNULLScore INT,Note CHAR(20) ,以下哪个记录可以插入该表中 。(分数: 2.00 )A. ("102312","101",60,选修)B. ("222302","112",NULL,NULL)VC. (NULL,&quo

5、t;101",65," 必修")D. (231034,"101",78,")解析:6. 在创建关系表时,使用以下哪个关键字用来定义唯一约束 。(分数: 2.00 )A. NOTNULLB. UNIQUE VC. CHECKD. PRIMARY KEY解析:7. 在SQL语言中,可用以下哪种约束来定义候选码 。(分数: 2.00 )A. CANDIDATE KEYB. PRIMARY KEYC. UNIQUE NOT NULL VD. UNIQUE解析:8. 使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,

6、应当使用子句(分数: 2.00 )A. WHEREB. GROUPBYC. HAVING VD. ORDERBY解析:9. 在SQL语句中,“ SELECT DISTINCT表示查询结果中 。(分数: 2.00 )A. 属性名都不相同B. 去掉了重复的列 VC. 行都不相同D. 属性值都不相同解析:10. 在SQL的查询语句中,对应关系代数中“投影”运算的语句是 。(分数: 2.00 )A. SELECT VB. FROMC. WHERED. SET解析:11. 设有关系R(书号,书名),如果要检索第3个字母为M,且至少包含4个字母的书名,则 SQL查询语句中WHER子句的条件表达式应写成 。

7、(分数: 2.00 )A. 书名 LIKE "_ _M_"B. 书名 LIKE "_ _M%"C. 书名 LIKE "_ _M_%" VD. 书名 LIKE "_%M_"解析: 基于以下描述:某企业职工和部门的关系模式如下所示,其中部门负责人也是一个职工。职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)(分数:6.00 )(1).查询每个部门中月工资最高的“职工号”,以下SQL语句正确的是 。(分数:2.00 )A. SELECT职工号 FROM只工 AS E W

8、HERgl工资=(SELECTMAX| 工资)FROM只工 ASMWHEREM门号=E.部 门号) VB. SELECT MAX月工资),职工号 FROM只工C. SELECT职工号FROM只工 WHER月工资IN(SELECTMAX月工资)FROM职工)D. SELECT职工号FROM只工 WHER月工资=(SELECTMAX|工资)FROM职工GROUPB部门号) 解析:(2).查询比软件部所有职工月工资都要少的职工姓名及月工资,以下SQL语句正确的是。(分数:2.00 )A. SELECT姓 名, 件部 ")B. SELECT姓 名, 部")C. SELECT姓 名,

9、")月工资月工资月工资FROM只工 WHERg工资VFROM只工 WHERg工资VFROM只工 WHERg工资VD.SELECT姓 名,") V解析:(3). 查询比所在部门负责人月工资还要高的只工的姓名,月工资FROM只工 WHERg工资VALL(SELECT MAX月工资)FROM职工 WHER部门号="软(SELECTCOUNT月工资)FROM职工 WHER部门号="软件(SELECTMAX月工资)FROM职工 WHER部门号="软件部(SELECTMIN(月工资)FROM职工 WHER部门号="软件部以下SQL语句正确的是。(

10、分数:2.00 )A. SELECT姓名 FROM只工 WHERg工资(SELECTE.月工资 FROM只工 AS E,部门 ASDWHERE.职工号=D. 负责人代码 )B. SELECTE1姓名FROM只工AS E1,职工AS E2,部门 WHER部门.负责人代码=E2.职工号AND E1.职工 号=E2.职工号 AND E1.月工资E2.月工资 VC. SELECTE1.姓名 FROM只工 AS E1,职工 AS E2,部门 WHERE E1职工号=E2.职工号 AND E1.月工资E2 月工资D. SELECT E1.姓名 FROM只工 AS E1 WHEREi工资(SELECTE1

11、.g工资 FROM只工 AS E2,部门 WHER部 门.负责人代码=E2.职工号AND E1.月工资E2.月工资)解析:12. 在两个查询语句之间使用以下哪个关键字来实现集合的并运算(分数: 2.00 )A. JOINB. UNION VC. 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 CH

12、AR(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("010456"," 小芳 ","18",",",",")VB. IN SERT INTO Student(S_no,Sname,Sage

13、,S_sex,SD_name,S_add,S_tel)VALUES("010456"," 小芳”,"18","女","计算机学院","北京","88661200")CNSERT INTO Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel)VALUES(" 小芳","18","F"," 计 算机学院","北京",&quo

14、t;88661200")DN SERT 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 .表仃able)(分数:2.00 )A. VB.C

15、.D.解析:15. 有关系R(Sno,Sname,Sage),下列关于空值的查询语句中,不能产生正确结果的是 。(分数:2.00 )A. SELECT Sname FROM R WHERE Sage=NULVB. SELECT Sname FROM R WHERE Sage IS NULLC. SELECT SnameFROMRWHERENOT(SagelSNULL)D. SELECT Sname FROM R WHERE Sage IS NOT NULL解析:16. 在某数据库中建立了表 Person(Pno,Pname,Psex,Pbirthday) ,Pno为表的主码,Pname不能为空

16、,表中已有记录如下表所示:PnoPnamee°sexPbirthday2张三男1980/04/234小芳女1981/06/127王军男1977/01/04以下4个语句中能够正确执行的插入操作是 。(分数:2.00 )A. INSERT INTO Person VALUES(2,"李四","男","1984/03/18")B. INSERT INTO Person(Pname,Psex)VALUES("李四","男")CNSERT INTO Person VALUES(3,"男

17、","李四,"1984/03/18") VDN SERT INTO Person(Pno,Psex)VALUES(2," 男")解析:17. 设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于平均工资的女职工加薪200元,以下SQL语句正确的是 。(分数:2.00 )A. UPDATEEMPSET SALARY=SALARY+200WHEREAEY; (SELECT AVG(SALARY)FROEMIP) ANDSEX='女" VB.

18、UPDATE FROM EMP SET SALARY=200WHERE SAkA(BELECT SUM(SALARY)FROM EMP) AND SEX="C. UPDATEEMP SET SALARY=200WHERE SALASELECT AVG(SALARY)FROM EMP) AND SEX女'"D. UPDATE FROM EMP SET SALARY=SALARY+200WHERE SAtSffiYECT SUM(SALARY)FROM EMP) AND SEX=" 女"解析:18. 删除表职工中与表职工 1有相同职工号的记录,以下

19、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)1.职工号 VD. DELETE FROM只工 WHERE职工号=职工解析:P如下表所示,它们的主码分别是“供应商号”和“零件号”, 属性“颜色”只能取值为“红”、“白”或“蓝”。基于以下描述:设有供应商关系S和零件关系 且零件关系P的属性“供应商号”是它的外码,供应商关

20、系S供应商号供应商名所在城市B01红星北京dS10宇宙上海T20黎明天津jZ01立新重庆零件关系p零件号颜色供应商号010红B01201蓝T20312白S10(分数:6.00 )下列哪个(些)行不能插入到关系 P中("201","("101","("301","(1).I.u.山.白","S10")蓝","S01")绿","B01")(分数:2.00 )A. 仅IB. 仅I和UC. 仅山D. 都不能解析:(2).关系

21、S中的下列行,哪个(些)可以被删除I. ("S10","宇宙","上海")u. ("Z01"," 立新","重庆")(分数:2.00 )A. 仅IB. 仅 U VC. 都可以D. 都不可以 解析:(3).下列哪个(些)更新操作可以执行。I. UPDATE S SET所在城市="广州"WHERE所在城市="备京"U. UPDATE P SET供应商号="B02"WHERE供应商号="B01"(分数:

22、2.00 )A. 仅 I VB. 仅UC. 都可以D. 都不可以解析:19. 下列关于关系数据库视图的叙述中,哪一些是正确的 。I 视图是关系数据库三级模式中的内模式H.视图能够对机密数据提供安全保护山视图提供了一定程度的数据逻辑独立性W.对视图的一切操作最终要转换为对基本表的操作V所有的视图都是可以更新的(分数: 2.00 )A. 仅I、U和山B. 仅 n>m 和wVC. 仅u、山、w和vD. 都正确解析:20. 将职工表中职工号为 02312的职工的基本工资提高 20%以下SQL语句正确的是 (分数: 2.00 )A. UPDATE FROM只工 VALUES基本工资=基本工资*1.

23、2 WHERE职工号="02312"B. UPDATE INTO职工SET基本工资=基本工资*1.2 WHERE职工号="02312"C. UPDATE职工 VALUES基本工资=基本工资*1.2 WHERE职工号="02312"D. UPDATE职工SET基本工资=基本工资*1.2 WHERE职工号="02312" V解析:21. 有学生关系:学生 (学号,姓名,年龄 ),对学生关系的查询语句如下:SELECT学号 FROM 学生 WHERE年龄20 AND 姓名 LIKE"% 海"如果要提高

24、该语句的查询效率,应该建立索引的属性是 。(分数: 2.00 )A. 学号B. 姓名C. 年龄 VD. ( 学号, 姓名 )解析:22. 使用视图不能完成的操作是 。(分数: 2.00 )A. 更新视图B. 查询数据C. 在视图上定义新的表 VD. 在视图上定义新的视图解析:23. 在SQL语言中,删除一个视图的命令是 。(分数: 2.00 )A. DELETEB. DROP VC. CLEARD. REMOVE解析:24.SQL 中的视图机制提高了数据库系统的 。(分数: 2.00 )A. 完整性B. 并发控制C. 效率D. 安全性 V解析:二、 简答题 ( 总题数: 2,分数: 40.00

25、)25. 某职工社团管理系统有如下 3个基本表:职工(职工号,姓名,年龄,性别)社会团体(编号,名称,负责人,活动地点)参与(职工号,编号,参与日期)其中:职工表的主码为职工号,职工姓名不能为空。社会团体表的主码为编号,外码为负责人,被参照表为职工表,参照属性为职工号,社会团体名称不能 为空。参与表的主码为职工号和编号,职工号为外码,被参照表为职工表,参照属性为职工号,编号为外码, 被参照表为社会团体表,参照属性为编号。试用SQL语句实现以下操作。(1) 定义职工表、社会团体表和参与表,并说明其主码和参照关系。(2) 定义两个视图:社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

26、参与人情况(职工号,姓名,社团编号,社团名称,参与日期)(3) 查询参与羽毛球队、秧歌队或冬泳队的职工号和姓名。(4) 查询参与冬泳队且年龄大于 50岁的职工的职工号和姓名。(5) 查询还没有确定负责人的社会团体编号和名称。(6) 查询没有参与任何社会团体的职工情况。(7) 查询姓“李”且参与至少一个社会团体的男员工的平均年龄。(8) 查询与“肖波”至少参与一个相同社会团体的所有职工信息。(9) 查询年龄在4555岁之间的女职工或年龄在 5060岁之间的男职工的所有信息。(10) 查询参与了全部社会团体的职工情况。(11) 查询参与了职工号为“ 0001”的职工所参与的全部社会团体的职工号。(

27、12) 查询与“秧歌队”负责人年龄相同的职工的姓名。(13) 查询比“秧歌队”中所有职工年龄都大的职工的姓名。(14) 查询并统计每个社会团体的名称和参与人数。(15) 查询并统计参与人数最少的社会团体的名称和参与人数。(16) 查询并统计参与人数超过 20人的社会团体的名称和负责人。(分数:20.00 ) 正确答案:()解析:CREATE TABLE只工(职工号 CHAR(8) PRIMARY KEY,姓名 CHAR (8) NOT NULL,年龄 SMAL LINT,性另 U CHAR (2),CONSTRAINT C1 CHECK性别 IN (" 男","女

28、")CREATE TABLE社会团体(编号 CHAR(8) PRIMARY KEY,名称 CHAR(8) NOT NULL,负责人CHAR(8),活动地点VARCHAR(50),CONSTRAINT C2 FOREIGN KE负责人)REFERENCES只工(职工号)CREATE TABLE参与 (职工号CHAR(8),编号 CHAR(8),参与日期 DATETLME,CONSTRAINT C3 PRIMARY KE职工号,编号),CONSTRAINT C4 FOREIGN KEY职工号)REFERENCES职工(职工号)(2)CREATE VIEW社团负责人(编号,名称,负责人职工

29、号,负责人姓名,负责人性别) AS SELECT编号,名称,负责人,姓名,性别FROM社会团体,职工WHERE±会团体.负责人=职工.职工号CREATE VIEW参与人情况(职工号,姓名,社团编号,社团名称,参与日期) AS SELECT职工.职工号,姓名,社会团体.编号,名称,参与日期FROM职工,社会团体,参与WHERE只工.职工号=参与.职工号AND参与.编号=社会团体.编号(3)SELECT DISTINCT 职工. 职工号,姓名FROM职工,社会团体,参与WHERE只工.职工号=参与.职工号AND参与.编号=社会团体.编号AND 社会团体 . 名称 IN (" 羽

30、毛球队 "," 秧歌队"," 冬泳队")(4)SELECT职工号,姓名FROM职工WHERE只工号IN(SELECT 职工号FROM参与WHER歸号IN(SELECT 编号FROM社会团体WHEREg称="冬泳队")AND年龄50(5)SELECT编号,名称FROM社会团体WHER殒责人 IS NULL(6)SELECT *FROM职工WHERE NOT EXISTS (SELECT *FROM参与WHER参与.职工号=职工.职工号)(7)SELECT AVG年龄)FROM职工WHERE生名 LIKE "李 %&q

31、uot; AND 性另 U ="男"AND EXISTS (SELECT *FROM参与WHER参与.职工号=职工.职工号)(8)SELECT *FROM 职工 AS E1WHERE E1 姓名o "肖波"AND EXISTS(SELECT J1. 编号FROM参与 AS J1WHERE J1职工号=E1.职工号 AND J1.编号=ANY(SELECT J2. 编号FROM 职工 AS E2, 参与 AS J2WHERE E2职工号=J2.职工号 AND E2.姓名="肖波")(9)SELECT *FROM职工WHERE (年龄 B

32、ETWEEN 45 AND 55) AND 性别="女") OR( 年龄 BETWEEN 50 AND 60) AND 性别="男")(10)SELECT *FROM职工WHERE NOT EXISTS (SELECT *FROM参与WHERE NOT EXISTS (SELECT *FROM社会团体WHER参与.职工号=职工.职工号AND参与.编号=社会团体.编号)(11)SELECT职工号FROM职工WHERE NOT EXISTS (SELECT *FROM参与 AS 参与 1WHER参与 1.职工号="0001" AND NO

33、T EXISTS (SELECT *FROM参与 AS 参与 2WHER参与2.编号=参与1.编号AND参与2.职工号=职工.职工号)(12)SELECT姓名FROM职工WHERE龄(SELECT年龄FROM职工,社会团体WHERE±会团体.负责人=职工.职工号AND社会团体.名称="秧歌队”)(13)SELECT姓名FROM职工WHERE龄ALL(SELECT年龄FROM职工,社会团体,参与WHERE±会团体.编号=参与.编号AND职工.职工号=参与.职工号AND 社会团体 .名称="秧歌队")(14)SELECT社会团体.名称,COUNT参

34、与.职工号)FROM社会团体,参与WHERE社会团体.编号=参与.编号GROUP BY参与.编号,社会团体.名称(15)SELECT社会团体.名称,COUNT参与.职工号)FROM社会团体,参与WHEREt会团体.编号=参与.编号GROUP BY参与.编号,社会团体.名称HAVING COUNT参与.职工号)v =ALL (SELECT COUNT!与.职工号)FROM参与GROUP BY参与.编号)(16)SELECT社会团体.名称,职工.姓名FROM职工,社会团体,参与WHEREt会团体.编号=参与.编号AND社会团体.负责人=职工.职工号GROUP BY参与.编号,社会团体.名称,职工.

35、姓名HAVING COUNT 参与.编号)> 2026. 某教学管理数据库中有如下 3个基本表。学生:S( S#,SNAME,AGE,SEX),属性分别表示学号、姓名、年龄和性别。学习:SC( S#,C# ,GRADE),属性分别表示学号、课程号和成绩。课程:C( C# ,CNAME,TEACHER)属性分别表示课程号、课程名和教师姓名。试用SQL语句完成下列操作:(1) 查询年龄大于20岁的男学生的学号和姓名。(2) 查询选修课程名为“操作系统”课程的学生的平均年龄。(3) 查询教师“王明”所授课程的课程号和课程名。(4) 查询选修课程包含教师“王明”所授课程的学生学号。(5) 查询教

36、师“王明”所授课程的每门课程的学生平均成绩。(6) 统计每门课程的学生选修人数(超过10人的课程才统计),要求输出课程号和选修人数,查询结果按选 修人数降序排列,若人数相同,则按课程号升序排列。(7) 查询姓张的所有学生的姓名和年龄。(8) 查询成绩为空值的学生学号和课程号。(9) 查询年龄大于女学生平均年龄的男学生姓名和年龄。(10) 查询年龄大于所有女学生年龄的男学生姓名和年龄。(11) 查询选修课程门数超过学号为S0001的学生选修门数的所有学生信息。(12) 查询每个学生的学号、选修课程门数(COUNT_C和总成绩仃OTAL_G),将查询结果保存在一个名为 RESULT 的新表中。(13) 将SC中尚无成绩的选课记录删除。(14) 将学生“张三”的学习选课信息全部删去。(15) 将选修“操作系统”课程且不及格的成绩全改为空值。(16) 将低于总平均成绩的女学生成绩提高10%(分数:20.00) 正确答案:()解析:SELECT S#, SNAMEFROM SWHERE (AGE 20) AND (SEX="男")(2)SELECT AVG(AGE)FROM SWHERE S# IN(SELECT S#FROM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论