f(考试时间:180分钟试卷满分:300分)注意事项:1.答卷前,请关闭手机,禁止使用设备对试卷进行拍照。2.请务必将个人相关信息填写在相应位置。3.请将答案填写在相应位置,否则无效。第一部分单选题(每题2分,满分80分)做题时,先将答案标在试卷上,录音结束后,你将有两分钟的时间将试卷上的答案转涂到答题卡上。一、单选题(每题2分*40=80分)1.使用Oracle数据库,必须启动哪个服务()A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleMTSRecoveryServiceD.OracleJobSchedulerSID2.在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer3.用二维表结构表达实体集的模型是()A.概念模型B.层次模型C.网状模型D.关系模型4.Oracle11g是基于()的A.关系型B.文件系统C.层次型D.网络型5.()代表了数据库中最小粒度的逻辑数据存储层次。A.盘区B.表空间C.数据块D.数据文件6.你使用下列命令连接数据库:sqlplusscott/trigger@abc.com:1522/orcl.目标数据库是哪一个?()A.abc.comB.tigerC.orclD.scott7.设有一个关系:DEPT(DNO,DNAME,LOC),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHEREDNAMELIKE()A.‘__W_%’B.‘_%W__’C.‘_W__’D.‘_W_%’8.下列解锁scott账户的命令正确的是()A、updateuserscottaccountunlock;B、alteruserscottaccountunlock;C、alteruserscottunlock;9.having,where,groupby的正确执行顺序是()A、having,where,groupbyB、groupby,having,whereC、where,having,groupbyD、where,groupby,having10.分析下面两个SQL语句,选项中说法正确的有()SELECTlast_name,salary,hire_dateFROMEMPLOYEESORDERBYsalaryDESC;SELECTlast_name,salary,hire_dateFROMEMPLOYEESORDERBY2DESC;A、两个SQL语句的结果完全相同B、第二个SQL语句产生语法错误C、没有必要指定排序方式为desc,因为默认的排序方式是降序排序D、可以通过为第二个SQL语句的salary列添加列别名来使两个SQL语句得到相同的结果注意:Orderbygroupby后跟数字,代表select后的字段的位置11.数据库设计中用关系模型表示实体和实体之间的联系。关系模型的结构是()。A、层次结构B、二维表结构C、网状结构D、封装结构12哪个SQL语句生成计算列SALARY*12的别名—年薪?()A、SELECTename,salary*12'AnnualSalary'FROMemployees;B、SELECTename,salary*12AnnualSalaryFROMemployees;C、SELECTename,salary*12ASAnnualSalaryFROMemployees;D、SELECTename,salary*12ASINITCAP(ANNUALSALARY)FROMemployees别名中间有空格必须双引号函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回.单词由空格,控制字符,标点符号等非字母符号限制.13.并发操作会带来哪些数据不一致性?()A、丢失修改、不可重复读、读脏数据、死锁B、不可重复读、读脏数据、死锁C、丢失修改、读脏数据、死锁D、丢失修改、不可重复读、读脏数据14.对于满足SQL92标准的SQL语句:SELECTfoo,count(foo)FROMpokesWHEREfoo10GROUPBYfooHAVINGORDERBYfoo,其执行的顺序应该为()。A、FROM-WHERE-GROUPBY-HAVING-SELECT-ORDERBYB、FROM-GROUPBY-WHERE-HAVING-SELECT-ORDERBYC、FROM-WHERE-GROUPBY-HAVING-ORDERBY-SELECTD、FROM-WHERE-ORDERBY-GROUPBY-HAVING-SELECT15.使用哪个SELECT语句从系统日期中提取年份并以“1998”格式显示?A、SELECTTO_CHAR(SYSDATE,'yyyy')FROMdual;B、SELECTTO_DATE(SYSDATE,'yyyy')FROMdual;C、SELECTDECODE(SUBSTR(SYSDATE,8),'YYYY')FROMdual;D、SELECTDECODE(SUBSTR(SYSDATE,8),'year')FROMdual;E、SELECTTO_CHAR(SUBSTR(SYSDATE,8,2),'yyyy')FROMdual;16.观察下表(EMP)下列SQLSQL语句正确的是()注意:oracle两个时间相减默认的是天数HIREDATE+10是加10天To_date()第一个参数是字符串类型To_char()第一个参数是日期类型A、SELECTENAME,to_date(SYSDATE-HIREDATE,'yyyy-mm-dd')FROMEMP;B、SELECTENAME,to_date(HIREDATE+10,'yyyy-mm-dd')FROMEMP;C、SELECTENAME,to_char(HIREDATE-10,'yyyy-mm-dd')FROMEMP;D、SELECTENAME,to_char(SYSDATE-HIREDATE,'yyyy-mm-dd')FROMEMP;17.观察下表(EMP),本月老板要在所有员工原有奖金的基础上多发500元的奖金,查询出所有员工姓名以及他的奖金,下列SQL语句能够满足该需求的是()1、nvl(value1,value2)这个函数的意思是如果value1的值为null,那么函数返回value2的值,如果value1不为空,那么就返回value1的值。2、nvl2(value1,value2,value3)这个函数的意思是如果value1的值为null函数返回value3否则函数返回value2也就是说函数永远不会返回value1A、SELECTENAME,COMM+500FROMEMP;B、SELECTENAME,NVL(COMM,0)+500FROMEMP;C、SELECTENAME,NVL(COMM+500,0)FROMEMP;D、SELECTENAME,NVL2(COMM,0)+500FROMEMP;18.客表(customers)中有一存储顾客姓名的字段(customerName),现在想显示欢迎customerName光临小店的字样,下列SQL语句能够满足该需求的是()A、SELECT欢迎||customerName||光临小店FROMcustomers;B、SELECT'欢迎'||customerName||'光临小店'FROMcustomers;C、SELECT'欢迎'|customerName|'光临小店'FROMcustomers;D、SELECT欢迎|customerName|光临小店'FROMcustomers;19.Whichstatementshowsthemaximumsalarypaidineachjobcategoryofeachdepartment?()A、Selectdept_id,job_cat,max(salary)fromemployeeswheresalarymax(salary);B、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id,job_cat;C、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id;D、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id,job_cat,salary;20.关于右外连接查询的说法不正确的是()A、两表进行右外连接查询和左外连接查询查询出的结果都是一样的B、右外连接查询是以右侧的表为主表C、右外连接查询可以和左外连接查询相互转换D、右外连接查询查询时右表中的记录会全部显示21.观察employees表的表结构,经理要求你创建一个视图EMP_VU,该视图允许用户通过视图向表中插入数据,选项中符合要求的是()A、CREATEVIEWemp_vuASSELECTemployee_id,emp_name,department_idFROMemployeesWHEREmgr_idIN(102,120);B、CREATEVIEWemp_vuASSELECTemployee_id,emp_name,job_id,department_idFROMemployeesWHEREmgr_idIN(102,120);C、CREATEVIEWemp_vuASSELECTdepartment_id,SUM(sal)TOTALSALFROMemployeesWHEREmgr_idIN(102,120)GROUPBYdepartment_id;D、CREATEVIEWemp_vuASSELECTemployee_id,emp_name,job_id,DISTINCTdepartment_idFROMemployees;22.观察customers表的表结构,其中CUSTOMER_ID是表的主键。下列哪个选项能够查询出“LosAngeles”和“SanFrancisco”的城市地址(city_address),以及每个城市里顾客的数量()A、SELECTcity_address,COUNT(*)FROMcustomersWHEREcity_addressIN('LosAngeles','SanFrancisco');B、SELECTcity_address,COUNT(*)FROMcustomersWHEREcity_addressIN('LosAngeles','SanFrancisco')GROUPBYcity_address;C、SELECTcity_address,COUNT(customer_id)FROMcustomersWHEREcity_addressIN('LosAngeles','SanFrancisco')GROUPBYcity_address,customer_id;D、SELECTcity_address,COUNT(customer_id)FROMcustomersGROUPBYcity_addressIN('LosAngeles','SanFrancisco');23.执行下列SQL语句的集合,下列选项正确的是()CREATETABLEdept(deptnoNUMBER(2),dnameVARCHAR2(14),locVARCHAR2(13));ROLLBACK;DESCRIBEDEPTA、DESCRIBEDEPT语句显示DEPT表的结构。B、ROLLBACK语句释放DEPT表占用的存储空间。C、DESCRIBEDEPT语句返回错误ORA-04043:obj