视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据仓库团队面试题-答案
2025-10-03 15:10:31 责编:小OO
文档
目录

1    简答题    2

1.1    SQL Server与Oracle、DB2三种数据库比较    2

1.2    以下三种数据库语言都包含哪些细项    2

1.3    UNION 和UNION ALL的区别    3

2    实例题    3

3    逻辑推理题    5

答案    6

1简答题

1.1SQL Server与Oracle、DB2三种数据库比较

SQL Server与Oracle、DB2三种数据库进行比较,有何区别?请从开放性,可伸缩性,并行性,安全性三个方面叙述。

答案:

开放性 

  SQL Server

  只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且Windows平台的可靠性,安全性和伸缩性是非常有限的。它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。

  Oracle

  能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

  DBz

  能在所有主流平台上运行(包括Windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。

  可伸缩性,并行性 

  SQL Server

  并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果WindowsNT不能满足需要, 用户可以把数据库移到UNIX中。

  DB2

  DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。

  安全性 

  SQL server

  没有获得任何安全证书。

  Oracle Server

  获得最高认证级别的ISO标准认证。

  DB2

  获得最高认证级别的ISO标准认证。

1.2以下三种数据库语言都包含哪些细项

1、DDL—数据定义语言

答案:定义语言:CREATE,ALTER,DROP,DECLARE

2、DML—数据操纵语言

答案:操纵语言:SELECT,DELETE,UPDATE,INSERT

3、DCL—数据控制语言

答案:控制语言:GRANT,REVOKE,COMMIT,ROLLBACK

1.3UNION 和UNION ALL的区别

答案:UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

2应用题

根据所给表及数据填写问题(基于SQL Server)

表1.Employee:

EIDNameDepartmentJobEmailPassword
10001李明SBBEG
10003李筠平LUKEITM
11045李洁SBBEG
10044胡斐MTDETN
10009徐仲刚SBBEG
10023李燕SBBETN
20460陆明生MTDETN
20078张青MMMEG
20001李立LUKEETN
表2.Training

CourseIDEIDCourseGradeOrders
110001T-SQL60
311045Oracle71
220460Java34
110003T-SQL59
310001Oracle90
220001Java12
220078Java76
210003Java78
330001Oracle71
320048Oracle36
1、建表Employee与Training,分析表1和表2的结构,并自行设置索引。

答案:drop table employee

create table employee

(

    EID char(10) primary key,

    s_Name varchar(50) ,

    Department varchar(50),

    job varchar(50),

    Email varchar(50),

    s_password varchar(50),

)

CREATE INDEX employee ON employee(EID)

drop table Training

create table Training

(

    CourseID char(10) not null,

    EID char(10) not null,  

    Course varchar(50) not null,

    Grade int not null,

    Orders varchar(50),

    primary key(CourseID,EID)

)

CREATE INDEX Training ON Training (EID)

2、用SQL语句把上述两表的数据分别插入建好的表中,分别用SQL语句完成。

答案:drop table training

select * from employee

insert into employee(EID,s_Name,Department,job) values('10001','李明','SBB','EG')

insert into employee(EID,s_Name,Department,job) values('10003','李筠平','LUKE','ITM')

insert into employee(EID,s_Name,Department,job) values('11045','李洁','SBB','EG')

insert into employee(EID,s_Name,Department,job) values('10044','胡斐','MTD','ETN')

insert into employee(EID,s_Name,Department,job) values('10009','徐仲刚','SBB','EG')

insert into employee(EID,s_Name,Department,job) values('10023','李燕','SBB','ETN')

insert into employee(EID,s_Name,Department,job) values('20460','陆明生','MTD','ETN')

insert into employee(EID,s_Name,Department,job) values('20078','张青','MMM','EG')

insert into employee(EID,s_Name,Department,job) values('20001','李立','LUKE','ETN')

insert into Training(CourseID,EID,Course,Grade) values('1','10001','T-SQL','60')

insert into Training(CourseID,EID,Course,Grade) values('3','11045','Oracle','71')

insert into Training(CourseID,EID,Course,Grade) values('2','20460','Java','34')

insert into Training(CourseID,EID,Course,Grade) values('1','10003','T-SQL','59')

insert into Training(CourseID,EID,Course,Grade) values('3','10001','Oracle','90')

insert into Training(CourseID,EID,Course,Grade) values('2','20001','Java','12')

insert into Training(CourseID,EID,Course,Grade) values('2','20078','Java','76')

insert into Training(CourseID,EID,Course,Grade) values('2','10003','Java','78')

insert into Training(CourseID,EID,Course,Grade) values('3','30001','Oracle','71')

insert into Training(CourseID,EID,Course,Grade) values('3','20048','Oracle','36')

select * from Training

3、筛选出Employee表姓李人员的EID 、Name 、Department、Job信息。

答案:Select EID ,Name ,Department,Job from employee where Name like ‘李%’

4、筛选出成绩及格(Grade >=60)的Name、Course、Grade

答案:Select a1.Name,b1.Course,b1.Grade from Employee a1 inner join Training b1

On a1. EID =b1. EID where b1.Grade >=60

5、筛选出所有人员的总得分,信息包含人员名称、总得分

答案:Select Name,Sum(Grade) From Employee A1 Inner Join Training B1

On A1. Eid =B1. Eid  

Group By Name 

6、筛选出未参加培训的人员名单,按表1的格式显示,用一条SQL语句完成。

答案:1、Select A1.* From Employee A1 Where A1. Eid Not In (Select Eid From Training)

2、Select A1.* From Employee A1 Where A1. Eid Not Exists (Select * From Trainin B1 Where On A1. Eid = B1.Eid) 

数据量大的时候根据实际数据情况选择用Not In和Not Exists

7、筛选出各人员的平均成绩

答案:1、Select Name,Sum(Grade)/Count(1) From Employee A1 Inner Join Training B1

On A1. Eid =B1. Eid  

Group By Name

2、Select Name,Avg(Grade) From Employee A1 Inner Join Training B1

On A1. Eid =B1. Eid  

Group By Name

3逻辑推理题

1、小青、小刚、小红三个学生参加迎春杯比赛,他们是来自汉县、沙镇、水乡的选手,并分别获得一、二、三等奖,现在知道的情况是:

(1)小青不是汉县选手;

(2)小刚不是沙镇选手;

(3)汉县的选手不是一等奖;

(4)沙镇的选手得二等奖;

(5)小刚不是三等奖。

根据上述情况,小红应是什么选手,她得的是几等奖?写出推理分析思路!

答案:从小刚不是沙镇选手、小刚不是三等奖,沙镇选手得二等奖,汉县的选手不是一等奖得出小刚是一等奖、水乡选手。小青不是汉县选手,汉县选手不是一等奖,沙镇的选手得二等奖,得出小青是沙镇、二等奖选手;排除法最后得出小红是汉县、三等奖选手!

结果:小红 汉县 三等奖

2、现有在两种球,一种黑色的,一种是白色的,将这两种球自上而下排,当黑球比白球多2005个时,那么,这个球正好排在第几层第几颗?写出推理分析思路!

  如图,一层层地排列,每层都是从左往右排。

  ●●●

  ○○○○○

  ●●●●●●●

  ……下载本文

显示全文
专题