数据库运维中心招聘笔试题及参考答案
一、单项选择
1、T-SQL语句是由哪一家公司设计出的:(A)
AMicrosoftBIBMCSUN
2、SQL-Server的数据库类型属于哪一类型:(A)
A关系型数据库B网络型数据库C层次型数据库
3、要启动SQL-Server的服务器,在命令提示符下键入以下什么命令可以启动SQL-Server 服务器:(B)
AnetsendBnetstartmssqlerverCnethelp
4、输入和调试T-SQL语句的工具是:(B)
A企业管理器B查询分析器C服务器网络使用工具D联机丛书
5、创建数据库的关键字是:(B)
AdeleteBCreateCfromDtalbe
6、数据库的日志文件的扩展名是:(B)
AmdfBldfCndfDlog
7、创建表的主约束使用哪个关键字:(B)
AcheckBprimaryCforeignDrull
8、datetime属于什么数据类型:(A)
A日期型B时间型C字符串型D整数型
9、下列数据类型中不能属于sql_variant型的是:(C)AvarcharBintCimageDdatetime
10、存储过程sp_bindrule的作用是什么:(A)
A绑定规则B查看表结构C绑定默认值D查看过程
11、insert表示的含义:(A)
A添加B删除C查询D更改
12、SQL-Server中外键约束关键字为:(C)
AprimarykeyBuniqueCforeignkeyDcheck
13、alterview表示:(B)
A创建视图B更改视图C检索视图D删除视图
14、去掉结果集中的重复值用关键字:(B)
AtopBdistinctCinDnull
15、语句“deletefrom员工表where工资>2000”表示含义:(A)
A删除工资大于2000的员工资料B添加工资>2000的员工姓名C检索工资>2000的员工姓名D更改工资>2000的员工姓名
16、与运算符<>相兼容的运算符是:(C)
A<=B>=C!=D!<
17、orderby表示(B)
A将记录集分组B将记录集排序C将记录集汇总D求平均值
18、如果用groupby将结果集分组后再次进行筛选,用关键字:(A)AhavingBfromCinDlike
19、avg函数表示:(A)
A求平均值B返回所有值的和C自定义函数D求最大值
20、数据表1[FULL]JOIN数据表2ON联接表达式是哪一种联接形式:(D)A左联接B右联接C内联接D外联接
二、简单题
1、ETL主要有哪些操作?答:数据提取、转换和加载。
2、在ETL过程中四个基本的过程分别是什么?
答:主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和交付(delivery),简称为ECCD。
2、SQL2005新增SSIS功能,请问SSIS主要是实现什么?
答:SSIS是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载(ETL)包)的平台。
3、SSIS中可以有很多种的数据源,请列举出一些数据源。(至少三个)答:SQLserver,EXCEL,XML,平面文件(txt等)等。
4、SSIS中如果两个字段的数据类型不一致,可不可以直接连接?如果不可以需要怎样的操作才可以,是用哪个模块实现?
答:不可以,可以使用数据转换模块将数据转换成相同的数据类型进行处理。
三、业务题
1、已知宏观指标表:FC_MIINDEXNEW表数据如下:指标代码指标名称级别排序上级代码INDICCODE
INDICNAMELERNINDICCODE2
1国内宏观经济数据0102行业经济数据0303全球宏观经济数据0404国民经济核算1115国内生产总值:全国2146国内生产总值(季)
3157GDP累计值4168GDP累计值:第一产业4269GDP累计值:第二产业43610
GDP累计值:第三产业
4
4
6
用CTE方式写出:国内宏观经济数据包括的所有指标。答案供参考:
交易时间字符串是什么WITHDATAAS(
SELECT*FROMFC_MIINDEXNEWWHEREINDICCODE=1UNIONALL
SELECTA.*FROMFC_MIINDEXNEWA,DATAWHEREA.INDICCODE2=DATA.INDICCODE)
SELECT*FROMDATA
2、因操作失误表Industry_LoadCfg中数据有多条重复记录,现需要删除重复记录,保留一条记录。请写出相关SQL语句。表结构为:
流水号ID指标代码1IndicCode1指标代码IndicCode属性代码IndicCode2地区代码RegionCode行业代码IndustryCode单位转化数值CUnitNum
(该表的业务主键为:IndicCode1,IndicCode,IndicCode2)
答案供参考:
DELETEFROMIndustry_LoadCfgWHEREIDIN(SELECTIDFROM(
SELECT*,row_number()over(partitionbyIndicCode,IndicCode1,IndicCode2orderbyIDasc )asrank
fromIndustry_LoadCfg)ZWHEREZ.RANK<>1)
2、请分析下面SQL语句和表结构,试对表建立合理的索引,暂不考虑其他的查询。
已知公司上市公司行情表PEQ9000,表中数据超过500万,现在需要从这张表中提取数据,由于速度慢需要建立索引。请根据以下给出的SQL以及表的部分结构分析应如何建立索引。(假定这个表现在没有建任何索引)表的部分结构:
列中文名列设计名列数据类型
股票内码SECodeint交易日期TradeDateint前收盘LClosenumeric(9,4)最高价Highnumeric(9,4)最低价Lownumeric(9,4)收盘价
TClose
numeric(9,4)
业务主键是:股票内码+交易日期SQL语句:
SELECTA.SECODE,A.TRADEDATE,LCLOSE,A.HIGH,A.LOWFROM(SELECTSECODE,TRADEDATE=MAX(T RADEDATE),HIGH=MAX(HIGH),
LOW=MIN(CASEWHENLOW=0THENNULLELSELOWEND)
FROMPEQ9000WHEREDATATYPE=1
GROUPBYSECODE
)ALEFTJOINPEQ9000B
ONA.SECODE=B.SECODEANDA.TRADEDATE=B.TRADEDATE答:(1) CREATENONCLUSTEREDI
NDEX[PIX_PEQ9000_1]ON[dbo].[PEQ9000]([SECode]ASC,[TradeDate] ASC,[DataType]ASC
)
INCLUDE([High],
[Low])WITH(SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF)O N[PRIMARY](2)
CREATENONCLUSTEREDINDEX[PIX_PEQ9000_2]ON[dbo].[PEQ9000]([TradeDate]ASC, [SECode]ASC,
[DataType]ASC
)
INCLUDE([LClose],[High],
[Low])WITH(SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF)O N[PRIMARY]
下面两个是数据库优化分析出来的。应该能写出上面两个就好了。CREATESTATISTICS[PIX_PEQ9000_2]ON[dbo].[PEQ9000]([TradeDate],[DataType])CREATES TATISTICS[PIX_PEQ9000_4]ON[dbo].[PEQ9000]([DataType],[SECode])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论