ETL笔试题(宏远贵德公司)-20171012

ETL笔试题
姓名: 性别: 籍贯:
专业: 学历: 联系方式:
(一)技术题部分
一、选择题(除注明为两个选项外,其余均为单选题) (共15题)
1、 ()又称表外业务, 其收入不列入银行资产负债表。
A. 资产业务 B.负债业务 C.中间业务 D.商业银行的国际业务
2、下列哪个产品不属于ETL工具类(

A. IBM Congnos B. IBM DataStage
C. Information PowerCenter D. Microsoft DTS
3、()数据库按列存储数据,而不是按行——这与其他所有关系型数据库引擎广泛使用的存储方法方向相反。
A. Oracle B. Sybase IQ C. Teradata D. DB2
4、UNIX环境下,(
)命令是将所有.log的文件增加到all.tar的包里面去。
A. tar –af all.tar *.log B. tar –rf all.tar *.log
C. tar –tf all.tar *.log D. tar –xf all.tar .log
5、UNIX环境下,(____)命令不可以保存并退出当前vi编辑文档。
A. x B. q! C. wq D. wq!
6、 Oracle数据库中计算表的行数,当col为索引列时,对于count(
)、count(1)、count(col)的性能描述[https://www.cnblogs.com/sueris/p/6650301.html

结论
这里把上面实验的结果总结一下:
count()和count(1)执行的效率是完全一样的。
count(
)的执行效率比count(col)高,因此可以用count()的时候就不要去用count(col)。
count(col)的执行效率比count(distinct col)高,不过这个结论的意义不大,这两种方法也是看需要去用。
如果是对特定的列做count的话建立这个列的非聚集索引能对count有很大的帮助。
如果经常count(
)的话则可以找一个最小的col建立非聚集索引以避免全表扫描而影响整体性能。
在不加WHERE限制条件的情况下,COUNT()与COUNT(COL)基本可以认为是等价的;
但是在有WHERE限制条件的情况下,COUNT(
)会比COUNT(COL)快非常多;

count(0)=count(1)=count(*)

  1. count(指定的有效值)–执行计划都会转化为count(*)
  2. 如果指定的是列名,会判断是否有null,null不计算

    当然,在建立优化count的索引之前一定要考虑新建立的索引会不会对别的查询有影响,影响有多大,要充分考虑之后再决定是否要这个索引,这是很重要的一点,不要捡了芝麻丢了西瓜。
    ]正确的是(
    A. count(*)性能明显好于其它两种 B. count(1)性能明显好于其它两种
    C. count(col)性能明显好于其它两种 D. 以上三种方式,性能差异非常小
    7、SQL语句中修改表结构的命令是(

    A. MODIFY TABLE B. MODIFY STRUCTURE
    C. ALTER TABLE C. ALTER STRUCTURE
    8、Select语句中用来连接字段串的符号是(
    A. + B. & C. || D. |
    9、主键是用来(

    A. 唯一性的确定一条记录的存放位置 B. 唯一性的确定一个实体
    C. 唯一性的确定两个实体之间的一个关系 D. 唯一性的确定一个实体当中的一个实例
    10、范式化的目的是(__)(两个选择)
    A. 消除数据冗余和更新异常
    B. 确保属性被设置于恰当的实体中,并能偶反映现实的业务含义
    C. 确保模型的性能 D. 使模型的设计在业务环境中运转自如
    11、ERD的全称是(

    A. Entity Relationship Development B. Entity Relationship Design
    C. Entity Relationship Data D.Entity Relationship Diagram
    12、创建记录,列,和表的时候会受到哪两个关系型数据库概念的制约?
    )(两个选择)
    A. 表中记录行的顺序是任意的 B. 一个表中仅能有一种记录格式
    C. 表中记录会按照其主键值得大小进行排序 D. 一个表中可以支持有多种记录格式
    13、以下关于OLTP环境的叙述中,正确的是(
    )(两种选择)
    A. 事务是密集型的 B. 每个事务所处理的记录数很多
    C. 事务通常在秒级完成,而非分钟级 D. 每个事务所处理的记录数据很少
    14、数据仓库的数据具有四个基本特征,下列不正确的是(
    A. 面向主题的 B. 集成的 C. 不可更行的 D.不随时间变化的
    15、事务的完整定义是(

    A. 首先logon,然后提交工作,最后logoff B. 一条SQL语句
    C. 一个逻辑单元或任务 D. 一条SQL,包括语句和回复单元
    二、问答题
    1、对于一个数据量过大的表如果要提高对它的查询速度,你会哪些办法?
    1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引;
    2)尽量避免在 where 子句中对字段进行 null 值判断、!=或<>操作符,应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描;
    3)应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;
    4)应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描;
    5)在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致;
    6)很多时候用 exists 代替 in 是一个好的选择;
    7)尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了;
    8)任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段;
    9)避免频繁创建和删除临时表,以减少系统表资源的消耗;
    10)在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert;如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定;
    11)尽量避免大事务操作,提高系统并发能力;

三、编程题(共5题)
现在有表TB_Student_Score,定义如下:
Create table TB_Student_Score
(
Student varchar(30),
Course varchar(10),
Score integer
)
表内容:
Student Course Score
李雷 语文 83
李雷 数学 98
李雷 英语 55
韩梅梅 语文 90
韩梅梅 数学 92
韩梅梅 英语 85
Lily 语文 59
Lily 数学 80
Lily 英语 99
Lucy 语文 53
Lucy 数学 64
Lucy 英语 88

请根据问题写出相应的SQL;
1、请用一个查询取出成绩不及格(60分及以上为及格)的学生和不及格的科目。
Select student,course
From biao
Where score<60

2、请用一个查询取出每个学生三科成绩的平均分,并从高到低排列。
Select avg(score),student
From biao
Group by student
Ordre by avg(score) desc

3、老师发现韩梅梅的数学成绩不是92,应该是91,请用一个语句修改表中内容。
Update biao set score=91 where student=’韩梅梅’ and course = ‘数学’
Commit;

4、Jim Green的三科成绩也出来了,分别是语文:79 数学:81 英语:93,请将Jim的成绩插入表中。
Insert into biao values (‘Jim Green’,’ 语文’,’79’);
Commit;
Insert into biao values(‘Jim Green’,’ 数学’,’81’);
Commit;
Insert into biao values(‘Jim Green’,’ 英语’,’93’);
Commit;

5、检查系统数据发现有两条记录重复,如(’Lucy’,英语,88)。请问如何查出重复记录并删除?
Delete from biao t1 where rowid < (select max(rowid) from biao t2 where t1.主键=t2.主键

(二)银行业务部分
一、单选题(共5小题):
1、我国于2003年初组建的银行业监管机构是 ( )
A 中国人民银行 B 中国银监会 C 中国证监会 D 中国保监会
2、我国的三家政策性银行是 ( )
A 中国人民银行 国家开发银行 中国农业发展银行
B 中国进出口银行 国家开发银行 中国农业发展银行
C 国家开发银行 中国农业银行 中国进出口银行
D 中国农业发展银行 国家开发银行 中国邮政储蓄银行
3、我国资产负债比例管理指标中,人民币存贷款比例指标应控制在以内。( )
A.90% B.50% C.80% D.75%
4、银行已贴现的票据,到期付款人不能清偿时,银行首先应该向( )追索。
A.贴现申请人 B.票据承兑人 C.贴现银行 D.保证人
5、资产负债表设置的基本原理是( )
A.资产=负债+所有者权益 B.收入-费用=利润
C.∑本期借方发生额=∑本期贷方发生额 D.记帐规则
二、多选题(共计10小题)
1.国家信用的主要形式有( )A.发行国家公债B.发行国库券C.专项债D.银行透支或借款
2.商业银行的负债业务包括( )。A.存款负债 B.自有资本 C.附属资本 D.其他负债
3.选取货币政策中介指标的基本要求是( )。A.抗干扰性 B.可测性 C.相关性 D.可控性
4.我国利率的决定与影响因素有( )。
A.利润的平均水平 B.资金的供求状况 C.物价变动的幅度
D.国际经济的环境 E.政策性因素
5.中央银行以( )方式向商业银行贷款。
A.贴现 B.抵押贷款 C.再贴现 D.信用贷款 E.再贷款
6.外汇包括( )。A.本币 B.信用卡 C.外币 D.外币支付凭证 E.外币有价证券
7.结算业务包括( )。A.承兑业务 B.汇兑业务 C.信用证业务 D.代理业务
8.货币作用效率可以用( )与( )的比率来衡量。
A.金融资产总量 B.货币量 C.商品总量 D.经济总量
9.商业银行的外部组织形式主要有( )。
A.总分行制 B.单一银行制 C.持股公司制 D.连锁银行制
10.中央银行的负债业务主要有( )。
A.发行银行券 B.商业银行存款 C.政府存款 D.代理国库

答案:
(一)一、1-5 CD(A)Microsoft DTS是数据转换工具,congnos是图形报表展示工具
B Teradata是用于大数据量处理,用于创建数据仓库的关系型数据库,Sybase IQ 为数据仓库设计的关系型数据库,他存储的方式以列存储数据。
B
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
压缩
tar -cvf jpg.tar .jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz .jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 .jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z .jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar .jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip .jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、
.tar 用 tar -xvf 解压
2、
.gz 用 gzip -d或者gunzip 解压
3、
.tar.gz和
.tgz 用 tar -xzf 解压
4、
.bz2 用 bzip2 -d或者用bunzip2 解压
5、
.tar.bz2用tar -xjf 解压
6、.Z 用 uncompress 解压
7、
.tar.Z 用tar -xZf 解压
8、.rar 用 unrar e解压
9、
.zip 用 unzip 解压
B 6-10 DCCD、AB 11-15 D(实体关系图,简称为E-R)
、 AB、 AC、
D
数据仓库具有四个主要特性
1. 主题性
数据仓库是一般从用户实际需求出发,将不同平台的数据源按设定主题进行划分整合,与传统的面向事务的操作型数据库不同,具有较高的抽象性。面向主题的数据组织方式,就是在较高层次对分析对象数据的一个完整、统一并一致的描述,能完整及统一地刻画各个分析对象所涉及的有关企业的各项数据,以及数据之间的联系。
2.集成性
数据仓库中存储的数据大部分来源于传统的数据库,但并不是将原有数据简单的直接导入,而是需要进行预处理。这是因为事务型数据中的数据一般都是有噪声的、不完整的和数据形式不统一的。这些“脏数据”的直接导入将对在数据仓库基础上进行的数据挖掘造成混乱。“脏数据”在进入数据仓库之前必须经过抽取、清洗、转换才能生成从面向事务转而面向主题的数据集合。数据集成是数据仓库建设中最重要,也是最为复杂的一步。
3.稳定性
数据仓库中的数据主要为决策者分析提供数据依据。决策依据的数据是不允许进行修改的。即数据保存到数据仓库后,用户仅能通过分析工具进行查询和分析,而不能修改。数据的更新升级主要都在数据集成环节完成,过期的数据将在数据仓库中直接筛除。
4.动态性
数据仓库数据会随时间变化而定期更新,不可更新是针对应用而言,即用户分析处理时不更新数据。每隔一段固定的时间间隔后,抽取运行数据库系统中产生的数据,转换后集成到数据仓库中。随着时间的变化,数据以更高的综合层次被不断综合,以适应趋势分析的要求。当数据超过数据仓库的存储期限,或对分析无用时,从数据仓库中删除这些数据。关于数据仓库的结构和维护信息保存在数据仓库的元数据(Metadata)中,数据仓库维护工作由系统根据其中的定义自动进行或由系统管理员定期维护。
、C
是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行
12)二、1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引;
13)尽量避免在 where 子句中对字段进行 null 值判断、!=或<>操作符,应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描;
14)应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;
15)应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描;
16)在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致;
17)很多时候用 exists 代替 in 是一个好的选择;
18)尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了;
19)任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段;
20)避免频繁创建和删除临时表,以减少系统表资源的消耗;
21)在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert;如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定;
22)尽量避免大事务操作,提高系统并发能力;
三、1. SELECT Student,Course
FROM TB_Student_Score
WHERE Score < 60
2. SELECT Student,AVG(Score) Score_avg
FROM TB_Student_Score
GROUP BY Student
ORDER BY Score_avg desc
3. UPDATE SET Score = 91
FROM TB_Student_Score
WHERE Student = ‘韩梅梅’
AND Course = ‘数学’
4. INSERT INTO TB_Student_Score (Student, Course, Score) VALUES (‘Jim Green’,’ 语文’,’79’);
INSERT INTO TB_Student_Score (Student, Course, Score) VALUES (‘Jim Green’,’ 数学’,’81’);
INSERT INTO TB_Student_Score (Student, Course, Score) VALUES (‘Jim Green’,’ 英语’,’93’);
5. DELETE FROM TB_Student_Score A
WHERE A.ROWID > ( SELECT MIN(B.ROWID)
FROM TB_Student_Score B
WHERE A.Student = B.Student
AND A.Course = B.Course)
(二)一、1-5 BBDBA
二、1-5 ABCD ABD BCD ABCDE
CE
再贷款是指中央银行向商业银行的贷款
人民银行对金融机构贷款根据贷款方式的不同,可以划分为信用贷款和再贴现两种。信用贷款是指人民银行根据金融机构资金头寸情况,以其信用为保证发放的贷款,信用贷款是指中央银行向商业银行提供的贷款,不包括商业银行之外的其他金融机构。所以,在中国,再贷款即指中央银行向商业银行提供的信用贷款。
6-10 CDE
BC
现行的结算方式主要包括银行汇票,商业汇票,银行本票,支票,汇兑结算,委托收款,托收承付,信用卡结算等等
BD ABCD ABC

你可能感兴趣的:(试题)