主题:谁来做下这套题(数据库/UNIX)
三) 多项选择题(本大题共25小题,每题2分,共50分)在每个小题列出的选项中至少有两个或以上的选项符合题目要求。多选、少选、错选均无分。
试题51 ( )
下面哪些选项描述是正确的:
供选择的答案:
A: order by缺省排序查询显示结果是升序排列的。
B: 在order by 子句中不能用字段的别名。
C: 在group by 子句中不能用字段的别名。
D: null值在升序排列中是被排列在所有非空值之后的。
E: 如果没有order by子句,查询结果将按照select列的第一个字段降序排列。
试题52 ( )
脚本文件static_param.sql 内容如下:
delete from region;
commit;
insert into region(a, b) values(‘010’,’北京’);
insert into region (a, b) values(‘021’,’上海’);
insert into region (a, b) values(‘020’,’广州’);
commit;
在oracle的sqlplus下能正确执行static_param.sql 脚本文件的选项是:
供选择的答案:
A: static_param.sql
B: @static_param.sql
C: execute static_param.sql
D: start static_param.sql
E: begin static_param.sql end;
F: run static_param.sql
试题53 ( )
在PL/SQL程序中包含下面那些部分?
供选择的答案:
A: 执行
B: 子程序
C: 声明
D: 异常
E: 断言
试题54 ( )
在PL/SQL代码块中,下列哪些情况下会产生异常?
供选择的答案:
A: select语句中包含一个group by 子句。
B: select语句中没有where子句。
C: select语句返回结果集为空。
D: select语句返回多条记录。
E: select语句返回空字段的记录。
试题55 ( )
下面所列出的函数中,哪些是group by 函数?
供选择的答案:
A: max
B: min
C: sqrt
D: avg
E: sum
试题56( )
分析下面SQL代码块:
begin
delete from test1;
delete from test2;
for i in 5..20 loop
if ( i=5 or i=10
or i=15 or i=20
) then
insert into test1(oid) values(i);
else
insert into test2(oid) values(i);
commit;
end if;
end loop;
rollback;
end ;
对运行该代码块的结果说法正确的选项是:
供选择的答案:
A: 向test1表中插入0条记录
B: 向test1表中插入3条记录
C: 向test1表中插入4条记录
D: 向test2表中插入0条记录
E: 向test2表中插入12条记录
F: 向test2表中插入16条记录
试题57( )
假设你要查询客户名称为Tom的客户资料记录,但你不知道客户名称大小写情况,下面哪些语句将查询出所有客户名称为Tom的客户记录(忽略大小写)?。
供选择的答案:
A: select * from cust where custname=’tom’;
B: select * from cust where upper(custname)=’tom’;
C: select * from cust where lower(custname)=’tom’;
D: select * from cust where upper(custname)= upper (’tom’);
E: select * from cust where custname=’TOM’;
F: select * from cust where upper(custname)=’TOM’;
试题58 ( )
下列哪些说法不符合数据库编程规范?
供选择的答案:
A: 关键字之后要留空格,而在表名、存储过程名、函数名等数据库对象之后不要留空格。
B: 可以把多条语句写在一行中,但一定要用分号”;”把不同语句分隔开来。
C: 一般情况下源代码有效注释量不低于20%,且建议尽量用”/**/”来添加注释,少用”- -“来进行注释。
D: 固定长度的字符串类型采用char,长度不固定的字符串采用varchar2,一定要避免长度不固定的情况下采用char。
E: 防止误操作将整个表的数据清空或修改,对delete,update语句操作时必须带where条件。对于全表
则使用where 1=1 条件 。
F: 为了保证事物的完整性,事物提交要及时,在循环操作中commit 尽量写在循环体内部。
G: 当查询返回的记录数量很多时,从记录表中读取的数据量也很大,不如不通过索引,直接全表扫描的效率
将会更高。
试题59 ( )
下面所列的语句中,哪些是不合法的循环结构?
供选择的答案:
A: for I between 1 and 10 then …(program)…; end loop;
B: for I 1..10 loop …(program) …; else …(program)…;end loop;
C: do while v_test is true loop …(program)…; end loop;
D: loop; …(program)…; end loop;
试题60 ( )
现有一个oracle建表脚本如下:
1)create table t_distill_stat
2)(seg_id number
3) constraint pk_distill_id primary key,
4) 200710_cycle number,
5) NUMBER_tab_name varchar2(32),
6) constraint tab_name_nn not null,
7) $_time_len number);
执行上面脚本时,哪几行将返回错误?
供选择的答案:
A: 1
B: 2
C: 3
D: 4
E: 5
F: 6
G: 7
试题61 ( )
在日常工作中,对数据库操作维护描述正确的选项是:
供选择的答案:
A: 在生产环境中,要严格管理数据库用户的密码和权限,密码不要与用户名相同。
B: 必须按照应用需求,设计不同的用户访问权限。包括应用系统管理用户,普通用户等,按照业务需求建立不同的应用角色。用户访问另外的用户对象时,应该通过创建同义词对象synonym进行访问。
C: 在中间件控制事务的业务程序调用的存储过程等中,不要出现对于事务的提交和回退,容易造成本地事务。
D: 对数据库表对象进行大批量的增、删、改操作后建议对该表进行一致性检查和索引的重建。
试题62 ( )
对查询结果进行排序会一定程度地降低系统的性能,下列哪些操作用在SQL语句中会启动SQL引擎执行消耗系统资源的排序?
供选择的答案:
A: DISTINCT
B: MINUS。
C: INTERSECT。
D: UNION
E: UNION ALL
F: ORDER BY
试题63 ( )
在做数据库SQL调优时,根据实际应用情况,合理的调整索引效果非常明显,下列哪些选项是在合理的建立索引?
供选择的答案:
A: 经常与其他表进行连接的表,在连接字段上应建立索引。
B: 索引应该建在选择性高的字段上。
C: 当查询返回的记录数很多时,从记录表中读取的数据量也很大,不如不通过索引,直接全表扫描效率更高。
D: 频繁进行数据操作的表,不要建立太多的索引。
E: 在业务数据大表中,一定要多建索引,确保查询效率高。
F: 索引应该建在选择性低的字段上。
试题64 ( )
在我们的日常工作中,合理的建立索引还不够,还需要在我们编写SQL语句是注意如何让我们编写的正确的使用索引,下列哪些选项能让我们正确使用上索引?
供选择的答案:
A: 增加查询的范围,限制全范围的搜索。
B: 在索引列上进行运算操作,应把运算操作右移。
C: 利用hint 强制指定索引。
D: 避免不必要的类型转换,要了解“隐藏”的类型转换。
试题65 ( )
在日常工作中编写应用脚本或维护代码脚本时,关于注释说法正确的选项是:
供选择的答案:
A: 注释的原则是有助于程序阅读理解,便于后期维护,在该加的地方都加了,注释不宜太多但也不能太少,语言须准确、易懂、简洁。
B: 对程序分支必须书写注释,且注释与所描述代码进行同样的缩排。
C: 所有变量定义需要加注释,说明该变量的用途和含义,禁止在注释中使用缩写,特别是非常用的缩写。
D: 在代码的功能、意图层次上进行注释,提供有用、额外的信息。
试题66 ( )
有一千万级数据量的业务数据表SUBS,在字段 SERVNUMBER VARCHAR2(12) 上建立了索引,请问下面哪些选项能够正确使用索引进行查询?
供选择的答案:
A: select * from subs where servnumber like ‘1385318%’;
B: select * from subs where servnumber = 13853188888;
C: select * from subs where servnumber = ‘13853188888’;
D: v_telnum number := 13853188888;
select * from subs where servnumber = v_telnum;
E: v_telnum varchar2(12) := ‘13853188888’;
select * from subs where servnumber = v_telnum;
试题67 ( )
某大型应用数据库系统中,有T1和T2两个表,并且这两个表通过字段 a 关联,不同的开发人员编写了两个不同的语句来实现同一个查询结果,请选出查询效率分析正确的选项:
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
2) select * from T1 where T1.a in (select T2.a from T2) ;
供选择的答案:
A: T1数据量非常大而T2数据量小时,语句1) 的查询效率高。
B: T1数据量小而T2数据量非常大时,语句2) 的查询效率高。
C: T1数据量小而T2数据量非常大时,语句1) 的查询效率高。
D: T1数据量非常大而T2数据量小时,语句2) 的查询效率高。
E: 语句1) 的查询效率高。
F: 语句2) 的查询效率高。
试题68 ( )
有一数据量达千万级的业务数据表T,并在字段 a 上建一索引,请问下列哪些查询语句不能使用索引,会进行全表扫描?
供选择的答案:
A: select * from t where a is not null;
B: select * from t where a like ‘abc%’;
C: select * from t where a <> ‘Tom’;
D: select * from t where nvl(a,’abc’) = ‘abc’;
F: select * from t where a = ‘Tom’;
试题69 ( )
现有一个shell脚本程序test.sh对所有用户都有查看、修改、运行的权利,要求其所属用户可以对它进行查看、修改、运行,其属组用户可以对其进行查看和修改,其他用户只能查看它,请问下列哪些命令可以满足这个需求?
供选择的答案:
A: chmod 755 test.log
B: chmod 764 test.log
C: chmod 751 test.log
D: chmod g-x test.log;chmod o-wx test.log
E: chmod a-x test.log;chmod u-wx test.log
F: chmod g-x, o-wx test.log
试题70( )
下面选项中哪些选项相对路径?
供选择的答案:
A: /oracle/home/admin
B: ../../home/jre
C: network/admin/log
D: /
试题71 ( )
假设hw1、hw2、ch1和ch2是文件,而book和homework是目录,下面哪些选项在执行命令时会产生错误信息。
供选择的答案:
A: $ cp hw1 homework hw2 book
B: $ cp hw1 ch2 homework
C: $ rm hw2 ch2
D: $ rm hw1 homework ch1
试题72 ( )
在shell程序脚本中,变量名合法选项是:
供选择的答案:
A: _TAB_NAME
B: 2_RUN_FLAG
C: _FLAG*2
D: _LOGIN_NAME_1
E: USRNAME&PASSWD
F: V_count
试题73 ( )
我们在shell编程过程中常常用到重定向,下列关于重定向说法正确的选项是:
供选择的答案:
A: >, >>, <, <<, |等都是重定向符号。
B: 用 > 重定向覆盖文件原来的内容,而用 >> 重定向不会覆盖文件原来的内容,只是把输出的信息追加到原来文件的后面。
C: 命令rm ch1.txt 2>&1 是把 STDERR 的输出重定向到 STDOUT。
D: 执行命令rm hw1.txt > /dev/null 将会把rm命令的所有输出信息都丢弃掉。
试题74( )
请选出描述正确的选项:
供选择的答案:
A: 在编写SHELL脚本程序时,给变量赋值等号两边不能有空格,但对判断语句表的=或者其他符号两边必须有空格,否则为赋值运算。
B:select选择语句一般与case语句联合使用,经常用于用户生成用户交互菜单。
C:if [ “X$str” = “X” ]; then 中的“X“没有任何含义,只是为了增加可读性。
D:定义一个函数test 如下:
test()
{
return 1
}
对该函数正确的调用方法是:
test param
ret=$?
试题75( )
仔细走读下面shell脚本程序,选择出对该程序理解正确的选项:
#!/bin/sh
cnt=1
while [ cnt –le 100 ]
do
if [ -d /databak ]
then
mkdir –p /databak/backup${cnt}
chmod 754 /databak/backup${cnt}
echo “backup${cnt}”
let “cnt = cnt + 1”
else
mkdir /databak
mkdir –p /databak/backup${cnt}
chmod 754 /databak/backup${cnt}
echo “backup${cnt}”
cnt=$(($cnt+1))
fi
done
供选择的答案:
A: 如果目录/databak不存在程序会退出。
B: 运行该脚本会自动创建99个目录,即backup1~ backup99。
C: 运行该脚本会自动创建100个目录,即backup1~ backup100。
D: 创建的各个目录所属用户组的权限为:读、执行。
试题51 ( )
下面哪些选项描述是正确的:
供选择的答案:
A: order by缺省排序查询显示结果是升序排列的。
B: 在order by 子句中不能用字段的别名。
C: 在group by 子句中不能用字段的别名。
D: null值在升序排列中是被排列在所有非空值之后的。
E: 如果没有order by子句,查询结果将按照select列的第一个字段降序排列。
试题52 ( )
脚本文件static_param.sql 内容如下:
delete from region;
commit;
insert into region(a, b) values(‘010’,’北京’);
insert into region (a, b) values(‘021’,’上海’);
insert into region (a, b) values(‘020’,’广州’);
commit;
在oracle的sqlplus下能正确执行static_param.sql 脚本文件的选项是:
供选择的答案:
A: static_param.sql
B: @static_param.sql
C: execute static_param.sql
D: start static_param.sql
E: begin static_param.sql end;
F: run static_param.sql
试题53 ( )
在PL/SQL程序中包含下面那些部分?
供选择的答案:
A: 执行
B: 子程序
C: 声明
D: 异常
E: 断言
试题54 ( )
在PL/SQL代码块中,下列哪些情况下会产生异常?
供选择的答案:
A: select语句中包含一个group by 子句。
B: select语句中没有where子句。
C: select语句返回结果集为空。
D: select语句返回多条记录。
E: select语句返回空字段的记录。
试题55 ( )
下面所列出的函数中,哪些是group by 函数?
供选择的答案:
A: max
B: min
C: sqrt
D: avg
E: sum
试题56( )
分析下面SQL代码块:
begin
delete from test1;
delete from test2;
for i in 5..20 loop
if ( i=5 or i=10
or i=15 or i=20
) then
insert into test1(oid) values(i);
else
insert into test2(oid) values(i);
commit;
end if;
end loop;
rollback;
end ;
对运行该代码块的结果说法正确的选项是:
供选择的答案:
A: 向test1表中插入0条记录
B: 向test1表中插入3条记录
C: 向test1表中插入4条记录
D: 向test2表中插入0条记录
E: 向test2表中插入12条记录
F: 向test2表中插入16条记录
试题57( )
假设你要查询客户名称为Tom的客户资料记录,但你不知道客户名称大小写情况,下面哪些语句将查询出所有客户名称为Tom的客户记录(忽略大小写)?。
供选择的答案:
A: select * from cust where custname=’tom’;
B: select * from cust where upper(custname)=’tom’;
C: select * from cust where lower(custname)=’tom’;
D: select * from cust where upper(custname)= upper (’tom’);
E: select * from cust where custname=’TOM’;
F: select * from cust where upper(custname)=’TOM’;
试题58 ( )
下列哪些说法不符合数据库编程规范?
供选择的答案:
A: 关键字之后要留空格,而在表名、存储过程名、函数名等数据库对象之后不要留空格。
B: 可以把多条语句写在一行中,但一定要用分号”;”把不同语句分隔开来。
C: 一般情况下源代码有效注释量不低于20%,且建议尽量用”/**/”来添加注释,少用”- -“来进行注释。
D: 固定长度的字符串类型采用char,长度不固定的字符串采用varchar2,一定要避免长度不固定的情况下采用char。
E: 防止误操作将整个表的数据清空或修改,对delete,update语句操作时必须带where条件。对于全表
则使用where 1=1 条件 。
F: 为了保证事物的完整性,事物提交要及时,在循环操作中commit 尽量写在循环体内部。
G: 当查询返回的记录数量很多时,从记录表中读取的数据量也很大,不如不通过索引,直接全表扫描的效率
将会更高。
试题59 ( )
下面所列的语句中,哪些是不合法的循环结构?
供选择的答案:
A: for I between 1 and 10 then …(program)…; end loop;
B: for I 1..10 loop …(program) …; else …(program)…;end loop;
C: do while v_test is true loop …(program)…; end loop;
D: loop; …(program)…; end loop;
试题60 ( )
现有一个oracle建表脚本如下:
1)create table t_distill_stat
2)(seg_id number
3) constraint pk_distill_id primary key,
4) 200710_cycle number,
5) NUMBER_tab_name varchar2(32),
6) constraint tab_name_nn not null,
7) $_time_len number);
执行上面脚本时,哪几行将返回错误?
供选择的答案:
A: 1
B: 2
C: 3
D: 4
E: 5
F: 6
G: 7
试题61 ( )
在日常工作中,对数据库操作维护描述正确的选项是:
供选择的答案:
A: 在生产环境中,要严格管理数据库用户的密码和权限,密码不要与用户名相同。
B: 必须按照应用需求,设计不同的用户访问权限。包括应用系统管理用户,普通用户等,按照业务需求建立不同的应用角色。用户访问另外的用户对象时,应该通过创建同义词对象synonym进行访问。
C: 在中间件控制事务的业务程序调用的存储过程等中,不要出现对于事务的提交和回退,容易造成本地事务。
D: 对数据库表对象进行大批量的增、删、改操作后建议对该表进行一致性检查和索引的重建。
试题62 ( )
对查询结果进行排序会一定程度地降低系统的性能,下列哪些操作用在SQL语句中会启动SQL引擎执行消耗系统资源的排序?
供选择的答案:
A: DISTINCT
B: MINUS。
C: INTERSECT。
D: UNION
E: UNION ALL
F: ORDER BY
试题63 ( )
在做数据库SQL调优时,根据实际应用情况,合理的调整索引效果非常明显,下列哪些选项是在合理的建立索引?
供选择的答案:
A: 经常与其他表进行连接的表,在连接字段上应建立索引。
B: 索引应该建在选择性高的字段上。
C: 当查询返回的记录数很多时,从记录表中读取的数据量也很大,不如不通过索引,直接全表扫描效率更高。
D: 频繁进行数据操作的表,不要建立太多的索引。
E: 在业务数据大表中,一定要多建索引,确保查询效率高。
F: 索引应该建在选择性低的字段上。
试题64 ( )
在我们的日常工作中,合理的建立索引还不够,还需要在我们编写SQL语句是注意如何让我们编写的正确的使用索引,下列哪些选项能让我们正确使用上索引?
供选择的答案:
A: 增加查询的范围,限制全范围的搜索。
B: 在索引列上进行运算操作,应把运算操作右移。
C: 利用hint 强制指定索引。
D: 避免不必要的类型转换,要了解“隐藏”的类型转换。
试题65 ( )
在日常工作中编写应用脚本或维护代码脚本时,关于注释说法正确的选项是:
供选择的答案:
A: 注释的原则是有助于程序阅读理解,便于后期维护,在该加的地方都加了,注释不宜太多但也不能太少,语言须准确、易懂、简洁。
B: 对程序分支必须书写注释,且注释与所描述代码进行同样的缩排。
C: 所有变量定义需要加注释,说明该变量的用途和含义,禁止在注释中使用缩写,特别是非常用的缩写。
D: 在代码的功能、意图层次上进行注释,提供有用、额外的信息。
试题66 ( )
有一千万级数据量的业务数据表SUBS,在字段 SERVNUMBER VARCHAR2(12) 上建立了索引,请问下面哪些选项能够正确使用索引进行查询?
供选择的答案:
A: select * from subs where servnumber like ‘1385318%’;
B: select * from subs where servnumber = 13853188888;
C: select * from subs where servnumber = ‘13853188888’;
D: v_telnum number := 13853188888;
select * from subs where servnumber = v_telnum;
E: v_telnum varchar2(12) := ‘13853188888’;
select * from subs where servnumber = v_telnum;
试题67 ( )
某大型应用数据库系统中,有T1和T2两个表,并且这两个表通过字段 a 关联,不同的开发人员编写了两个不同的语句来实现同一个查询结果,请选出查询效率分析正确的选项:
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
2) select * from T1 where T1.a in (select T2.a from T2) ;
供选择的答案:
A: T1数据量非常大而T2数据量小时,语句1) 的查询效率高。
B: T1数据量小而T2数据量非常大时,语句2) 的查询效率高。
C: T1数据量小而T2数据量非常大时,语句1) 的查询效率高。
D: T1数据量非常大而T2数据量小时,语句2) 的查询效率高。
E: 语句1) 的查询效率高。
F: 语句2) 的查询效率高。
试题68 ( )
有一数据量达千万级的业务数据表T,并在字段 a 上建一索引,请问下列哪些查询语句不能使用索引,会进行全表扫描?
供选择的答案:
A: select * from t where a is not null;
B: select * from t where a like ‘abc%’;
C: select * from t where a <> ‘Tom’;
D: select * from t where nvl(a,’abc’) = ‘abc’;
F: select * from t where a = ‘Tom’;
试题69 ( )
现有一个shell脚本程序test.sh对所有用户都有查看、修改、运行的权利,要求其所属用户可以对它进行查看、修改、运行,其属组用户可以对其进行查看和修改,其他用户只能查看它,请问下列哪些命令可以满足这个需求?
供选择的答案:
A: chmod 755 test.log
B: chmod 764 test.log
C: chmod 751 test.log
D: chmod g-x test.log;chmod o-wx test.log
E: chmod a-x test.log;chmod u-wx test.log
F: chmod g-x, o-wx test.log
试题70( )
下面选项中哪些选项相对路径?
供选择的答案:
A: /oracle/home/admin
B: ../../home/jre
C: network/admin/log
D: /
试题71 ( )
假设hw1、hw2、ch1和ch2是文件,而book和homework是目录,下面哪些选项在执行命令时会产生错误信息。
供选择的答案:
A: $ cp hw1 homework hw2 book
B: $ cp hw1 ch2 homework
C: $ rm hw2 ch2
D: $ rm hw1 homework ch1
试题72 ( )
在shell程序脚本中,变量名合法选项是:
供选择的答案:
A: _TAB_NAME
B: 2_RUN_FLAG
C: _FLAG*2
D: _LOGIN_NAME_1
E: USRNAME&PASSWD
F: V_count
试题73 ( )
我们在shell编程过程中常常用到重定向,下列关于重定向说法正确的选项是:
供选择的答案:
A: >, >>, <, <<, |等都是重定向符号。
B: 用 > 重定向覆盖文件原来的内容,而用 >> 重定向不会覆盖文件原来的内容,只是把输出的信息追加到原来文件的后面。
C: 命令rm ch1.txt 2>&1 是把 STDERR 的输出重定向到 STDOUT。
D: 执行命令rm hw1.txt > /dev/null 将会把rm命令的所有输出信息都丢弃掉。
试题74( )
请选出描述正确的选项:
供选择的答案:
A: 在编写SHELL脚本程序时,给变量赋值等号两边不能有空格,但对判断语句表的=或者其他符号两边必须有空格,否则为赋值运算。
B:select选择语句一般与case语句联合使用,经常用于用户生成用户交互菜单。
C:if [ “X$str” = “X” ]; then 中的“X“没有任何含义,只是为了增加可读性。
D:定义一个函数test 如下:
test()
{
return 1
}
对该函数正确的调用方法是:
test param
ret=$?
试题75( )
仔细走读下面shell脚本程序,选择出对该程序理解正确的选项:
#!/bin/sh
cnt=1
while [ cnt –le 100 ]
do
if [ -d /databak ]
then
mkdir –p /databak/backup${cnt}
chmod 754 /databak/backup${cnt}
echo “backup${cnt}”
let “cnt = cnt + 1”
else
mkdir /databak
mkdir –p /databak/backup${cnt}
chmod 754 /databak/backup${cnt}
echo “backup${cnt}”
cnt=$(($cnt+1))
fi
done
供选择的答案:
A: 如果目录/databak不存在程序会退出。
B: 运行该脚本会自动创建99个目录,即backup1~ backup99。
C: 运行该脚本会自动创建100个目录,即backup1~ backup100。
D: 创建的各个目录所属用户组的权限为:读、执行。