数据库基础(Oracle)试卷及答案

数据库基础(Oracle)试卷及答案

数据库基础(Oracle)试卷

一、填空题(每小题4分,共20分)

1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段

2、数据库三级数据结构是外模式、模式、内模式

3、Oracle数据库中,SGA由数据库缓冲区,重做日志缓冲区,共享池组成

4、在Oracle数据库中,完正性约束类型有Primay key约束。Foreign key约束,Unique约束,check约束,not need约束

5、PL/SQL中游标操作包括声明游标,打开游标,提取游标,关闭游标

二、正误判断题(每小题2分,共20分)

1、数据库中存储的基本对象是数据(T)

2、数据库系统的核心是DBMS(T)

3、关系操作的特点是集合操作(T)

4、关系代数中五种基本运算是并、差、选择、投影、连接(F)

5、Oracle进程就是服务器进程(F)

6、oraclet系统中SGA所有用户进程和服务器进程所共享(F)

7、oracle数据库系统中数据块的大小与操作系统有关(T)

8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(F)

9、PL/SQL中游标的数据是可以改变的(T)

10、数据库概念模型主要用于数据库概念结构设计(F)

三、简答题(每小题7分,共35分)

1、何谓数据与程序的逻辑独立性和物理独立性?

数据库系统中的DBMS为三级模式结构提供了两层映像机制:外模式/模式映像和模式/内模式映像。这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。

外模式/模式映像定义了数据库中不同用户的外模式与数据库逻辑模式之间的对应关系。

当数据库模式发生变化时,例如关系数据库系统中增加新的关系、改变关系的属性数据类型等,可以调整外模式/模式间的映像关系,保证面向用户的各个外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性。

模式/内模式映像定义了数据库中数据全局逻辑结构与这些数据在系统中的物理存储组织结构之间的对应关系。

当数据库中数据物理存储结构改变时,即内模式发生变化,例如定义和选用了另一种存储结构,可以调整模式/内模式映像关系,保持数据库模式不变,从而使数据库系统的外模式和各个应用程序不必随之改变。这样就保证了数据库中数据与应用程序间的物理独立性,简称数据的物理独立性。

2、试述关系代数中等值连接与自然连接的区别与联系?

连接运算符是“=”的连接运算称为等值连接。它是从关系R与S 的广义笛卡尔积中选取A,B属性值相等的那些元组

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉3、何谓数据库,数据库设计一般分为哪些阶段?

1)数据库(Database)是按照数据结构来组织、存储和管理数据

的仓库。

2)需求设计,概念设计,逻辑设计,物理设计,实施、运行、维护4、简述Oracle逻辑数据库的组成?

表空间、段、区、数据块

5、试任举一例说明游标的使用方法?

---创建表

create table test

(

name char(30),

age char(40),

subject char(20),

id numeric(10)

)

--插入数据

insert into test values ('hehe','haha','hh',4)

---定义变量

declare @name char(30)

declare @age char(40)

declare @subject char(20)

declare @id numeric

----创建游标

declare himm1 cursor

for select [name],age,subject,id from test

---打开游标

open himm1

--- 使用游标进行翻阅

fetch himm1 into @name, @age, @subject, @id

--注意@@FETCH_STATUS是SQL SERVER里面的变量和ORACLE的@@sqlstatus有区别。

while (@@FETCH_STATUS = 0)

begin

---打印

print @name

print @age

print @subject

print @id

fetch himm1 into @name, @age, @subject, @id

end

----关闭游标(关闭游标结果集,而不是它的全部内容)

close himm1

---关闭游标(释放游标所占用的内存,并且可以让游标的名字可以被再次使用)

deallocate himm1

五、设有雇员表emp(empno,ename,age,sal,tel,deptno),

其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话

deptno-----部门号。

请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分)? 1、查询家有电话的职工信息。

SQL>SELECT * FROM emp WHERE tel NOT NULL;

? 2、查询工资在500至800元之间的雇员信息

SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800;

? 3、按年龄递增顺序显示雇员编号、姓名、年龄、工资

SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC;

? 4、求部门号为D_01的平均工资

SQL>SELECT A VG(sal) FROM emp WHERE deptno='D_01'; ? 5、查找部门号为D_01的40岁以上而工资在400元以下的雇员名单。

SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND

Sal<400;

数据库基础(Oracle)试卷

一、单项选择题(每小题3分,共15分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选、多选或未选均无分。

1.现实世界中,事物的一般特性在信息世界中称为(C )

A.实体

B.实体键

C.属性

D.关系键

2.数据的逻辑独立性是指(A )

A.概念模式改变,外模式和应用程序不变

B.概念模式改变,内模式不变

C.内模式改变,概念模式不变

D.内模式改变,外模式和应用程序不变

3.在关系数据库管理系统中,创建的视图在数据库三层结构中属

于(A )

A.外模式

B.存储模式

C.内模式

D.概念模式

4.部分匹配查询中有关通配符“_”的正确的叙述是( D)

A.“_”代表多个字符

B.“_”可以代表零个或多个字符

C.“_”不能与“%”一同使用

D.“_”代表一个字符

5.假设下表中属性emp_dept是employee表中的一个外码,其中department表是主表,ID为主码,employee表为从表。请指出下面给出的各行中哪一行不能插入employee表(A) DEPARTMENT:

ID NAME LOCATION

10 Accounting New york

40 Sales miami

EMPLOYEE:

EMP_ID EMP_NAME EMP_MGR TITLE EMP_DEPT

1234 Green President 40

4567 Gilmore 1234 Senior VP 40

1045 Rose 4567 Director 10

9876 Smith 1045 Accountant 10

A、9213jones1045clerk30

B、8997grace1234secretary40

C、5932 allen4567clerknull

二、填空题(每空2分,**30分)

1.数据模型通常都是由数据结构、数据操作和数据约束三个要素组成。

2.数据库系统各类用户对数据库的各种操作请求(数据定义、查询、更新及各种控制)都是由一个复杂的软件来完成的,这个软件叫做DBMS。

3.在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用DISTINCT关键字。

4.使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用HA VING子句。

5.关系数据库的数据操纵语言(DML) 主要包括两类操作,它们是检索和_更新。

6.在关系数据库设计中,数据库设计分为需求分析、概念设计、逻辑设计、物理设计、应用程序编码调试运行、数据库运行维护六个阶段。设计关系模式是数据库设计中的哪个阶段的任务?逻辑设计

7.关系运算可分为关系代数和关系演算两大类。

8.1NF的关系消除非主属性对键的部分函数依赖后,可将范式等级提高到2NF。2NF的关系消除非主属性对键的传递函数依赖后,可将范式等级提高到3NF。

9.数据库的三级结构通过模式的概念/内模式映象保证物理独立性,通过模式的外/概念映象,保证逻辑独立性。

10. SQL的含义是结构化查询语言。

11.DBMS通常提供授权功能来控制不同的用户访问数据库中数据的权限,其目的是为了数据库的安全性。

三、简答题(每小题6分,共24分)

1.数据库提供的安全性保护功能包括哪四个方面?试解释它们的含义

数据库的安全性:指保护数据库,防止不合法的使用造成的数据泄露、更改或破坏。

SQL Server 2000 的安全性机制由四层构成

第一层:操作系统的登录

第二层(服务器安全管理):SQL Server的登录————特殊账户sa

第三层(数据库安全管理):数据库的访问权————成为数据库用户

第四层(数据库对象安全管理):数据库对象(表、视图等)的访问权———数据库用户获得角色

2.简述参照完整性规则,它的目的意义,试举例说明。

3.以oracle DBMS为例,给出SQL语言支持的关系数据库三级逻辑结构示意图。

1) SQL语言支持的关系数据库三级逻辑结构由外层、概念层和内存构成,如图所示。

2)在概念层,对应于概念模式的概念记录型的是基本表。基本表是这样的一种表,它本身实际存在。一个基本表就是一个关系,它不是由其他表导出的表。基本表是使用CREATE TABLE 语句建立的。

3)在外层,用户所看到的可以是基本表,也可以是视图,也可以是基本表+视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CREATE SQL VIEW语句建立的。

4)在内层,每个基本表用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。

4.简述DBMS对数据库的安全性控制功能包括哪些常用手段? 数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据泄漏和破坏,即避免数据被人偷看、篡改或搞坏;数据完整性控制功能,指为了保证数据库中数据的正确、有效和相容,以防止不合语义的错误数据被输入或输出。

四、数据库设计(共15分)

1.假设有一个关系,用来记录每个人的身份证号、姓名和工作单位。还包含他/她的每个孩子的身份证号、姓名和出生地,以及他/她所拥有的每辆汽车的牌号和型号。

由现实世界的已知事实得知:

有一些人可能有若干辆汽车,这些汽车可能是同一型号,也可能不是同一型号;

有一些人没有汽车;如果某人有汽车,他的每辆汽车都有一个汽车牌号;

有一些人可能有若干个孩子,有一些人没有孩子。初步设计的关系模式如下:

R (身份证号,姓名,工作单位,C 身份证号,C 姓名,C 出生地,汽车牌号,型号)

其中“C身份证号,C姓名,C出生地”分别是孩子的身份证号、姓名和出生地。

请将该关系模式分解成BCNF的关系模式,确定主关系键。(7分)

公民(身份证号,姓名,工作单位)

汽车(汽车牌号,型号,身份证号)

孩子(C身份证号,C姓名,C 出生地,身份证号)

2.假设某一个学校的图书馆要建立一个数据库,保存读者、书和读者借书记录。为了建立该数据库,需要先设计好概念模型,即设计E-R图,然后再将概念模型转换为关系模型。请设计出E-R图。

读者的属性有:读者号、姓名、年龄、地址和单位。

每本书的属性有:书号、书名、作者和出版社。

对每个读者借的每本书有:借出日期和应还日期。(8分)

读者(读者号,姓名,地址,单位)

图书(书号,书名,作者,出版社)

借阅(书号,读者号,借书日期,应还日期)

五、计算题(本大题共3小题,共16分)

设有一个顾客商品关系数据库,有三个基本表,表结构如下:

商品表:Article (商品号,商品名,单价,库存量)

客户表:Customer (顾客号,顾客名,性别,年龄,电话)

订单表:OrderItem (顾客号,商品号,数量,购买价,日期)

注意:回答时要将答案写到规定的地方;给出的答案要求字迹必须清楚;不允许改变程序结构和随意添加子查询。

1.请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。(金额等于数量*购买价)(6分)

CREAT VIEW GM_VIEW(顾客号,顾客名,商品名,金额,日期) AS

SELECT 顾客号,顾客名,商品名,数量*购买价as 金额,日期

FROM Artcle, Customer, OrderItem

WHERE Customer.顾客号=OrderItem.顾客号and_Article.商品号=_OrderItem.商品号

2.请用SQL语言找出女顾客购买的商品号、商品名和数量合计。(6分)

SELECT OrderItem.商品号AS商品号, OrderItem.商品名AS 商品名,SUM(OrderItem.数量) AS数量合计FROM OrderItem, Artcle, Customer,

WHERE Artcle.商品号= OrderItem.商品号AND OrderItem.商品号= Customer.商品号AND Customer. 性别='女'

GROUP BY OrderItem.商品号,商品名;

3.请用SQL语言ALTER TABEL命令给商品表Article增加一个字段,字段名为:产地,数据类型为:CHAR,长度为:30,命令如下:(4分)

ALTER TABEL Article ADD产地char(30)

数据库基础(Oracle)试卷

一、填空题(每空2分,共20分)

1、使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满**条件的分组,应当使用having ... 子句。

2、在关系数据库设计中,数据库设计分为需求分析、概念设计、逻辑设计、物理设计、应用程序编码调试运行、数据库运行维护六个阶段。设计关系模式是数据库设计中的哪个阶段的任务?

逻辑设计

3、关系代数中专门的关系运算包括:选择、投影、连接和除法

4、关系模型有实体完整性、参照完整性、用户定义完整性。

5、对于实体集A和B之间的二元联系集,映射基集必须是以下

四种之一:

1、一对一联系(1:1):对于实体集A中的一个实体,实体集B中至多有一个实体与之联系;反之亦然。

2、一对多联系(1:m):对于实体集A中的每一个实体,实体集B中有m 个(m>=0)实体与与之联系;反之对于实体集B中的每一个实体,实体集A至多只有一个实体与之联系。

3、多对一联系(m:1):对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系;反之对于实体集B中的每一个实体,实体集A有m个(m>=0)实体与之联系。

4、多对多联系(n:m):对于实体集A中的每一个实体,实体集B中有n个(n>=0)实体与之联系,对于实体集B中的每一个实体,实体集A有m个(m>=0)实体与之联系。

6、PL/SQL有两种类型的游标:显式和隐式游标。

二、单项选择题(每小题3分,共15分)

1、在关系数据库管理系统中,创建的视图在数据库三层结构中属于( )

A.外模式

B.存储模式

C.内模式

D.概念模式

2、现实世界中,事物的一般特性在信息世界中称为( )

A.实体

B.实体键

C.属性

D.关系键

3、关系模式SJP(S,J,P)中,S是学生,J是课程,P是名次。

每一个学生选修每门课程的成绩有一定的名次,每门课程中每一个名次只有一个学生(无并列)。该关系模式属于:

A、2NF

B、3NF

C、BCNF

D、4NF

4、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )

A.多对多

B.一对一

C.多对一

D.一对多

5、数据的逻辑独立性是指( )

A.概念模式改变,外模式和应用程序不变

B.概念模式改变,内模式不变

C.内模式改变,概念模式不变

D.内模式改变,外模式和应用程序不变

三、简答题(每小题7分,共35分)

1、简述参照完整性规则,它的目的意义,试举例说明。

2、简述oracle数据库系统的体系结构特点

1)至少包含一个SYSTEM表空间、DDL语言

2)各种不同表空间数据字典信息

3)我的数据保存在表空间上,表空间是以多个数据文件的形式体现的。

3、何谓数据与程序的逻辑独立性和物理独立性?

4、简述DBMS对数据库的安全性控制功能包括哪些常用手段?

5、简述数据库概念设计的主要步骤。

(1)进行数据抽象,设计局部概念模式;

(2)将局部概念模式综合成全局概念模式;

(3)评审

四、数据库设计(每小题10分,共30分)

1、假设某一个学校的图书馆要建立一个数据库,保存读者、书和读者借书记录。为了建立该数据库,需要先设计好概念模型,即设计E-R图,然后再将概念模型转换为关系模型。请设计出E-R图。

读者的属性有:读者号、姓名、年龄、地址和单位。

每本书的属性有:书号、书名、作者和出版社。

对每个读者借的每本书有:借出日期和应还日期。

公民(身份证号,姓名,工作单位)

汽车(汽车牌号,型号,身份证号)

孩子(C身份证号,C姓名,C 出生地,身份证号)

2、有雇员表emp(empno,ename,age,sal,tel,deptno),

其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话

deptno-----部门号。

请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分? 查询家有电话的职工信息。

? 查询工资在500至800元之间的雇员信息

? 按年龄递增顺序显示雇员编号、姓名、年龄、工资

? 求部门号为D_01的平均工资

? 找部门号为D_01的40岁以上而工资在400元以下的雇员名单。

1、SQL>SELECT * FROMemp WHERE tel NOT NULL;

2、SQL>SELECT *FROMempWHEREBETWEEN500AND800;

3、SQL>SELECT empno,ename,age,salFROMempORDERBY ageASC;

4、SQL>SELECTA VG(sal)FROMemp WHERE deptno='D_01';

5、SQL>SELECTenameFROMempWHERE

deptno='D_01'ANDage>40 AND

Sal<400;

3、设关系模式SCG(S#, C#, grade)中S#为学生号,C#为课程号,grade为某学生学某号课程的考试成绩。今要查询平均分数超过80分的课程的平均成绩,且要求查询的结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列。写出SQL查询。Select C#, A VG(grade)

From SCG

Group by C#

Having A VG(grade)>80

Order by 2, C# desc

相关文档
最新文档