第一篇:数据库第三章习题参考答案
3-2 对于教务管理数据库的三个基本表 S(SNO,SNAME, SEX, AGE,SDEPT)SC(SNO,CNO,GRADE)
C(CNO,CNAME,CDEPT,TNAME)试用SQL的查询语句表达下列查询:
⑴ 检索LIU老师所授课程的课程号和课程名。⑵ 检索年龄大于23岁的男学生的学号和姓名。
⑶ 检索学号为200915146的学生所学课程的课程名和任课教师名。⑷ 检索至少选修LIU老师所授课程中一门课程的女学生姓名。⑸ 检索WANG同学不学的课程的课程号。⑹ 检索至少选修两门课程的学生学号。
⑺ 检索全部学生都选修的课程的课程号与课程名。
⑻ 检索选修课程包含LIU老师所授课程的学生学号。解:
⑴ SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’;⑵ SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’;⑶ SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷ SELECT SNAME(连接查询方式)FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND TEACHER=’LIU’;
或:
SELECT SNAME(嵌套查询方式)FROM S WHERE SEX=’F’AND S# IN(SELECT S# FROM SC WHERE C# IN(SELECT C# FROM C WHERE TEACHER=’LIU’))或:
SELECT SNAME(存在量词方式)
SEX=’F’ AND FROM S WHERE SEX=’F’ AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=’LIU’))⑸ SELECT C# FROM C WHERE NOT EXISTS(SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG));⑹ SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#;⑺ SELECT C#.CNAME FROM C WHERE NOT EXISTS(SELECT * FROM S WHERE NOT EXISTS(SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#));⑻ SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS(SELECT * FROM C WHERE TEACHER=’LIU’ AND NOT EXISTS(SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#));3-3 试用SQL查询语句表达下列对3.2题中教务管理数据库的三个基本表S、SC、C查询:
⑴ 统计有学生选修的课程门数。
⑵ 求选修4号课程的学生的平均年龄。
⑶ 求LIU老师所授课程的每门课程的学生平均成绩。
⑷ 统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
⑸ 检索学号比WANG同学大,而年龄比他小的学生姓名。⑹ 检索姓名以WANG打头的所有学生的姓名和年龄。⑺ 在SC中检索成绩为空值的学生学号和课程号。⑻ 求年龄大于女同学平均年龄的男学生姓名和年龄。⑼ 求年龄大于所有女同学年龄的男学生姓名和年龄。
解:
⑴ SELECT COUNT(DISTINCT C#)FROM SC;⑵ SELECT AVG(AGE)FROM S,SC WHERE S.S#=SC.S# AND C#=’4’AND SEX=’F’;⑶ SELECT C.C#,AVG(GRADE)FROM SC,C WHERE SC.C#=C.C# AND TEACHER=’LIU’;⑷ SELECT C#,COUNT(S#)FROM SC GROUP BY C# HAVING COUNT(*)>10 ORDER BY 2 DESC,1;⑸ SELECT SNAME FROM S WHERE S#>ALL(SELECT S# FROM S WHERE SNAME=’WANG’
AND AGE
3-4 试用SQL更新语句表达对3.2给出的教务管理数据库中三个基本表S、SC、C进行如下更新操作:
⑴ 往基本表S中插入一个学生元组(‘200912143’,‘张晶’,21)。
⑵ 在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(SNO,SNAME,SEX)。⑶ 在基本表SC中删除尚无成绩的选课元组。⑷ 把张成民同学在SC中的选课记录全部删去。
⑸ 把选修高等数学课程中不及格的成绩全部改为空值。⑹ 把低于总平均成绩的女同学成绩提高5%。
⑺ 在基本表SC中修改4号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。
解:
⑴INSERT INTO S(S#,SNAME,AGE)VALUES(‘200912143’,’张晶’,21);
⑵INSERT INTO STUDENT(SNO,SNAME,SEX)SELECT S#,SNAME,SEX FROM S WHERE S# IN(SELECT S# FROM SC WHERE 80<=ALL(SELECT GRADE FROM SC GROUP BY S#));⑶DELETE FROM SC WHERE GRADE IS NULL;⑷DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SNAME=’张成民’)⑸UPDATE SC SET GRADE=NULL WHERE GRADE<60 AND C# IN(SELECT C# FROM C WHERE CNAME=’高等数学’);⑹UPDATE SC SET GRADE=GRADE*1.05 WHERE S# IN(SELECT S# FROM S WHERE SEX=’F’)
AND GRADE<(SELECT AVG(GRADE)FROM SC);⑺ 用两个UPDATE语句实现: UPDATE SC SET GRADE=GRADE*1.04
WHERE C#=’4’AND GRADE>75;UPDATE SC SET GRADE=GRADE*1.05 WHERE C#=’4’AND GRADE<=75;
注意:这两个UPDATE语句的顺序不能颠倒。
第二篇:数据库习题与答案
一.选择题:
1.日志文件是用于记录()
A.程序运行过程 B.数据操作 C.对数据的所有更新操作 D.程序执行的结果
答案:C(114)2.利用查询分析器,能()
A.直接执行SQL语句
B.提交SQL语句给服务器执行 C.作为企业管理器使用
D.作为服务管理器使用 答案:B(123)
3.不属于SQL Server系统全局变量的是()
A.@@Error
B.@@Connections
C.@@Fetch_Status
D.@Records
答案:D(131)
4.Transact-SQL对标准SQL的扩展主要表现为()
A.加入了程序控制结构和变量 B.加入了建库和建表语句 C.提供了分组(Group By)查询功能 D.提供了Min、Max等统计函数
答案:A(133)
5.下列选项中,查询中的汇总函数是()
A.CONST B.RETURN C.FETCH D.COUNT 答案:D(134)
6.下列选项中,不是存储过程的组成部分是()
A.过程声明 B.过程名 C.参数 D.过程体
答案:A(135)
7.在SQL Server服务器上,存储过程是一组预先定义并()
A.保存的T-SQL语句 B.编译的T-SQL语句 C.解释的T-SQL语句 D.编写的T-SQL语句
答案:B(135)
8.在ODBC与数据的交换管理中,所涉及的下列选项中不属于交换管理的是()A.连接管理 B.分配管理 C.游标管理 D.诊断管理
答案:B(138)
9.在下列的选项中,不属于Web常用的开发工具的是()
A.ASP B.JSP C.PHP D.Visual BASIC 答案:D(143)
二.填空题
1.连接管理语句主要用于数据交换中主客体间建立实质性关联的语句,它们由______________、置连接语句与断开语句三条语句组成。
答案:连接语句
(115)
2.连接管理语句主要用于数据交换中主客体间建立实质性关联的语句,它们由连接语句、______________与断开语句三条语句组成。
答案:置连接语句
(115)
3.连接管理语句主要用于数据交换中主客体间建立实质性关联的语句,它们由连接语句、置连接语句与______________三条语句组成。
答案:断开语句
(115)
4.诊断管理语句主要用于获取SQL语句执行 的状态。
答案:后(117)
5.人机交互方式是人与______________直接交互的方式,它是最原始、最简单也是最方便的一种方式。
答案:数据库
(118)
6.自含式SQL构成一种完整的语言,它将传统的程序设计语言与SQL相结合,其数据同时具有______________与标量形式。
答案:集合量
(130)
7.在Web应用中一般使用典型的三层结构B/S模式,在这个结构中由浏览器、______________及数据库服务器三部分组成。
答案:Web服务器
(143)
8.在Web应用中一般使用典型的三层结构B/S模式,在这个结构中由浏览器、Web服务器及______________三部分组成。
答案:数据库服务器
(143)
三.简答题
1.请说明游标管理语句的作用和他所设有的4个SQL语句。
答案:(116)游标管理语句主要用于在数据交换中数据库中的集合量数据与应用程序的标量数据间的转换。它主要用于SQL的查询语句中。
在游标管理中一共设有4个SQL语句,它们是:
⑴ 定义游标。为某SELECT语句的结果集合定义一个命名游标
⑵ 打开游标。在游标定义后当使用数据时需打开游标,此时游标处于活动状态并指向集合的第一个记录
⑶ 推进游标。此语句功能是将游标定位于集合中指定的记录,并从该记录取值,送入程序变量中
⑷ 关闭游标。游标使用完后需关闭 2.请说明动态SQL管理语句内容。
第三篇:数据库习题与答案
一.选择题:
1.数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括()
A.网状模型 B.链状模型 C.层次模型 D.关系模型 答案:B(18)
2.E-R图中的主要元素是实体型、属性和()
A.记录型 B.结点 C.联系 D.有向边
答案:C(19)3.关系数据模型____。
A.只能表示实体间的1:1联系 B.只能表示实体间的1:n联系 C.只能表示实体间的m:n联系 D.可以表示实体间的上述三种联系
答案:D(20)
4.数据库概念设计E-R方法中,用属性描述实体的特征,实体集在E-R图中,用下列选项之一表示()
A.矩形 B.四边形 C.菱形 D.椭圆形
答案:A(22)
5.层次型、网状型和关系型数据库划分原则是()A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系
答案:D(24)
6.数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是()A.层次数据模型 B.网状数据模型 C.关系数据模型 D.面向对象数据模型
答案:C(24)
7.按照传统的数据模型分类,数据库系统可以分为三种类型()A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体
答案:C(24)
8.在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是()A.二维表结构 B.封装结构 C.层次结构 D.网状结构
答案:A(24)
9.一个关系数据库文件中的各条记录()
A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响库中的数据关系
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列
答案:B(25)
10.关系数据库中的关键字是指()
A.能惟一决定关系的字段 B.不可改动的专用保留字 C.关键的很重要的字段 D.能惟一标识元组的属性或属性集合
答案:D(26)
二.填空题
1.根据数据模型的应用目的不同,数据模型分为、逻辑数据模型和物理数据模型。
答案:概念数据模型(18)
2.数据模型按不同的应用层次分成三种类型,它们是概念数据模型、及物理数据模型。
答案:逻辑数据模型
(18)
3.数据模型按不同的应用层次分成三种类型,它们是______________、逻辑数据模型及物理数据模型。
答案:概念数据模型
(18)
4.数据模型按不同的应用层次分成三种类型,它们是概念数据模型、逻辑数据模型
及。
答案:物理数据模型
(18)
5.数据模型所描述的内容有三个部分,它们是______________、数据操纵与数据约束。
答案:数据结构
(18)
6.数据模型所描述的内容有三个部分,它们是数据结构、______________与数据约束。
答案:数据操纵
(18)
7.数据模型所描述的内容有三个部分,它们是数据结构、数据操纵与。
答案:数据约束
(18)
8.数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的______________。
答案:物理世界
(19)
9.关系数据库是采用______________作为数据的组织方式。
答案:关系模型
(24)
10.关系模型统一采用______________形式,它也可简称表。
答案:二维表
(25)
11.在一个实体表示的信息中,称 为关键字。
答案:能惟一标识实体的属性或属性组
(26)
12.关系模型的数据操纵即是建立在关系上的一些操作,一般有、删除、插入及修改等四种操作。
答案:查询
(27)
三.简答题
1.试区别数据模型与数据模式。答案:(18)数据模型(data model)是数据管理基本特征的抽象,它是数据库的核心与基础。
数据模式主要描述基础数据的类型、性质以及数据间的关联,且在数据库系统中具有统一的结构形式。2.在数据库的物理模型中有哪几个层次?请说明之。
答案:(28)
物理模型主要是指,计算机系统的物理存储介质(特别是磁盘组织),操作系统的文件级以及在它们之上的数据库中的数据组织三个层次。3.试给出文件系统的组成结构以及它的操作。
答案:(30)⑴ 文件系统的组成:
文件系统是实现数据库系统的直接物理支持,文件系统的基本结构由项、记录、文件及文件集合等四个层次组成。
⑵ 文件的操作文件有若干操作,一般的操作有如下五种:
①打开文件
②关闭文件
③读记录
④写记录
⑤删除记录 4.数据库中有哪些数据分类,请说明之。
答案:(30)存储于数据库中的数据除了数据主体外还需要很多相应的辅助信息,它们的整体构成了完整的数据库数据的全体。
⑴ 数据主体(main data)
⑵ 数据字典(data dictionary)
⑶ 数据间联系的信息
⑷ 数据存取路径信息
⑸ 与数据主体有关的其他信息
5.设有一车辆管理系统,其中的数据有:
车辆号码、名称、型号;
驾驶员身份证号、姓名、地址、电话; 驾驶证号、发证单位。
其中车辆、驾驶员及驾驶证间满足如下条件: 一辆车可以由多个驾驶员驾驶; 每个驾驶员可以驾驶多辆车; 每个驾驶员可以有多个驾驶证; 每个驾驶证只能供一个驾驶员使用。
请设计该数据库的E-R图,并给出联系间的函数关系。车辆号名称m型号身份证号n姓名地址电话车辆驾驶驾驶员1拥有p驾驶证驾驶证号发证单位
第四篇:数据库应用习题及答案
数据库应用习题及答案
4、在下述关于数据库系统的叙述中,正确的是()
A.数据库中只存在数据项之间的联系 B.数据库的数据项和记录之间都存在联系
C.数据库的数据项之间无联系,记录之间存在联系 D.数据库的数据项和记录之间都不存在联系 参考答案: B
8、为了合理组织数据,应遵从设计原则是()
A.“一事一地”的原则,即一个表描述一个实体或实体间的一种联系
B.表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段
C.用外部关键字保证有关联的表之间的联系
D.以上各条原则都包括
参考答案: D
9、如果要改变一个关系中属性的排列顺序,应使用的关系运算是()
A.重建 B.选取 C.投影 D.连接
参考答案: C A.索引、排序、查找 B.建库、录入、排序 C.选择、投影、联接 D.显示、统计、复制 参考答案: C
12、Visual FoxPro关系数据库管理系统能够实现的三种基本关系运算是()填空题:
1、在关系数据库中,二维表的列称为属性,二维表的行称为 [ ]。
参考答案: 元组
3、用二维表的形式来表示实体之间联系的数据模型叫做_____________
参考答案: 关系模型
4、数据模型不仅表示反映事物本身的数据,而且表示()。
参考答案: 事物之间的联系
5、信息是有用的()。
参考答案: 数据
6、数据是信息的表现()。
参考答案: 形式
7、一个关系数据库由若干个()组成;一个数据表由若干个()组成;每一个记录由若干个以字段属性加以分类的()组成。
参考答案: 数据表 记录 数据项
5、关系模型有哪些主要的特点?
学生答案: 数据结构简单、查询与处理方便、数据独立性高、坚实的理论基础
参考答案: B Visual FoxPro 6.0基础
单选题:
1、Visual Foxpro中,要显示或隐藏某个工具栏,应选择()
A.文件--退出
B.显示--工具栏
C.显示--命令窗口
D.工具--选项
参考答案: B
11、Visual Foxpro中,显示和隐藏命令窗口的操作是在_______菜单中完成的 A.工具 B.显示 C.编辑 D.窗口
参考答案: D
15、Visual Foxpro 6.0主要界面菜单栏中不包括________菜单项
A.“文件”
B.“项目” C.“程序” D.“窗口” 参考答案: B A.“工具” B.“显示” C.“窗口” D.“文件”
16、Visual Foxpro中,若要定制工具栏,应选择________菜单项
参考答案: B
19、以下有关Foxpro工作方式的叙述,正确的是()
A.只有一种工作方式,即命令工作方式
B.有两种工作方式,即命令方式和程序方式 C.有两种工作方式,即键盘方式和鼠标方式
D.有三种工作方式,即命令方式、程序方式和菜单方式 参考答案: B 20、Foxpro某些类型的文件只有在库文件打开的情况下才能打开,在库文件关闭时自动关闭。属于这一类文件的扩展名的有:
A.IDX、MEM B.FMT、DBT C.PRG、FOX D.IDX、DBT 参考答案: D 填空题:
1、数据库管理系统的英文全称是,简称是。
参考答案: database management system ,dbms
4、安装完Visual Foxpro之后,系统自动用一些默认值来设置环境,要定制自己的系统环境,应单击___________菜单下的__________菜单项
参考答案: 工具,选项
6、在全屏幕编辑状态下,按_______键可保存文件并退出此状态。按______键或_______键放弃存盘退出
参考答案: Ctrl+W,Esc,Ctrl+Q
7、Visual Foxpro 6.0支持两种工作方式,即_______和________
参考答案: 交互方式,程序执行
8、Visual FoxPro 6.0的用户界面由6部分组成,它们是()、()、()、()、()、()。
参考答案: 标题栏 菜单栏 工具栏 工作区 状态栏 命令窗口
9、常用的Visual FoxPro 6.0有()种向导
参考答案: 18
10、常用的Visual FoxPro 6.0有()种设计器。
参考答案: 10 问答题:
1、试述VFP6.0的启动与退出
参考答案: 略
2、在VFP6.0中有哪几种变量。
参考答案: 略
3、VFP有哪几种工作方式?简单说明各种方式的特点。
参考答案: 在VF6.0中提供了三种工作方式,即命令方式、菜单方式和程序文件方式。
命令方式的工作特点是:输入一条操作命令,系统完成一个数据库操作。菜单方式的工作特点是:通过选择菜单悬想完成所需的操作。
程序文件方式简称程序,其工作特点是:通过程序文件中的命令完成对数据库的操作和系统环境的配置。单选题:
6、退出Visual Foxpro的操作方法是()
A.从“文件”下拉菜单中选择“退出”选项
B.用鼠标左按钮单击关闭窗口按钮
C.在命令窗口中键入QUIT命令,然后敲回车键
D.以上方法都可以
参考答案: D
8、要启动Visual Foxpro的向导可以()
A.打开新建对话框
B.单击工具栏上的“向导”图标按钮
C.从“工具”菜单中选择“向导”
D.以上方法均可以
参考答案: D
9、Visual Foxpro中,显示和隐藏命令窗口的操作是在_______菜单中完成的 A.工具 B.显示 C.编辑 D.窗口
参考答案: D
10、关于用户创建工具栏的如下说法中,哪一个是正确的()
A.只能定制Visual Foxpro系统工具栏,不能自定义工具栏
B.不能定制Visual Foxpro系统工具栏,但可以自定义工具栏
C.既能定制Visual Foxpro系统工具栏,也能自定义工具栏
D.只能使用系统工具栏,不能创建自定义工具栏
参考答案: C
12、Visual Foxpro 6.0主要界面菜单栏中不包括________菜单项
A.“文件”
B.“项目”
C.“程序”
D.“窗口”
参考答案: B
13、Visual Foxpro中,若要定制工具栏,应选择________菜单项
A.“工具”
B.“显示”
C.“窗口”
D.“文件”
参考答案: B
14、启动Visual Foxpro 6.0后,屏幕上出现两个窗口:一个是Visual Foxpro 6.0的主窗口,另一个是()窗口。
A.文本
B.命令
C.帮助
D.对话框
参考答案: B
15、VFP6.0是一种支持用户使用菜单、命令、_________三种不同操作方式 的新型数据管理系统
A.循环
B.备份文件
C.命令文件
D.内存变量
参考答案: C
17、以下有关Foxpro工作方式的叙述,正确的是()
A.只有一种工作方式,即命令工作方式
B.有两种工作方式,即命令方式和程序方式 C.有两种工作方式,即键盘方式和鼠标方式
D.有三种工作方式,即命令方式、程序方式和菜单方式
参考答案: B
22、将内存变量定义为全局变量的VFP命令是()。
A.GLOBAL
B.PUBLIC
C.PRIVATE
D.LOCAL
参考答案: B
23、一个软件在安装之前,不需要了解它的()
A.硬件环境
B.软件环境
C.乔迁环境
D.用户
参考答案: D
24、以下方法中()不可以启动Visual FoxPro 6.0
A.从程序菜单
B.从资源管理器
C.word系统
D.从桌面
参考答案: C 单选题:
12、Visual Foxpro中,控制命令窗口显示和隐藏的命令在________菜单项中
A.“编辑” B.“工具” C.“窗口” D.“项目”
参考答案: C
13、Visual Foxpro中,若要定制工具栏,应选择________菜单项
A.“工具”
B.“显示”
C.“窗口”
D.“文件”
参考答案: B
17、Foxpro某些类型的文件只有在库文件打开的情况下才能打开,在库文件关闭时自动关闭。属于这一类文件的扩展名的有:
A.IDX、MEM
B.FMT、DBT
C.PRG、FOX
D.IDX、DBT
参考答案: D
24、不是Visual FoxPro 6.0可视化编程工具的是()
A.向导
B.生成器
C.设计器
D.程序编辑器
参考答案: D 单选题:
24、不是Visual FoxPro 6.0可视化编程工具的是()
A.向导
B.生成器
C.设计器
D.程序编辑器
参考答案: D 单选题:
18、Foxpro某些类型的文件只有在库文件打开的情况下才能打开,在库文件关闭时自动关闭。属于这一类文件的扩展名的有:
A.IDX、MEM
B.FMT、DBT
C.PRG、FOX
D.IDX、DBT
参考答案: D 项目管理器
1、打开“项目管理器”可以使用的命令是()。
参考答案: A
2、在VFP6.0中,项目的扩展名为_______
A..DBC
B..TAB
C..IDX
D..PJX
参考答案: D
3、项目文件的扩展名是()
参考答案: A
4、项目管理器中“数据”选项卡,可以管理()
参考答案: C
5、项目管理器对资源文件进行管理时,不能完成()等操作。
A.程序 B.查询 C.数据表 D.内存变量
A..pjx B..dbf C..opr D..dbc
A.MODIFY PROJECT B.CREATE PROJECT C.OPEN PROJECT D.OPEN DATABASE
A.修改
B.复制
C.移去
D.删除
参考答案: B
6、项目管理器中“文档”选项卡,可以管理()。
A.数据库 B.查询 C.表单 D.内存变量
参考答案: C
7、项目管理器中的“代码”选项卡,可以管理()。
A.数据库 B.查询 C.表单 D.程序
参考答案: D 填空题:
1、在Visual FoxPro中,项目文件的扩展名是 []。
参考答案: PJX或.PJX
2、项目管理器的______选项卡用于显示和管理数据库,自由表和查询等.参考答案: 数据
3、每一个项目只能设一个()文件
参考答案: 主
4、扩展名为.prg的程序文件在“项目管理器”的_____________选项卡中显示和管理
参考答案: 代码
5、项目管理器的“移去”按钮有两个功能:一是把文件______________,二是__________文件
参考答案: 移出项目,从磁盘上删除
6、在项目管理器,有()()()()()()等多个选项卡。
参考答案: 全部 数据 文档 类 代码 其他
7、在项目管理器中,()方便、快捷地浏览数据表。
参考答案: 可以
8、“+”标志是表示某一项目的下面()子项目。
参考答案: 包含 问答题:
1、项目管理器有哪些主要功能?
学生答案: 在使用vfp编制程序时,需要创建各种类型文件,为为提高工作效率,vfp提供了一个非常有效的管理工具:项目管理器。项目管理器是Vfp中处理数据和对象的主要组织工具,建立一个项目文件可以帮助你方便的组织文件和数据。在项目管理器中只需单几次鼠标,就可以方便地组织相关的文件。可以这样下定义:项目是文件、数据、文档及其它Vfp对象的集合,要建立一个项目就必需先创建一个项目文件,项目文件的扩展名为.Pjx.参考答案: 略
2、项目管理器是什么?使用它有什么好处?
学生答案: 项目管理器是Visual FoxPro 6.0用来管理、组织数据和对象的主要工具。它将一些相关的文件、数据、文档等集合起来,用图形与分类的方式来管理
单选题:
1、打开“项目管理器”可以使用的命令是()。
A.MODIFY PROJECT
B.CREATE PROJECT
C.OPEN PROJECT
D.OPEN DATABASE
参考答案: A
2、在VFP6.0中,项目的扩展名为_______
A..DBC
B..TAB
C..IDX
D..PJX
参考答案: D
3、项目文件的扩展名是()
A..pjx
B..dbf
C..opr
D..dbc
参考答案: A
4、项目管理器中“数据”选项卡,可以管理()
A.程序
B.查询
C.数据表
D.内存变量
参考答案: C
5、项目管理器对资源文件进行管理时,不能完成()等操作。
A.修改
B.复制
C.移去
D.删除
参考答案: B
6、项目管理器中“文档”选项卡,可以管理()。
A.数据库
B.查询
C.表单
D.内存变量
参考答案: C
7、项目管理器中的“代码”选项卡,可以管理()。
A.数据库 B.查询 C.表单 D.程序
参考答案: D
创建数据库和表
单选题:
1、Visual FoxPro参照完整性规则不包括()。
参考答案: B
2、Visual Foxpro中,从数据库中移去表的命令是()
A.REMOVE TABLE
B.REMOVE DATABASE
C.USE
D.DELETE TALBE
参考答案: A
3、Visual Foxpro中,打开名为STUDENTS的数据库的命令是()
A.USE STUDENTS B.OPEN STUDENTS C.OPEN DATABASE STUDENTS D.USE DATABASE STUDENTS
A.更新规则 B.查询规则 C.删除规则 D.插入规则
参考答案: C
4、用create d命令建立的d文件是一个什么文件()
A.数据库文件
B.表文件
C.表单文件
D.菜单文件
参考答案: B
5、在Visual FoxPro中,数据库表和自由表()。
A.字段名最长可达128个字符
B.均拥有4种类型的索引,即主索引、候选索引、唯一索引和普通索引
C.只有数据库表设置有字段属性
D.均拥有3种类型的索引,即主索引、候选索引、唯一索引
参考答案: A
6、在不打开“表设计器”的情况下,若要创建一个新表,可以使用的命令是()。
A.CREATE TABLE
B.CREATE
C.ALTER TABLE ADD
D.MODIFY TABLE
参考答案: A
7、在不打开“表设计器”的情况下,若要为表添加新字段,可以使用的命令是()。
参考答案: A
8、在不打开“表设计器”的情况下,若要删除表中指定字段,可以使用的命令是()。
参考答案: B
9、在Visual FoxPro中,打开数据库的命令是()。
A.DELETE FILE B.ALTER TABLE DROP C.DROP TABLE D.PACK
A.ALTER TABLE ADD B.ALTER TABLE ALTER C.ALTER TABLE DROP D.ALTER
A.OPEN DATABASE <数据库名>
B.USE <数据库名>
C.USE DATABASE <数据库名>
D.OPEN <数据库名>
参考答案: A
10、在Visual Foxpro的命令窗口中键入CREATE DATA命令后,屏幕会出现一个创建话框,要想完成同样的工作,还可以采取如下步骤()
A.单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“新建文件“命令按钮
B.单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“向导“命令按钮
C.单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“新建文件“命令按钮
D.单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“向导“命令按钮
参考答案: A
11、Visual Foxpro中,扩展名为DBC的文件是()
A.表单文件
B.数据库表文件
C.数据库存文件
D.项目文件
参考答案: C
12、Visual Foxpro中,一数据库名为student,要想打开该数据库,应使用命令()
参考答案: B
13、在VFP中,数据库表和自由表的字段名最大字符数分别是()
参考答案: B
A.10,10 B.128,10 C.256,128 D.128,128
A.OPEN student B.OPEN DATA student C.USE DATA student D.USE student
14、Visual Foxpro中,打开一个数据库的命令是()
参考答案: D
15、Visual Foxpro数据库文件是()
A.存放用户数据的文件
B.管理数据库对象的系统文件
C.存放用户数据和系统数据的文件
D.前三种说法都对
参考答案: B
16、以下关于自由表的叙述,正确的是()
参考答案: C
17、Visual Foxpro参照完整性规则不包括()
A.更新规则 B.删除规则 C.查询规则 D.插入规则 参考答案: C
A.全部是用以前版本的Foxpro(FoxBASE)建立的表
B.可以用Visual Foxpro建立,但是不能把它添加到数据库中
C.自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 D.自由表可以添加到数据库中,但是数据库表不可以从数据库中移出成为自由表
A.USE B.USE DATABASE C.OPEN D.OPEN DATABASE
18、对表结构的修改是在下面哪一个对话框中完成的()
A.表设计器
B.数据库设计器
C.表达式生成器
D.浏览窗口
参考答案: A
19、下列关于数据库表的说法中错误的是()
A.可设置长表名,长字段名
B.可设置匹配字段类型到类,字段验证和记录验证,触发器
C.可设置主索引和候选索引关键字,字段默认值,显示模式
D.不可用use命令直接打开,必须在数据库设计器中打开
参考答案: D 20、数据库文件的扩展名是()
A.DBF
B.DBC
C.DBT D.FPT
参考答案: B
21、若表文件含有备注型或通用型字段,则在打开表文件的同时,自动打开扩展名为_______的文件
A.FRX
B.FMT
C.FRT
D.FPT
参考答案: D
22、关于数据库表与自由表的转换,下列说法中正确的是()
A.数据库表能转换为自由表,反之不能
B.自由表能转换成数据库表,反之不能
C.两者不能转换
D.两者能相互转换
参考答案: D
23、在VFP6.0中,打开数据库和表的命令分别为()
A.USE,OPEN
B.SELECT,CREAT
C.OPEN,USE D.CREAT,OPEN
参考答案: C
24、在Visual FoxPro中,打开数据库的命令是()
A.OPEN DATABASE <数据库名>
B.USE <数据库名>
C.USE DATABASE <数据库名
D.OPEN <数据库名>
参考答案: A
25、在Foxpro环境下,可以同时打开的数据库文件的最多个数是()
A.2
B.10
C.16
D.256
参考答案: B
26、在Foxpro中,仅关闭当前工作区数据库文件的命令是
A.CLOSE
B.USE
C.CLEAR
D.CLOSE DATABASE
参考答案: C
27、对数据库文件进行修改,不需要交互操作的命令是
参考答案: C
28、在数据库中的数据表间()建立关联关系。
参考答案: D
29、数据表建立参照完整性后,不能设置数据表间()操作规则。
参考答案: C 30、在数据库环境下限制记录的操作,要在()中进行。
A.表达式生成器
A.跟新 B.删除 C.浏览 D.插入
A.随意 B.不可以 C.必须
D.可根据需要
A.EDIT B.CHANGE C.REPLACE D.BROWSE
B.字段选择器
C.表设计器
D.浏览
参考答案: A
多选题:
判断题: 填空题:
1、建立一个名称为STUDENTS的数据库的命令是________。
参考答案: create dababase students
2、Visual Foxpro不允许在主键字字段中有重复值或__________________
参考答案: 空值
3、在Visual Foxpro的表之间建立一对多联系是把____________的主关键字字段添加到________________的表中
参考答案: 一方,多方
4、在定义字段有效性规则时,在规则框中输入的表达式类型是______________
参考答案: 逻辑型
5、在数据库表的表设计器中可以设置3种触发器,分别是______,_______和_______。
参考答案: 插入,更新,删除
6、若要控制只能在每月的8号才能修改表中记录,则相应的触发器表达式为___________
参考答案: day(date())=8
7、在Visual Foxpro6.0中,数据库文件的扩展名为________,表文件的扩展名为________
参考答案: dbc,dbf
8、在Visual Foxpro 6.0中,表有两种类型,即________和__________
参考答案: 自由表,数据库表
9、设置数据表中某异一字段的默认值,要在()环境下使用表设计器。
参考答案: 数据库打开的
10、使用字段默认值,可以提高数据的()速度。
参考答案: 输入 问答题:
1、如何打开表设计器,对表的结构进行修改或显示。
学生答案: 方法一:点菜单上“文件”——“打开”,会出现“打开”对话框,在对话框下面有个“文件类型”,选择“表(*.dbf)”,在该对话框上面“查找范围”选择表文件所在的文件夹,选择要打开的表。然后在菜单上“显示”——“表设计器”。方法二:在命令窗口输入命令:use 盘符:路径表文件名 回车 再输入命令: modify stru 回车
参考答案: 略
2、数据库中的数据表间有几种关联关系?建立这些关联的依据是什么?
学生答案: 一对一:比如一个学生只有一个学号 一对多:一个老师可以教多个班级 多队一:多个学生对应同一个老师
多对多:一个学生可以有多个老师,同样一个老师也可以有多个学生
参考答案: 略
4、Visual Foxpro中,修改表结构的命令是()
A.MODI COMM
B.MODI STRU
C.MODI FORM
D.USE
学生答案: C
参考答案: B
6、在Visual FoxPro中,数据库表和自由表()。
A.字段名最长可达128个字符
B.均拥有4种类型的索引,即主索引、候选索引、唯一索引和普通索引
C.只有数据库表设置有字段属性
D.均拥有3种类型的索引,即主索引、候选索引、唯一索引
学生答案: B
参考答案: A
13、在VFP中,当创建一个数据库文件时,可选用()
A.数据库向导
B.数据库生成器
C.表单设计器
D.应用程序向导
学生答案: C
参考答案: A
17、Visual Foxpro中,要求表文件某数值型字段的整数是4位,小数是2位,其值可能为负数,该字段的宽度应定义为()
A.8位
B.7位
C.6位
D.4位
学生答案: D
参考答案: A
19、下列关于数据库表的说法中错误的是()
A.可设置长表名,长字段名
B.可设置匹配字段类型到类,字段验证和记录验证,触发器
C.可设置主索引和候选索引关键字,字段默认值,显示模式
D.不可用use命令直接打开,必须在数据库设计器中打开
学生答案: B
参考答案: D 20、若要控制数据库表中学号字段只能输入数字,则应设置()
A.显示格式 B.输入掩码 C.字段有效性 D.记录有效性
学生答案: C
参考答案: B
23、在Visual FoxPro中,可以对字段设置默认值的表()。
A.必须是数据库表
B.必须是自由表
C.自由表或数据库表
D.不能设置字段的默认值
学生答案: C
参考答案: A
25、在下列几组文件扩展名中,不一定必须与数据库同时使用的相应文件是________
A.DBF、FMT B.IDX、MEM C.FMT、DBT D.MEM、PRG 学生答案: C 参考答案: D
26、Foxpro是关系数据库管理系统,在Foxpro中用以表示关系的是()
A.数据库字段 B.数据库记录 C..idx文件 D..dbf文件 学生答案: B 参考答案: D
27、在Foxpro环境下,可以同时打开的数据库文件的最多个数是()
A.2 B.10 C.16 D.256
学生答案: C
参考答案: B 30、一个数据表可以添加到()数据库中。
A.两个
B.一个
C.多个
D.随意个
学生答案: C 单选题:
15、Visual Foxpro数据库文件是()
A.存放用户数据的文件
B.管理数据库对象的系统文件
C.存放用户数据和系统数据的文件
D.前三种说法都对
学生答案: B
参考答案: B
21、在下列几组文件扩展名中,不一定必须与数据库同时使用的相应文件是________
A.DBF、FMT
B.IDX、MEM
C.FMT、DBT
D.MEM、PRG
学生答案: B
参考答案: D
22、在FoxPro中,下列叙述正确的是 ________.A.用SET RELATION命令建立数据库关联之前,两个数据库都必须索引
B.用JOIN命令连接两个数据库之前,这两个数据库必须在不同的工作区打开
C.用APPEND FROM命令向当前数据库追加记录之前,这两个数据库必须在不同的工作区打开
D.用UPDATE命令更新数据库之前,这两个数据库都必须索引
学生答案: C
参考答案: A
25、对两个数据库文件进行物理连接操作的命令是
A.LINK
B.JOIN
C.SET RELATION
D.RELATION
学生答案: B
参考答案: B
28、数据表建立参照完整性后,不能设置数据表间()操作规则。
A.跟新 B.删除 C.浏览 D.插入
学生答案: A 参考答案: C
29、在数据库环境下限制字段个数的操作,要在()中进行。
A.表达式生成器
B.字段选择器
C.表设计器
D.浏览
学生答案: A
参考答案: B 30、在数据库环境下限制记录的操作,要在()中进行。
A.表达式生成器
B.字段选择器
C.表设计器
D.浏览
学生答案: C
参考答案: A
18、若要控制数据库表中学号字段只能输入数字,则应设置()
A.显示格式
B.输入掩码
C.字段有效性
D.记录有效性
学生答案: C
参考答案: B
21、在Visual FoxPro中,可以对字段设置默认值的表()。
A.必须是数据库表
B.必须是自由表
C.自由表或数据库表
D.不能设置字段的默认值
学生答案: D
参考答案: A
29、数据表建立参照完整性后,不能设置数据表间()操作规则。
A.跟新
B.删除
C.浏览
D.插入
学生答案: C
参考答案: C 30、在数据库环境下限制字段个数的操作,要在()中进行。
A.表达式生成器
B.字段选择器
C.表设计器
D.浏览
学生答案: C
参考答案: B
14、若要控制数据库表中学号字段只能输入数字,则应设置()
A.显示格式
B.输入掩码
C.字段有效性
D.记录有效性
学生答案: B
参考答案: B 30、在数据库环境下限制记录的操作,要在()中进行。
A.表达式生成器
B.字段选择器
C.表设计器
D.浏览
学生答案: B
参考答案: A
4、Visual Foxpro中,修改表结构的命令是()
A.MODI COMM
B.MODI STRU
C.MODI FORM
D.USE
学生答案: B
参考答案: B 30、在数据库环境下限制记录的操作,要在()中进行。
A.表达式生成器
B.字段选择器
C.表设计器
D.浏览
学生答案: C
参考答案: A
问答题:
1、如何打开表设计器,对表的结构进行修改或显示。
学生答案: 打开设计器 使用命令:MODIFY YALE<表名> 表格结构的显示:LIST STRUCTURE 表结构的修改;MODIFY STROCTURE 显示和修改也可用菜单方式“显示”的“表设计器”打开窗口进行修改
参考答案: 略
2、数据库中的数据表间有几种关联关系?建立这些关联的依据是什么?
学生答案: 选择,投影,连接3种
选择是从行的角度进行运算,选择条件是逻辑表达方式的形式,为真的元组被选取 投影是从列的角度进行运算,可以得到新的运算,包括属性比原关系少或顺序不同 连接时将其2个关系模式的若干属性拼接成一个新的关系模式的操作。而连接条件是出现2个表中的公共属性名或具有相同语义、参考答案: 略
表的基本操作
1、Visual Foxpro中,要为当前表所有职工增加100元工资应该使用命令()。
A.CHANGE 工资 WITH 工资+100
B.REPLACE 工资 WITH 工资+100
C.CHANGE ALL 工资 WITH 工资+100
D.REPLACE ALL 工资 WITH 工资+100
学生答案: D
参考答案: D
2、在Visual FoxProk中,表()。
A.以两种形态出现,即数据库表和自由表 B.必须依附于一个指定的数据库
C.由于需要依附于数据库,因此它不是一个独立的文件 D.学生答案: A
参考答案: A
3、可以使用()命令修改表结构。
A.MODIFY STRUCTURE B.LIST STRUCTURE C.COPY STRUCTURE D.DELETE
学生答案: B
参考答案: A
4、假设当前工作区是第1工作区,并且已在该工作区打开了Student表。如果要在第三工作区再次打开Student表,应使用的命令是()。
A.USE Student
B.USE Student AGAIN
C.USE Student AGAIN IN 3
D.USE Student IN 3
学生答案: C
参考答案: C
5、在不进入全屏幕编辑状态下为表添加一条空白记录,应使用的命令是()。
A.APPEND
B.APPEND BLANK
C.BROWSE
D.LIST
学生答案: B
参考答案: B
6、VISUAL FOXPRO中,若要显示当前记录,应使用的命令是():
A.LIST B.DISPLAY C.EDIT D.DELETE
学生答案: C
参考答案: B
7、VISUAL FOXPRO中,参照完整性的规则不包括()
A.更新规则 B.删除规则 C.插入规则 D.检索规则
学生答案: B
参考答案: D
8、要为当前表所有职工增加100元工资,应该使用命令
A.CHANGE 工资 WITH 工资+100 B.REPLACE 工资 WITH 工资+100 C.CHANGE ALL 工资 WITH 工资+100 D.REPLACE ALL 工资 WITH 工资+100
学生答案: D
参考答案: D
9、下列命令中,仅拷贝表文件结构的命令是()
A.COPY TO
B.COPY STRUCTURE TO
C.COPY FILE TO
D.COPY STRUCTURE TO EXETENDED
学生答案: C
参考答案: B
10、如果要给当前表增加一个字段,应使用的命令是()
A.APPEND B.MODIFY STRUCTURE C.INSERT D.EDIT
学生答案: A
参考答案: B
11、在Visual Foxpro环境下,若已打开A.DBF表文件,统计该表中的记录数,使用的命令是()
A.TOTAL
B.COUNT
C.SUM
D.AVERAGE
学生答案: C
参考答案: B
12、当前表中,“体育达标”字段为逻辑类型,要显示所有未达标的记录应使用命令()
A.list for 体育达标=“.f.” B.list for 体育达标<>.f.C.list for not 体育达标 D.list for 体育达标=f
学生答案: D
参考答案: C
13、使用replace命令时,如果范围短语为ALL或REST,则执行该命令后记录指针指向()
A.末记录
B.首记录
C.末记录的后面
D.首记录的前面
学生答案: A
参考答案: C
14、要从某表文件中真正删除一条记录,应当()
A.直接用ZAP命令
B.先用DELETE命令,再用ZAP命令
C.先用DELETE命令,再用PACK命令
D.直接用DELETE命令
学生答案: D
参考答案: C
15、Visual Foxpro中,在浏览窗口中,不能将一条记录逻辑删除的操作是()
A.将光标定位于该记录,按Ctrl+T键
B.将光标定位于该记录,按Delete键
C.将光标定位于该记录,单击表菜单中的“切换删除标志”选项
D.单击该记录前的白色小方块,使其变黑
学生答案: D
参考答案: B
16、显示表中所有教授和副教授记录的命令是()
A.list for 职称=“教授” and 职称=“副教授”
B.list for 职称>=“副教授”
C.list for 职称=“教授” or “副教授”
D.list for “教授”$职称
学生答案: A
参考答案: D
17、数据表中共有100条记录,当前记录为第10条,执行list next 5以后,当前记录为()
A.10
B.14
C.15
D.EOF
学生答案: C
参考答案: B
18、在浏览窗口打开的情况下,若要向当前表中连续添加多条记录应使用()
A.“显示”菜单中的“追加方式” B.“表”菜单中的“追加新记录” C.“表”菜单中的“追加记录” D.快捷键Ctrl+Y
学生答案: C
参考答案: A
19、表中相对移动记录指针和绝对移动记录指针的命令分别为()
A.Locate和Skip B.Locate和Go C.Skip和Go D.Locate和Find
学生答案: C
参考答案: C 20、Delete的作用是()
A.将记录从表中彻底删除
B.只给要删除的记录做删除标志 C.不能删除记录
D.删除整个表中的记录
学生答案: D
参考答案: B
21、命令中<范围>子句,使用______可以对表文件从当前记录开始至最后一个记录进行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
学生答案: A
参考答案: D
22、可以在BROWSE浏览窗口中,按CTRL+T键实现__________操作
A.逻辑删除记录和物理删除记录 B.逻辑恢复记录和物理恢复记录 C.逻辑删除记录和逻辑恢复记录 D.物理删除记录和物理恢复记录
学生答案: A
参考答案: C
23、在表的操作中,DELE命令的作用是()
A.将记录从表中彻底删除 B.给要删除的记录做删除标记 C.不能删除记录
D.删除整个表中的记录
学生答案: A
参考答案: B
24、要想对一个打开的数据库增加新字段,应当使用命令 ___________.A.APPEND
B.MODIFY STRUCTURE
C.INSERT
D.CHANGE
学生答案: A
参考答案: B
25、当前数据库中有基本工资、奖金、津贴和工资总额字段,都是N型。要将职工的所有收入汇总后写入工资总额字段中,应当使用命令 __________.A.REPLACE ALL工资总额 WITH 基本工资+奖金+津贴
B.TOTAL ON 工资总额 FIELDS 基本工资,奖金,津贴
C.REPLACE 工资总额 WITH 基本工资+奖金+津贴
D.SUM基本工资+奖金+津贴TO 工资总额
学生答案: C
参考答案: D
26、在Foxpro中执行LIST 命令,要想在屏幕和打印机上同时输出,应使用命令
A.LIST ON PRINT B.LIST TO PRINT C.PRINT LIST D.LIST PRINT ON
学生答案: D
参考答案: B
27、在Foxpro中,可以使用FOUND()函数来检测查询是否成功的命令包括
A.LIST、FIND、SEEK B.FIND、SEEK、LOCATE C.FIND、DISPLAY、SEEK D.LIST、SEEK、LOCATE
学生答案: C
参考答案: B
28、在下面Foxpro命令中,不能修改数据记录的命令是()
A.BROWSE B.EDIT C.CHANGE D.MODIFY
学生答案: D
参考答案: D
29、在FOXpro中,命令CLOSE ALL与CLEAR ALL 相比,CLEAR ALL作用是()
A.关闭所有文件,不释放内存变量
B.关闭所有文件,释放内存变量
C.不关闭文件,释放内存变量
D.不关闭文件,不释放内存变量
学生答案: A
参考答案: B 30、在Foxpro的库文件中,字段的数据类型可以是字符型、数字型、逻辑型、日期型和()
A.整数型
B.浮点数型
C.备注型
D.时间型
学生答案: B
参考答案: D
31、要在当前库文件的当前记录之后插入一条新记录,应该使用命令()A.APPEND
B.EDIT
C.CHANGE
D.INSERT
学生答案: C
参考答案: D
32、与命令LIST FIELDS 姓名,性别,出生日期 不等效的命令是()
A.LIST 姓名,性别,出生日期
B.LIST ALL FIELDS 姓名,性别,出生日期
C.DISPLAY FIELDS 姓名,性别,出生日期
D.DISPLAY ALL 姓名,性别,出生日期
学生答案: C
参考答案: C
33、以下各种说法中,正确的是()
A.DELETE ALL、ZAP和PACK 的功能各不相同 B.ZAP 和PACK的功能相同
C.DELETE ALL 和ZAP的功能相同 D.DELETE ALL 和 PACK的功能相同
学生答案: A
参考答案: A
34、数据表中的数据暂时不想使用,为提高数据表的使用效率,对这些“数据”最好要进行()
A.逻辑删除
B.物理删除
C.不加处理
D.数据过滤器
学生答案: D
参考答案: A
35、数据表中有30个记录,如果当前记录为第3条记录,执行skip+2命令,测试当前记录号函数recno()的值是()。
A.3
B.2
C.5
D.4
学生答案: C
参考答案: C
36、数据表中有30个记录,如果当前记录为第30条记录,把记录指针移到第一个记录,测试当前记录号函数recno()的值是()
A.29
B.30
C.1
D.0
学生答案: A
参考答案: C
37、对数据表的结构进行操作,通常是在()环境下完成的。
A.表设计器 B.表向导 C.表浏览器 D.表编辑器
学生答案: A
参考答案: A
38、修改数据表中的数据是在()环境下完成的
A.表设计器
B.表向导
C.表浏览器
D.表单设计器
学生答案: A
参考答案: C
39、每一个数据工作区上只能打开()数据表
A.1个 B.2个 C.10个 D.任意个
学生答案: D
参考答案: A 40、在当前工作区可以访问其它工作区表中的()
A.数据表结构 B.数据表 C.数据库 D.数据
学生答案: B
参考答案: D
填空题:
1、表文件扩展名为______。
学生答案: dbf
参考答案:.dbf
2、建立一个名称为STUDENT1的自由表的命令是_______。
学生答案: CREATE STUDENT
参考答案: create student1
3、对表中记录逻辑删除的命令是________,恢复表中所有被逻辑删除记录的命令是 ____________,将所有被逻辑删除记录物理删除的命令是_________
学生答案: DELETE RECALL FOR PACK
参考答案: delete,recall all,pack
4、学生档案表已打开,共有100条记录,当前记录为23,执行list rest后,?recn()的值是______,?recc()的值是_____,?eof()的值是________
学生答案: 77 23 100
参考答案: 101,100,.T.5、在使用locate命令查询以后,可以用____________来检测是否找到
学生答案: found
参考答案: found()
6、数据表中有“数学(N,5,1)”“英语(N,5,1)”“电子(N,5,1)”“总分(N,5,1)”,该表中现有多条记录,但“总分”没有输入,只要在命令窗口中输入___________________命令,就能填上这个字段的值
学生答案: append
参考答案: repl all 总分 with 数学+英语+电子
7、假设图书数据库已经打开,数据库中有书名字段,并且已经按书名进行了索引。现在要使用索引查询将记录指针定位在书名为“FoxPro+”的第一条记录上,应该使用的命令是 [ ]。
学生答案: go
参考答案: FIND FoxPro+
8、定义表结构时,要定义表中有多少个字段,同时还要定义每一个字段的()、()、()等。
学生答案: 字段名,字段类型,字段宽带
参考答案: 字段名 字段类型 字段宽度
9、向表中输入数据,可以采用()、()两种格式。
学生答案: 浏览,编辑
参考答案: 浏览 编辑
10、数据表是由()和()两部分组成。
学生答案: 表结构 记录
参考答案: 结构 数据 问答题:
1、在VFP中,对表记录的操作命令中,逻辑删除记录和物理删除记录的命令分别是什么?它们有什么区别?
参考答案: 要点:
逻辑删除记录的命令是Delete,物理删除记录的命令是Pack。
区别:逻辑删除记录只是在记录上做一个删除标记,并不真正删除记录,需要时还可恢复。而物理删除记录是把做了删除标记的记录从表中彻底删除,不可再恢复。
2、简述VF中用菜单方式建立一个STUDENT表,通过编辑窗口追加方式向表中添加学生记录与浏览显示结果的操作步骤。
参考答案: 要点:
建表:文件-新建-新建文件-输入表名STUDENT-在表设计器窗体定义字段、类型-确定。
追加方式输入学生记录:
打开STUDENT表-显示-浏览―编辑―显示-追加方式-输入学生记录-关闭。浏览结果:
文件-打开表-显示-浏览。
3、索引的类型有哪几种?各自有何特征?
参考答案: 要点:
索引有四种:主索引、候选索引、普通索引、唯一索引
主索引要求每一个记录的索引表达式的值是唯一的,在一个数据库表中只能有一个主索引。候选索引与主索引一样要求每一个记录的索引表达式的值是唯一的,在一个数据表中可以有多个候选索引。
普通索引允许索引表达式的值出现重复值,而唯一索引如果表中记录的索引表达式的值相同,则只存储第一个索引表达式的值。程序设计题:
1、Visual Foxpro中,要为当前表所有职工增加100元工资应该使用命令()。
A.CHANGE 工资 WITH 工资+100 B.REPLACE 工资 WITH 工资+100 C.CHANGE ALL 工资 WITH 工资+100 D.REPLACE ALL 工资 WITH 工资+100
学生答案: C
参考答案: D
2、在VFP中,建完表结构未输入任何数据之前,备注型字段上显示的是()
A.Memo
B.memo
C.MEMO
D.gen
学生答案: C
参考答案: B
3、在Visual FoxProk中,表()。
A.以两种形态出现,即数据库表和自由表 B.必须依附于一个指定的数据库
C.由于需要依附于数据库,因此它不是一个独立的文件 D.学生答案: C
参考答案: A
4、可以使用()命令修改表结构。
A.MODIFY STRUCTURE
B.LIST STRUCTURE
C.COPY STRUCTURE
D.DELETE
学生答案: C
参考答案: A
5、假设当前工作区是第1工作区,并且已在该工作区打开了Student表。如果要在第三工作区再次打开Student表,应使用的命令是()。
A.USE Student B.USE Student AGAIN C.USE Student AGAIN IN 3 D.USE Student IN 3
学生答案: C
参考答案: C
6、在不进入全屏幕编辑状态下为表添加一条空白记录,应使用的命令是()。
A.APPEND
B.APPEND BLANK
C.BROWSE
D.LIST
学生答案: C
参考答案: B
7、VISUAL FOXPRO中,若要显示当前记录,应使用的命令是():
A.LIST B.DISPLAY C.EDIT D.DELETE
学生答案: C
参考答案: B
8、在 Visual FoxPro 中,SELECT 0命令将选择()。
A.第0工作区 B.当前工作区
C.当前未用的最小工作区 D.下一工作区
学生答案: C
参考答案: C
9、在执行如下命令时,Subject 表将在()打开。SELECT 1 USE Student SELECT 3 USE Score SELECT 0 USE Subject
A.第0工作区
B.第1工作区
C.第2工作区
D.第3工作区
学生答案: B
参考答案: C
10、VISUAL FOXPRO中,参照完整性的规则不包括()
A.更新规则
B.删除规则
C.插入规则
D.检索规则
参考答案: D
11、要为当前表所有职工增加100元工资,应该使用命令
A.CHANGE 工资 WITH 工资+100
B.REPLACE 工资 WITH 工资+100
C.CHANGE ALL 工资 WITH 工资+100
D.REPLACE ALL 工资 WITH 工资+100
学生答案: C
参考答案: D
12、下列命令中,仅拷贝表文件结构的命令是()
A.COPY TO B.COPY STRUCTURE TO C.COPY FILE TO D.COPY STRUCTURE TO EXETENDED
学生答案: C
参考答案: B
13、如果要给当前表增加一个字段,应使用的命令是()
A.APPEND B.MODIFY STRUCTURE C.INSERT D.EDIT
学生答案: C
参考答案: B
15、当前表中,“体育达标”字段为逻辑类型,要显示所有未达标的记录应使用命令()
A.list for 体育达标=“.f.” B.list for 体育达标<>.f.C.list for not 体育达标 D.list for 体育达标=f
学生答案: C
参考答案: C
16、在显示下拉菜单中,单击“追加方式”选项,将在当前表()
A.中插入一个空记录
B.中插入一个空记录
C.中进入追加状态
D.上弹出追加对话框
学生答案: C
参考答案: C
17、Visual Foxpro中,在浏览窗口中,不能将一条记录逻辑删除的操作是()
A.将光标定位于该记录,按Ctrl+T键 B.将光标定位于该记录,按Delete键
C.将光标定位于该记录,单击表菜单中的“切换删除标志”选项 D.单击该记录前的白色小方块,使其变黑
学生答案: C
参考答案: B
18、在向数据库添加表的操作中,下列叙述中不正确的是()
A.可以将一张“独立的”表添加到数据库中
B.可以将一个已属于一个数据库的表添加到另一个数据库中 C.可以在数据库设计器中新建个表使其成为数据库表
D.欲使一个数据库表成为另外一个数据库的表,则必须先使它成为自由表
学生答案: C
参考答案: B
19、在下列命令中,不具有修改记录功能的是()
A.edit B.replace C.browse D.modi stru
学生答案: C
参考答案: D 20、表中相对移动记录指针和绝对移动记录指针的命令分别为()
A.Locate和Skip
B.Locate和Go
C.Skip和Go
D.Locate和Find
学生答案: C
参考答案: C
22、命令中<范围>子句,使用______可以对表文件从当前记录开始至最后一个记录进行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
学生答案: C
参考答案: D
23、可以在BROWSE浏览窗口中,按CTRL+T键实现__________操作
A.逻辑删除记录和物理删除记录 B.逻辑恢复记录和物理恢复记录 C.逻辑删除记录和逻辑恢复记录 D.物理删除记录和物理恢复记录
学生答案: C
参考答案: C
26、在Foxpro中,可以使用FOUND()函数来检测查询是否成功的命令包括
A.LIST、FIND、SEEK B.FIND、SEEK、LOCATE C.FIND、DISPLAY、SEEK D.LIST、SEEK、LOCATE
学生答案: C
参考答案: B
28、若用MODIFY STRUCTURE命令把数据文件中“摘要”字段的宽度由40改为30,而且不做其它修改,则“摘要”字段的数据()
A.只保留了前30个字符
B.仍保持40个字符
C.凡字段值超过30个字符的整个字段被删空
D.全部丢失
学生答案: C
参考答案: A 30、要在当前库文件的当前记录之后插入一条新记录,应该使用命令()
A.APPEND
B.EDIT
C.CHANGE
D.INSERT
参考答案: D
31、MODIFY STRUCTURE命令的功能是()
A.修改字段的类型
B.增加新的字段
C.修改字段的名称
D.修改库文件的结构
参考答案: D
32、与命令LIST FIELDS 姓名,性别,出生日期 不等效的命令是()
A.LIST 姓名,性别,出生日期
B.LIST ALL FIELDS 姓名,性别,出生日期
C.DISPLAY FIELDS 姓名,性别,出生日期
D.DISPLAY ALL 姓名,性别,出生日期
学生答案: C
参考答案: C
34、设当前数据库文件有一个类型为N 的age字段,执行命令ZAP FOR age=20的结果是()
A.逻辑删除age字段值为20的记录 B.物理删除age字段值为20的记录 C.物理删除全部记录 D.语法错误提示信息
学生答案: C
参考答案: C
35、设库文件STUDENT.DBF中有10条记录,相继执行如下两条命令: USE student INSERT BLANK 其结果是在student文件的
A.第一条记录的位置插入了一个空白记录
B.第二条记录的位置插入了一个空白记录
C.文件尾插入了一个空白记录
D.不确定位置插入了一个空白记录
学生答案: D
参考答案: B
36、数据表中有30个记录,如果当前记录为第一条记录,把记录指针移到最后一个,测试当前记录号函数recno()的值是()
A.31
B.30
C.29
D.28
学生答案: C
参考答案: B
37、数据表中有30个记录,如果当前记录为第30条记录,把记录指针移到第一个记录,测试当前记录号函数recno()的值是()
A.29
B.30
C.1
D.0
学生答案: C
参考答案: C
7、在 Visual FoxPro 中,SELECT 0命令将选择()。
A.第0工作区
B.当前工作区
C.当前未用的最小工作区
D.下一工作区
学生答案: C
参考答案: C
14、使用replace命令时,如果范围短语为ALL或REST,则执行该命令后记录指针指向()
A.末记录
B.首记录
C.末记录的后面
D.首记录的前面
学生答案: D
参考答案: C
15、要从某表文件中真正删除一条记录,应当()
A.直接用ZAP命令
B.先用DELETE命令,再用ZAP命令
C.先用DELETE命令,再用PACK命令
D.直接用DELETE命令
学生答案: C
参考答案: C
23、命令中<范围>子句,使用______可以对表文件从当前记录开始至最后一个记录进行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
学生答案: D
参考答案: D
24、表文件有20条记录,当前记录号为10,执行命令LIST NEXT 5以后,所显示记录的序号是()
A.11--15
B.11--16
C.10--15
D.10--14
学生答案: D 参考答案: D 程序设计题:
32、下列操作中,不能用MODIFY STRUCTURE 命令实现的是()
A.为数据库增加字段
B.删除数据库中的某些字段
C.对数据库的字段名进行修改
D.对记录数据进行修改
学生答案: B 参考答案: B 索引与排序
1、可以伴随着表的打开而自动打开的索引是()。
A.单一索引文件(IDX)
B.复合索引文件(CDX)
C.结构化复合索引文件
D.非结构化复合索引文件
学生答案: C
参考答案: C
2、在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的()
A.“一方”表的主索引或候选索引,“多方”表的普通索引
B.“一方”表的主索引,“多方”表的普通索引或候选索引
C.“一方”表的普通索引,“多方”表的主索引或候选索引
D.“一方”表的普通索引,“多方”表的候选索引或普通索引
学生答案: C
参考答案: A
3、若要打开已建立好的索引文件,应使用的命令是()。
A.SET INDEX TO
B.SET ORDER TO
C.INDEX ON D.OPEN INDEX TO。
参考答案: A
4、不允许记录中出现重复索引值的索引是 _______。
A.主索引
B.主索引、候选索引、普遍索引 C.主索引和候选索引
D.主索引、候选索引和唯一索引
学生答案: B
参考答案: C
5、下面有关索引的的描述正确的是()
A.建立索引以后,原来的数据库表文件中的记录的物理顺序将被改变
B.索引与数据库表的数据存储在一个文件中
C.创建索引是创建一个指向数据库表文件记录的指针构成的文件
D.使用索引并不能加快对表的查询操作
参考答案: C
6、VFP中,主索引可在_____中建立
A.自由表 B.数据库表 C.任何表
D.自由表和视图 参考答案: B A.SORT B.UPDATE C.INDEX D.JOIN
7、对表文件建立索引,可使用命令()
学生答案: D
参考答案: C
8、主索引字段_______
A.不能出现重复值或空值
B.能出现重复值
C.能出现空值
D.不能出现重复值,但能出现空值
学生答案: D
参考答案: A
9、在表中建立索引,使用的命令为()
A.SORT
B.UPDATE
C.INDEX
D.JOIN
学生答案: B
参考答案: C
12、建立两个数据库关联,要求()
A.两个数据库都必须排序 B.关联的数据库必须排序 C.两个数据库都必须索引 D.被关联的数据库必须索引
学生答案: B
参考答案: D
13、对于一个数据库文件,可以同时打开的索引文件的个数为()
A.5
B.6
C.7
D.8
学生答案: C
参考答案: C
14、在以下关于索引的叙述中,完全正确的是()
A.索引不仅能提高查询的速度,还能提高更新的速度
B.索引提高了查询的速度,但一般会降低更新的速度
C.索引字段不能更新
D.索引字段可以更新,但是必须在更新前关闭索引
学生答案: A
参考答案: B
15、在同一个数据表中不能依照()建立索引
A.一个字段 B.多个字段 C.表达式 D.备注型字段
学生答案: C
参考答案: D
16、索引字段值不唯一,应该选择的索引类型为()
A.主索引 B.普通索引 C.候选索引 D.任意一种
学生答案: D
参考答案: B
17、若数据库表索引字段值是唯一值时,最好选择的索引类型为()
A.主索引 B.普通索引 C.任意一种 D.唯一索引
学生答案: A
参考答案: A
18、已知某一数据库中有两个数据表,它们的索引关键字是一一对应的关系、这两个表若想建立关联,应该建立()关系。
A.一对一
B.一对多
C.多对一
D.多对多
学生答案: C
参考答案: A
19、当主数据表的索引字段的类型是主索引,子数据表的索引字段的类型是候选索引时,两个数据表间的关联关系是()。
A.多对多
B.一对多
C.多对一
D.一对一
学生答案: A
参考答案: D 20、当主数据表的索引字段的类型是主索引,子数据表的索引字段的类型是普通索引时,两个数据表间的关联关系是()。
A.多对一
B.一对多
C.一对一
D.多对多
学生答案: B
参考答案: B
填空题:
1、同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是_______,这种索引称为_________
学生答案:
参考答案: CDX 结构复合索引
2、索引可以对表中的记录进行()排序,排序可以对表中的记录进行()排序。
学生答案:
参考答案: 逻辑,物理
3、索引文件可以分为两大类:()索引文件和()索引文件。()索引文件又可以进一步分为()索引文件和()索引文件。
学生答案:
参考答案: 复合,单一,复合,结构复合,非结构复合
4、Visual Foxpro的主索引和候选索引可以保证数据的___________完整性
学生答案:
参考答案: 实体
5、数据库表之间的一对多联系通过主表的_______索引和子表的____________索引实现
学生答案:
参考答案: 主索引,普通索引
6、数据库表的索引类型有_______,________,_________和_________
学生答案:
参考答案: 主索引,候选索引,普通索引,唯一索引
7、在打开索引的情况下,为了使记录指针指向逻辑首记录(即索引关键字的值最小的记录),应使用命令【】。
学生答案:
参考答案: GO TOP
8、唯一索引的关键字段值是()的 学生答案:
参考答案: 可重复
9、候选索引的关键字段值是()的 学生答案:
参考答案: 唯一
10、在同一个数据表中可以有()个主索引。
学生答案:
参考答案: 一个
3、下面有关索引的的描述正确的是()
A.建立索引以后,原来的数据库表文件中的记录的物理顺序将被改变
B.索引与数据库表的数据存储在一个文件中
C.创建索引是创建一个指向数据库表文件记录的指针构成的文件
D.使用索引并不能加快对表的查询操作
学生答案: B
参考答案: C
15、在建立唯一索引出现重复字段值时,只存储重复出现的()记录
A.第一个
B.最后一个
C.全部
D.几个
多表操作
学生答案: C
参考答案: A
16、若数据库表索引字段值是唯一值时,最好选择的索引类型为()
A.主索引
B.普通索引
C.任意一种
D.唯一索引
学生答案: B 对照
参考答案: A
17、若自由表索引字段值是唯一值时,做好选择的索引类型为()
A.主索引
B.候选索引
C.唯一索引
D.普通索引
学生答案: C
参考答案: B
5、在VFP中,使用AVERAGE命令时,表文件需要()
A.排序
B.建立索引
C.排序或建立索引
D.以上都不需要
学生答案: C
参考答案: D
7、打开一个建立了结构复合索引的数据表,表记录存储的顺序将按()
A.第一个索引标识
B.最后一个索引标识
C.主索引标识
D.原顺序
学生答案: C
参考答案: D
8、下列关于索引的叙述中错误的是()
A.VFP中的索引类型共有4种,分别是主索引,候选索引,普通索引和惟一索引
B.在用命令方式建立索引时,可以建立普通索引,惟一索引(UNIQUE)或候选索引(CANDIDATE),但是不能建立主索引
C.在表设计器的字段选项卡中建立的索引默认为普通索引
D.在数据库设计器中建立两表之间的永久关系时,只须在父表中建立主索引,然后拖动该索引项到子表中的相应字段
学生答案: C
参考答案: D
1、在建立一对多表间永久关系时,主表的索引类型必须是()。
A.主索引或候选索引
B.主索引、候选索引或唯一索引
C.主索引、候选索引、唯一索引或普通索引 D.主索引或普通索引
学生答案: C
参考答案: A
2、要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表 ________。
A.是同一个数据库中的两个表
B.不同数据库中的两个表
C.两个自由表
D.一个是数据库表另一个是自由表
学生答案: C
参考答案: A
3、在Visual FoxPro的数据工作期窗口,使用SET RELATION命令可以建立两个表之间的关联,这种关联是()。
A.永久性关联
B.永久性关联或临时性关联
C.临时性关联
D.永久性关联和临时性关联
学生答案: C
参考答案: C
4、在Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值。应选择()。
A.限制(Restrict)
B.忽略(Ignore)
C.级联(Cascade)
D.级联(Cascade)或限制(Restrict)
学生答案: C
参考答案: C
5、在VFP中可以同时使用___个工作区
A.10 B.225 C.32767 D.无限制
学生答案: C
参考答案: C
6、在生成参照完整性中,设置更新操作规则时选择了“限制”选项卡后,则()
A.在更新父表时,用新的关键字值更新子表中的所有相关记录
B.在更新父表时,若子表中有相关记录则禁止更新
C.在更新父表时,若子表中有相关记录则允许更新
D.允许更新父表,不管子表中的相关记录
学生答案: C
参考答案: B
7、下列按钮中,哪一个是数据工作期窗口中没有的()
A.属性 B.打开 C.修改 D.关系
学生答案: C
参考答案: C
8、要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表()
A.是同一个数据库中的两个表 B.不同数据库中的两个表 C.两个自由表
D.一个是数据库表另一个是自由表
学生答案: C
参考答案: A
9、命令SELECT 0 的功能是()
A.选择区号最小的空闲工作区 B.选择区号最大的空闲工作区
C.选择当前工作区的区号加1的工作区 D.随机选择一个工作区的区号
学生答案: C
参考答案: A
10、下面有关关联操作的说明,其中错误的是
A.关联本身并不进行具体的数据操作,在关联的基础上进行什么数据操作由其它命令完成。
B.只在两个数据库具有同名字段或相同值域字段的情况下才能按字段建立关联。
C.在当前工作区对其他工作区的被关联数据库的数据可任意读写,即对子数据库的数据既能使用又能修改和追加。
D.关联的作用是单向的,即当前数据库记录指针的定位影响被关联数据库的记录指针定位,而不可能出现相反方向的 学生答案: C
参考答案: C
填空题:
1、在Visual FoxPro中,表间关系分为()表间关系和()表间关系两种。永久表间关系是为了维护数据库表之间的()而引入的。
学生答案:
参考答案: 永久,临时,数据完整性
2、实现表之间临时联系的命令是_____________
学生答案:
参考答案: SET RELATION
3、在Visual Foxpro中,最多同时允许打开__________个数据库表和自由表
学生答案:
参考答案: 32767
4、表之间建立关联的最主要的功能是____________
学生答案:
参考答案: 子表的指针随父表的指针移动而移动 问答题: 单选题:
6、对多表进行操作时,选择工作区所使用的命令为_______
A.USE
B.OPEN
C.SELECT
D.CREATE
学生答案: A
参考答案: C
8、下面有关关联操作的说明,其中错误的是
A.关联本身并不进行具体的数据操作,在关联的基础上进行什么数据操作由其它命令完成。
B.只在两个数据库具有同名字段或相同值域字段的情况下才能按字段建立关联。
C.在当前工作区对其他工作区的被关联数据库的数据可任意读写,即对子数据库的数据既能使用又能修改和追加。
D.关联的作用是单向的,即当前数据库记录指针的定位影响被关联数据库的记录指针定位,而不可能出现相反方向的 学生答案: C
参考答案: C
9、下列命令用于显示1968年及其以前出生的职工记录,其中错误的是()
A.LIST FOR YEAR(出生日期)<=1968
B.LIST FOR SUBSTR(DTOC(出生日期),7,2)<=“68”
C.LIST FOR LEFT(DTOC(出生日期),7,2)<=“68”
D.LIST FOR RIGHT(DTOC(出生日期),2)<=“68”
学生答案: D
参考答案: C
10、有如下命令序列: SELECT 1 USE f1 SELECT 2 USE f2 SELECT 1 SET RELATION TO RECNO()-2 INTO B GOTO 5 ?RECNO(2)最后一条命令的输出结果是
A.5
B.4
C.3
D.1
学生答案: B
参考答案: C
1、在建立一对多表间永久关系时,主表的索引类型必须是()。
A.主索引或候选索引
B.主索引、候选索引或唯一索引
C.主索引、候选索引、唯一索引或普通索引
D.主索引或普通索引
学生答案: C
参考答案: A 查询视图
1、视图设计器中含有,但查询设计器中却没有的选项卡是()
A.筛选
B.排序依据
C.分组依据
D.更新条件
学生答案: C
参考答案: D
2、下面关于查询描述正确的是()
A.可以使用create view 打开查询设计器
B.使用查询设计器可以生成所有的SQL查询语句
C.使用查询设计器生成的SQL语句存盘后将放在扩展名为QPR的文件中
D.使用DO命令执行查询时,可以不带扩展名
学生答案: B
参考答案: C
3、查询和视图的共同点是()
A.有相应的SQL语句 B.是一个单独的文件 C.可以存放在数据库中 D.可以更新
学生答案: B
参考答案: A
4、如果要将视图中的修改传送到基表的原始记录中,则应当选用视图设计器的()选项卡。
A.传送条件
B.更新条件
C.修改条件
D.视图参数
学生答案: A
参考答案: B
5、有关查询与视图,下列说法中不正确的是()
A.查询不可以更新源表数据,而视图可以更新源表数据
B.查询和视图都可以更新源表数据
C.视图具有许多数据库表的属性,利用视图可以创建查询和视图
D.视图可以更新源表中的数据,存储于数据库中
学生答案: C
参考答案: B
6、“查询”文件的扩展名是()
A.PRG B.FPX C.QPR D.QPX
学生答案: C
参考答案: C
7、可以作为查询与视图的数据源是()
A.自由表 B.数据库表 C.查询 D.视图
学生答案: C
参考答案: B
8、下列关于查询和视图的叙述中,查询和视图都()
A.保存在数据库中
B.可以用USE命令打开 C.可以更新基表
D.可以作为列表框对象的数据源
学生答案: B
参考答案: B
9、对于视图不可以创建的是()
A.字段的默认值
B.独立索引
C.临时关系
D.永久关系
学生答案: B
参考答案: B
10、打开本地视图后,当基表中的数据发生变化时,则()
A.视图中的数据将自动随之发生变化
B.必须先关闭视图。再打开视图后,视图中的数据都会变化 C.可以用REOUERYO函数刷新视图 D.必须重新创建视图
学生答案: C
参考答案: C
11、要求仅显示两张表中满足条件的记录,应选择()类型。
A.内连接 B.左连接 C.右连接 D.完全连接
学生答案: C
参考答案: C
12、下面有关对视图的描述正确的是()
A.可以使用MODIFY STRCTURE命令修改视图的结构 B.视图不能删除,否则影响原来的数据文件 C.视图是对表的复制产生的
D.使用SQL对视图进行查询时必须事先打开该视图所在的数据库
学生答案: C
参考答案: D
13、“添加表或视图”对话框中,单击“其他”按钮可以为查询或视图添加()。
A.其他数据库表
B.自由表
C.其他视图
D.其他查询
学生答案: C
参考答案: A
14、在Visual FoxPro 中,可以使用CREATE SQL VIEW 命令创建()。
A.查询 B.视图
C.查询或视图 D.表
学生答案: C
参考答案: B
15、如果要在屏幕上直接看到查询结果,“查询去向”应该选择。
A.屏幕
B.浏览
C.临时表或屏幕
D.浏览或屏幕
学生答案: B
参考答案: D
16、下列关于查询设计器的说法中错误的是
A.既可对单表查询,也可对多表查询
B.在分组依据选项卡中,可以设置查询结果按某一字段值的升序排列
C.可以将查询结果保存到扩展名为.qpr的查询文件中,并可在命令窗口中直接用do 命令执行
D.可以设定查询结果的输出形式,如临时表,图形等
学生答案: B
参考答案: B
17、在Visual Foxpro 6.0中,建立查询可用________方法
A.使用查询向导
B.使用查询设计器
C.直接使用SELECT-SQL命令
D.以上方法均可
学生答案: C
参考答案: D
18、视图是一个
A.虚拟的表
B.真实的表
C.不依赖于数据库的表
第五篇:Oracle数据库管理习题及答案
1.6习题
一.填空题
1、关系模型提供了3类完整性规则,分别是_______、_______、_______。参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则
2、RDBMS由两部分组成,即_______、_______两部分。答案:数据库系统内核、数据字典
3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。答案:一对一、一对多以及多对多
4、数据模型的种类有很多,例如_______、_______、_______和_______等。目前理论最成熟、使用最普及的是_______。
答案:层次模型、网状模型、关系数据模型、面向对象模型。关系数据模型
二、选择题
1、Oracle 11g版本号中字母“g”的含义是()
A.产品类型的“代”(generation)B.网格(gridding)
C.集成(integration)
D.无含义
答案:A
2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()
A.关系规范化理论
B.关系运算理论 C.关系代数理论
D.数理逻辑
答案:A
3、消除了部分函数依赖的1NF的关系模式必定是()
A.1NF B.2NF C.3NF D.4NF
答案:B
4、当B属于函数依赖于A属性时,属性B与A 的联系是()
A.1对多B.多对1
C.多对多 D.以上都不是 答案:B
5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?
部门(部门号,部门名,部门成员,部门总经理)A.部门总经理
B.部门成员 C.部门名
D.部门号
答案:B
6、下列不属于Oracle数据库数据类型的是()
A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D
三、简答题
1、简述数据库与数据库管理系统的区别。
参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。
数据库管理系统,它是基于某种结构数据模型、以统一的方式管理和维护数据库,并提供访问数据库接口的通用软件。
2、简述数据库规范化的概念及其作用。
参考答案:数据库规范化,又称数据库或资料库正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。
四、应用题
1、设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:
– 学号和课程号分别与其代表的学生和课程一一对应。– 一个学生所修的每门课程都有一个成绩。
– 每门课程只有一位任课教师,但每位教师可以有多门课程。– 教师中没有重名,每个教师只属于一个系。
(1)试根据上述语义确定函数依赖集。
(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。
(3)分解为具有依赖保持和无损连接的3NF。
参考答案:
(1)F={(S#,C#)→G,C#→TN,TN→D}(2)关系模式为1NF,因为该关系模式的候选码为(S#,C#),则非主属性有G,TN和D。
又∵F中有C#→TN,∴存在非主属性TN对候选码(S#,C#)的部分依赖,即: 若新增设一门课程而暂时还没有学生选修时,则因缺少码S#值而不能进行插入操作。若某个教师调离学校要删除有关信息时,会将不该删除的课程(C#)信息删除。(3)∵Fm={(S#,C#)→G,C#→TN,TN→D} ∴ρ={R1,R2,R3} 其中:
– R1=(S#,C#,G)– R2=(C#,TN)– R3=(TN,D)
2.7习题
一、填空题
1、常用的Oracle服务主要有如下四种,分别是_______、_______、_______、_______。参考答案:OracleDBConsoleorcl、OracleJobScheduler
2、Oracle数据库启动的三个阶段是:_______、_______、_______。参考答案:启动实例、打开控制文件、打开数据库
3、Oracle数据库关闭的四个选项是:_______、_______、_______、_______。参考答案:normal、immediate、transaction、abort
二、选择题
1、系统标识符(SID)是指唯一在网络域中区别于其他数据库的数据库实例名,下面合法的SID是()
A.my2orcl
B.myoracletest C.my_orcl D.my@orcl 参考答案:A
2、安装Oracle Database 11g可以选择安装类型,下列不属于Oracle Database 11g的安装类型是()
A.企业版
B.个人版
C.定制 D.免费版
参考答案:D
三、简答题
1、简述Oracle Database 11g在Windows系统下的安装步骤。
参考答案:选择安装方法、选择安装类型、指定主目录详细信息、产品特定的先决条件检查、选择配置选项、安装、安装结束。
2、简述Oracle中用户和模式的关系。
参考答案:用户是用连接数据库和访问数据库对象的。模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。通俗地说,模式是用来创建oracle中各种对象,而用户用来连接数据库并访问模式中对象,在oracle中模式与用户是一一对应关系。
四、上机练习
1、按照书中步骤,正确安装Oracle Database 11g,创建数据库,并且创建用户。
2、从操作系统提示符界面,采用上题创建的用户登录数据库,并创建EMPLOYEES表进行测试。(表结构如下图)
3、客户端连接Oracle数据库时,默认端口为1521。创建一个新的监听程序,其端口为1522。然后将ORCL注册于该监听程序。
3.5习题
一、填空题
1.查看表结构时,所使用的命令是___________,该命令可以简写为___________。参考答案:DESCRIBE、DESC 2.使用SQL*Plus语句快速编辑SQL语句时,可以使用的命令有APPEND(可以简写为A)命令、___________(可以简写为C)命令、___________(可以简写为I)、___________(可简写为L)命令,以及RUN(可以简写为R)命令。
参考答案:CHANGE、INPUT、LIST
3.在SQL*Plus工具中,可以使用SAVE命令将缓冲区内容保存到文件;可以使用___________命令读取并运行文件内容;可以使用___________命令编辑缓冲区内容或文件内容;还可以使用SPOOL命令复制输出结果到文件。
参考答案:START、EDIT 4.在SQL语句中,如果在某个变量前面使用了&符号,那么就表示该变量是一个临时变量。定义变量,可以使用___________或ACCEPT命令;删除变量,可以使用UNDEFINE命令。
参考答案:DEFINE 5.在SQL*Plus中格式化查询结果时,COLUMN命令可以对列格式化显示效果,PAGESIZE命令可以___________,LINESIZE命令可以___________。
参考答案:设置页的大小、设置行宽度
6.创建简单报表时,使用___________命令和___________命令,分别为报表设置页眉和页脚信息。
参考答案:Ttitle、Btitle
二、选择题
1.在SQL*Plus中连接数据库时,可以使用CONNECT命令。下面的4个选项中,哪个命令是正确的?其中,用户名为scott,密码为tiger,数据库名为orcl。()
A.CONNECT scott/tiger;B.CONNECT tiger/scott;C.CONN scott/tiger as sysdba;D.CONN scott/tiger@orcl as sysdba;参考答案:D 2.执行语句SAVE scott_emp_query.sql APPEND,执行结果表示()。
A.如果scott emp_query.sql文件不存在,则出现错误 B.如果scott emp_query.sql文件已经存在,则出现错误
C.将缓冲区中的内容追加到scott_emp_query.sql文件中。如果该文件不存在,会创建该文件
D.将缓冲区中的內容替换掉scott_emp_query.sql文件的内容。如果该文件不存在,会创建该文件
参考答案:C 3.使用SQL*Plus中的___________,可以将文件中的内容检索到缓冲区,并且不执行。()
A.SAVE命令 B.GET命令 C.START命令 D.SPOOL命令 参考答案:B 4.下面是有关变量的描述,请问哪些描述是正确的?()
A.临时变量是指仅在某个SQL语句中有效的变量 B.临时变量是在某个会话期间有效的变量
C.已定义变量是指明确定义,其生命期至显式地删除、重新定义或退出SQL*Plus为止
D.已定义的变量是不能被删除的 参考答案:B、C
5.如果希望控制列的显式格式,那么可以使用下面的___________命令()
A.SHOW B.DEFINE C.SPOOL D.COLUMN 参考答案:D
三、简答题
1.使用DESCRIBE命令,查看scott用户的dept表的结构信息。参考答案:descscott.dept 2.使用SAVE命令将缓冲区内容写入到e:test.sql文件中;然后使用START命令将文件中的內容读入到缓冲区,并且进行执行。
参考答案:savee:test.sql
Start e:test.sql 3.执行下列语句,观察输出结果: DEFINE temp = 5000 SELECT empno , ename , mgr FROM scott.emp WHERE sal >= &temp;参考答案:略
4.对scott用户的emp表的输出信息进行格式设置。其中,empno列设置标题为“员工编号”,NUMBER格式为9999;ename列设置标题为“员工名称”,格式设置为25个字符;hiredate列设置标题为“受雇日期”,并且标题居中显示。
参考答案:col empno heading„员工编号‟ format 9999;col ename heading „员工名称‟ for A25;col hiredate heading‟受雇日期‟ justify center;5.设置一页显示30行数据,并且设置一行显示130个字符,然后输出scott用户的emp表的全部信息。
参考答案:SET PAGESIZE 30
SET LINESIZE 130
SELECT * FROM SCOTT.EMP
四、操作练习
下载SQL Developer,建立Oracle数据库的连接,按照书中所述步骤,操作熟悉SQL Developer的使用。
4.5习题
一、填空题
1.如果需要在SELECT子句中包括一个表的所有列,可以使用符号___________。参考答案:* 2.WHERE子句可以接收FROM子句输出的数据;而HAVING子句可以接收来自FROM、___________或___________子句的输出的数据。
参考答案:WHERE、GROUP 3.在SELECT语句中,分组条件的子句是___________,对显示的数据进行排序的子句是___________。
参考答案:GROUP BY、ORDER BY 4.在DML语句中,INSERT语句可以实现插入记录,___________语句可以实现更新记录,___________语句和___________语句可以实现删除记录。
参考答案:UPDATE、DELETE、TURNCATE 5.___________函数可以返回某个数值的ASCII值,___________函数可以返回某个ASCII值对应的十进制数。
参考答案:ASCII、CHR 6.使用___________函数,可以把数字或日期类型的数据转换成字符串;使用TO_DATE函数,可以把___________转换成___________,默认的日期格式为___________。
参考答案:TO_CHAR、字符串、日期型、yyyy-MM-dd HH:mm:ss
二、选择题
1.查询scott用户的emp表中的总记录数,可以使用下列哪个语句?()
A.SELECT MAX(empno)FROM scott.emp;B.SELECT COUNT(empno)FROM scott.emp;C.SELECT COUNT(comm)FROM scott.emp;D.SELECT COUNT(*)FROM scott.emp;参考答案:D 2.为了去除结果集中的重复行,可以在SELECT中使用下列哪个关键字?()
A.ALL
B.DISTINCT C.UPDATA D.MERGE 参考答案:B 3.在SELECT语句中,HAVING子句的作用是()
A.查询结果的分组条件
B.组的筛选条件 C.限定返回的行的判断条件
D.对结果集进行排序 参考答案:B 4.下列哪个聚合函数可以把一个列中的所有值相加求和?()
A.MAX函数
B.MIN函数 C.COUNT函数 D.SUM函数 参考答案:A 5.如果要统计表中有多少行记录,应该使用下列哪个聚合函数?()
A.SUM函数
B.AVG函数 C.COUNT函数 D.MAX函数 参考答案:C
三、简答题
1.标准SQL语言的语句类型可以分为哪三大类,每种语句类型分别用来操纵哪些语句?
参考答案:数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。
数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。
数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。
2.列举几个在WHERE条件中可以使用的操作符。
参考答案:使用 =、>、>=、<、<=、<>符号和 BETWEEN。。AND。。、IN(set)、LIKE、IS NULL。
3.如果要按照降序对数据进行排序,应该在ORDER BY子句中使用哪个关键字? 参考答案:DESC 4.下面这个SELECT语句能否输出查询结果?如果不能,该如何修改?
SELECT empno , ename , deptno , COUNT(*)FROM scott.emp GROUP BY deptno 参考答案:不能。
SELECT deptno , COUNT(*)FROM scott.emp GROUP BY deptno
5.指定一个日期值,例如08-8月-2008,获得这个日期与系统当前日期之间相隔的月份数和天数。
参考答案:select months_between('08-8月-2008', sysdate)mon_betw from dual;
5.8习题
一、填空题
1.按照约束的用途,主要可以将表的完整性约束分为NOT NULL约束、___________、___________、___________和___________。
参考答案:Check、Unique Index、Primary key、Foreign key 2.使用___________关键字,可以快速删除表中的所有记录,并且不在撤消表空间中记录撤消数据。
参考答案:TRUNCATE
3.___________约束用于定义列中不能出现NULL值,___________约束用于定义列中不能出现重复值,而PRIMARY KEY约束则可以定义列中既不允许出现NULL值,也不允许出现重复值。
参考答案:NOT NULL、UNIQUE
二、选择题
1.存储数据123.45,可以使用下面哪种数据类型?()A.NUMBER
B.NUMBER(5)C.NUMBER(5,3)D.NUMBER(5,2)参考答案:D 2.如果某列定义了UNIQUE约束,则()A.该列不允许出现重复值。
B.该列不允许出现NULL值。C.该列內允许出现一个NULL值。
D.该列允许出现多个NULL值。参考答案:A 3.为列定义一个CHECK约束,希望该约束能对表中已存储的数据,以及以后向表中添加或修改的数据都进行检查,则应该将该约束设置为如下哪种状态?()
A.ENABLE VALIDATE
B.ENABLE NOVALIDATE C.DISABLE VALIDATE
D.DISABLE NOVALIDATE 参考答案:A 4.使用如下语句创建一个临时表空间temp:
CREAT _________ TABLESPACE temp
_________‘F:oraclefoletemp.dbf’
SIZE 10M
AUTOEXTENT ON
NEXT 2M
MAXSIZE 20M;
请从下列选项中选择正确的关键字补充上面的语句。()A.(不填)、DATAFILE
B.TEMP、TEMPFILE C.TEMPORARY、TEMPFILE
D.TEMP、DATAFILE 参考答案:C 5.下列关于约束与索引的说法中哪一项是不正确的?()A.在字段上定义PRIMARY KEY约束时会自动创建B树惟一索引 B.在字段上定义UNIQUE约束时会自动创建B树惟一索引
C.在默认的情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的索引
D.在定义FOREIGN KEY 约束时会创建B树唯一索引 参考答案:D
三、简答题
1.比较VARCHAR2与CHAR两种数据类型的区别,并举例说明分别在什么情况下使用这两种数据类型。
参考答案:CHAR的长度是固定的,VARCHAR2的长度是可以变化的,存储字符串“ABC“,对于CHAR(10),表示存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2(10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些。
2.创建一个表后,为表中的某列添加CHECK约束,并分别设置该约束的状态为4种不同的状态,比较这4种状态下的约束检查效果。
参考答案:略
3.建立一个学生表,表结构如下stu_info(stuid number,name varchar(20),age number(2),sex char(2),birthday date)(1)在数据库中建立stu_info表。
(2)添加主键约束(stuid)(3)添加 check约束(插入的年龄必须大于19岁)
(4)添加 非空约束(要求姓名不能为空值)
(5)给上面的表添加 唯一约束(要求姓名不可重复)参考答案:
(1)create table stu_info(stuid number, name varchar(20), age number(2), sex char(2), birthday date);(2)ALTER TABLE stu_info ADD CONSTRAINT stu_info _pk PRIMARY KEY(stuid);(3)ALTER TABLE stu_info
ADD CONSTRAINT age_checkcheck(age>19);(4)alter table stu_info modify name not null;(5)ALTER TABLE stu_info ADD CONSTRAINT name_uniunique(name);6.8习题
一、填空题
1.为了保证在SQL>方式下进行INSERT、DELETE和UPDATE操作达到安全的目的,一般在SQL>下进行操作前,建议将环境设置成为非自动提交的方式,采用的命令是_______,若想取消操作,采取的命令是_______。
参考答案:set autocommit off、rollback 2.对某步操作设置相应保存点的命令是_______,当根据需要用命令_______来实现撤消到这一步。
参考答案:SAVEPOINT、ROLLBACK TO
3.关系数据库中比较常用的SQL中,采用命令_______进行插入,采用_______来进行数据更新,而同时具有更新和插入功能的命令式_______。
参考答案:INSERT、UPDATA、MERGE
二、选择题
1.PL/SQL块中不能直接使用的SQL命令是()。
A.SELECT
B.INSERT
C.UPDATE
D.DROP 参考答案:D 2.以零作除数时会引发()异常。A.VALUE_ERROR
B.ZERO_DIVIDE C.STORAGE_ERROR
D.SELF_IS_NULL 参考答案:B 3.要更新游标结果集中的当前行,应使用()子句。A.WHERE CURRENT OF
B.FOR UPDATE C.FOR DELETE
D.FOR MODIFY 参考答案:A 4.下面不是常用的数据对象权限的是()A.DELETE
B.REVOKE C.INSERT
D.UPDATE
参考答案:B 5.用于修改表中数据的语句是()A.EDIT
B.MODIFY
C.UPDATE
D.ALTER
参考答案:D 6.在只读表空间上可以执行以下哪些操作?()A.CREATE TABLE
B.ALTER TABLE C.DROP TABLE
D.INSERT 参考答案: C
三、简答题
1.简述DETELE操作与TRUNCATE操作的异同。
参考答案:truncate,可以删除表中的所有记录,释放表空间,只保留表结构。
delete,如果没有where条件,也是删除表中的所有记录,但是它不释放空间。
TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。RUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
2.已有表文件teacher(教师代码(C),姓名(C),学院(C),职称(C),年龄(N)),按照要求写出SQL语句。
1.查询职称为”副教授“的教师代码,姓名,学院,职称信息; 2.查询学院为“电信学院”并且职称为“讲师”的所有教师的信息,并将查询结果按年龄字段的降序排序。
3.将所有教师的年龄加1;
4.将表中年龄小于15岁的教师记录加上删除标记; 参考答案:(1)select 教师代码,姓名,学院。职称 from teacher where 职称=‟副教授‟;(2)select * from teacher where 学院=‟电信学院‟ and 职称=‟讲师‟ order by 年龄 desc;(3)update teacher set 年龄=年龄+1;(4)delete from teacher where 年龄<15 3.有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。假设待Insert/Update的记录为(a=‟001‟,b=100)。
请使用MERGE命令完成。参考答案:
MERGE INTO T T1 USING(SELECT '1001' AS a,2 AS b FROM dual)T2 ON(T1.a=T2.a)WHEN MATCHED THEN UPDATE SET T1.b = T2.b WHEN NOT MATCHED THEN INSERT(a,b)VALUES(T2.a,T2.b);
7.5习题
一.填空题 1.创建视图的命令是_______。若要保证插入或修改的数据行必须满足视图定义的约束,创建时附带的参数是_______;若要保证视图上不能进行任何DML操作,创建时附带的参数是_______。
参考答案:CREATE VIEW、WITH CHECK OPTION、WITH READ ONLY
2.创建序列的命令是_______。若要使序列的增量为5,创建时附带的参数是_______;若要使序列开始值为10,创建时附带的参数是_______。
参考答案:CREATE SEQUENCE、INCREMENT BY
5、START WITH 10 3.视图中的列并不都支持DML操作,通过数据字典___________可以了解视图中哪些列是可更新的。
参考答案:user_updatable_columns 4.使用___________可以获取序列的当前值,使用___________可以获取下一个值。参考答案:currval、nextval
5.如果要清除索引中的存储碎片,可以对索引进行合并或___________。参考答案:重建 选择题
1.以下哪个视图可以查到用户具有使用权限的表的信息()A.USER_VIEWS
B.USER_TABLES C.ALL_OBJECTS
D.USER_OBJECTS 参考答案:C 2.要查看当前用户下有哪些数据表格,适用下列哪个视图()A.USER_TABLE
B.TAB C.USER_ALL_TABLES
D.TABLES_USER 参考答案:C 3.可以使用()伪列来访问序列。A.CURRVAL和NEXTVAL
B.NEXTVAL和PREVAL C.CACHE和NOCACHE
D.MAXVALUE和MINVALUE 参考答案:A 4.带有错误的视图可使用()选项来创建。A.FORCE
B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW 参考答案:A 5.在联接视图中,当()时,该基表被称为键保留表。A.基表的主键不是结果集的主键 B.基表的主键是结果集的主键 C.基表的主键是结果集的外键 D.基表的主键不是结果集的外键 参考答案:B 6.使用如下语句创建一个视图: CREATE VIEW test view AS SELECT stu.stuname , stu.stuage + 1 newage , cla.claname FROM student stu LEFT JOIN class cla ON stu.claid = cla.claid;请问test view视图中哪些列是可更新的?()A.stuname
B.stuname, newage C.stuname, claname
D.stuname, newage, claname 参考答案:A 7.如果创建一个序列,用于为表的主键列生成主键值,则创建该序列时不应该指定以下哪种参数?()
A.MAXVALUE 1000
B.MINVALUE 10 C.CACHE 10
D.CYCLE 参考答案:D 8.如果在创建序列时指定其CACHE参数值为10,当序列的当前值为5时,数据库突然关闭,再次运行数据库后,序列将从以下哪个值开始?()
A.5
B.6 C.11 D.16 参考答案:C 9.下列关于索引的描述哪一项是不正确的?()A.表是否具有索引不会影响到所使用的sql的编写形式
B.为表创建索引后,所有的查询操作都会使用索引
C.为表创建索引后,可以提高查询的执行速度
D.为表创建索引后,Oracle优化器将根据具体情况决定是否采用索引 参考答案:B
三、简答题
1.简述表与视图的关系。
参考答案:联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。
2.表结构说明: create table employee(id number(10)not null, — 员工工号 salary number(10,2)default 0 not null, — 薪水 name varchar2(24)not null — 姓名);(1).创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。
参考答案:create sequence seq_employee 2 increment
by 1 3 start
with
nomaxvalue 5 nocycle
/
(2).写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。
参考答案:略
3.如果对视图的基表进行结构上的改动,将会影响视图的可用性。请基于一个表创建一个视图,在视图的子查询语句中使用*查询基表中的所有列,然后对该表进行结构修改,例如增加列、删除列,修改列名等,测试不同情况下视图的可用性,并思考其中的原因。
参考答案:视图依赖于基础表的存在而存在,当基础表进行了结构上的修改后,有可能会对视图产生印象,如果要再次使用此试图,需要进行编译。4.如果经常需要使用如下语句查询employee表中的员工信息: SELECT * FROM employee WHERE SUBSTRB(ename , 0 , 2)= „李„;那么应该为ename创建什么索引,如何创建? 参考答案:创建基于函数的索引
CREATE INDEX EANME_INDEX ON employee(SUBSTRB(ename , 0 , 2))TABLESPACE myspace
8.6习题
一.填空题
1. PL/SQL程序由三个块组成,即_______、_______、_______。参考答案:声明部分、执行部分、异常处理部分
2.Oracle块根据应用模块功能,可以分为四种类型,分别是:_______、_______、_______、_______。
参考答案:匿名块、命名块、子程序、触发器
3. Oracle的游标分为_______、_______。
参考答案:显示游标、隐式游标
4. Oracle 游标有4个属性,_______判断游标是否被打开,如果打开等于true,否则等于false;_______判断游标所在的行是否有效,如果有效,则等于true,否则等于false,_______属性与之相反;_______返回当前位置为止游标读取的记录行数。参考答案:%ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT
二、选择题
1.关于存储过程参数,正确的说法是()
A.存储过程的输出参数可以是标量类型,也可以是表类型 B.存储过程输入参数可以不输入信息而调用过程
C.可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2))D.以上说法都不对 参考答案:B 2.下列说法,正确的说法是()
A.只要在存储过程中有增删改语句,一定加自治事务 B.在函数内可以修改表数据 C.函数不能递归调用 D.以上说法都不对 参考答案:B 3.利用游标来修改数据时,FOR UPDATE充分利用了事务的哪个特性?()A.原子性
B.一致性
C.永久性
D.隔离性 参考答案:D 4.下列哪个语句无需COMMIT而自动提交()A.CREATE TABLE t(t1 NUMBER,t2 NUMBER)B.UPDATE t SET t1=123 C.DELETE FROM t D.INSERT INTO t VALUES(1,3)参考答案:A 5.下列说法不正确的是()
A.在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数 体内给出COMMIT;B.自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用 C.自定义函数可以返回表类型
D.自定义函数中的参数可以是OUT类型 参考答案:D 6.下面定义PL/SQL记录的语法正确的是()
A.TYPE <记录类型名> IS RECORD
B.TYPE <记录类型名> RECORD C.RECORD <记录类型名> D.TYPE RECORD<记录类型名> 参考答案:A 7.在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务器端变量的值,但在此之前要利用一个命令打开服务器的回显功能,这一命令是()
A. set server on
B. set serverecho on C. set servershow on
D. set serveroutput on 参考答案:D
三、简答题
1.简述NO_DATA_FOUND和%NOTFOUND两个保留字的用法。
参考答案:SELECT...INTO 语句触发 NO_DATA_FOUND;
当一个显示光标的 where 子句未找到时触发 %NOTFOUND;
当UPDATE或DELETE 语句的where 子句未找到时触发 SQL%NOTFOUND;
在光标的提取(Fetch)循环中要用 %NOTFOUND 或%FOUND 来确定循环的退出条件,不要用 NO_DATA_FOUND。
2.简述PL/SQL的异常处理机制。
参考答案:当发生错误时,程序无条件转到异常处理部分,这就要求代码要非常干净并把错误处理部分和程序的其它部分分开。oracle允许声明其他异常条件类型以扩展错误/异常处理。这种扩展使PL/SQL的异常处理非常灵活。
当一个运行时错误发生时,称为一个异常被抛出。PL/SQL程序编译时的错误不是能被处理得异常,只有在运行时的异常能被处理。在PL/SQL程序设计中异常的抛出和处理是非常重要的内容。
3.查找出当前用户模式下,每张表的记录数,以scott用户为例,结果应如下:
DEPT...................................4 EMP...................................14 BONUS.................................0 SALGRADE.............................5 请编写PL/SQL程序块实现。参考答案: DECLARE
type tab_names is table of varchar2(20)index by binary_integer;
tab_name tab_names;
coun number;
str varchar2(100);BEGIN
select table_name bulk collect into tab_name from user_tables;
for i in tab_name.first..tab_name.last LOOP
str:='select count(*)from '||tab_name(i);execute immediate str into coun;
dbms_output.put_line(tab_name(i)||'....................'||coun);ENDLOOP;END;
9.6习题
一、填空题
1._______关键字标志着PL/SQL程序中声明段的开始。
参考答案: DECLARE
2.PL/SQL的异常处理代码在_______块中实现。
参考答案:
EXCEPTION
3.触发器可以分为三类,分别是:_______、_______、_______。
参考答案:DML触发器、替代触发器、系统及触发器
4. 包中包含_______和_______,它们共享公共的变量,公共的局部函数和过程。参考答案:过程、函数
5.一个包由两个分开的部分组成_______和_______。
参考答案:包说明(package soecification)、包主体(package body)
二、选择题
1.关于触发器,下列说法正确的是()
A.可以在表上创建INSTEAD OF 触发器
B.语句级触发器不能使用“:old”和“:new” C.行级触发器不能用于审计功能 D.触发器可以显式调用
参考答案:B 2.分析下面的PL/SQL代码块:
BEGIN FOR I IN 1..5 LOOP IF I=1 THEN NULL;ELSEIF I=3 THEN COMMIT;ELSEIF 1=5 THEN ROLLBACK;ELSE INSERT INTO test(results)values(i);END IF;END LOOP;COMMIT;END;有多少个值,被永久地插入到TEST表中?()A.0 B.1 C.2 D.3 参考答案是: B
3.在PL/SQL循环中,需要测试当前的FETCH是否成功,可以完成这个要求的游标 属性是下列哪个()。
A.SQL%ISOPEN
B.SQL%ROWCOUNT C.SQL%FOUND
D.这一要求无法使用SQL游标属性完成。参考答案是: D
4.检查下面的PL / SQL块:
DECLARE TYPE EmpList
IS VARRAY(2)OF employees.employee_id%TYPE NOT NULL;v_employees EmpList := EmpList();BEGIN
DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);v_employees.EXTEND;v_employees(1):= 30;END;
/ 下列关于上述PL / SQL块的结果的说法,正确的一项是:()。A.它执行成功,并显示值为2 B.它执行成功,并显示值为0 C.它生成一个错误,因为数组不能扩展
D.它生成一个错误,因为该变长数组的声明是无效的。参考答案是: B
三、简答题
1. 简述PL/SQL程序包的作用。
参考答案:把相关的过程和函数归类,按照功能的相关性存放在一起,并赋予一定的管理功能和使用的一组对象就叫做包。Oracle系统把相关的模块归类成为包,可使开发人员利用面向对象的方法进行内嵌过程的开发,从而提高系统性能。
2. 简述存储过程和函数的区别。
参考答案:本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。
函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少。
3. 思考如何在PL/SQL里避免重复编码的问题,请举例说明。参考答案:使用存储过程或函数,举例略。
4. 在PL/SQL里如何使用绑定变量,为何使用绑定变量,请举例说明。
参考答案:这是解决Oracle应用程序可伸缩性的一个关键环节;而Oracle的共享池就决定了开发人员必须使用绑定变量;如果想要Oracle 运行减慢,甚至完全终止,那就可以不用绑定变量;这里举例说明上述问题;为了查询一个员工代号是123,你可以这样查询: select * from emp where empno=‟123‟;你也可以这样查询: select * from emp where empno=:empno;第一个查询使用的频率越高,所消耗的系统硬件资源越大,从而降低了用户的使用数量;它也会把优化好的其它查询语句从共享池中踢出,系统的整体性能降低;而执行绑定变量,提交相同对象的完全相同的查询的用户,,一次性使用就可重复使用,提高效率。
四、应用题
1.用PL/SQL编写函数计算一个给定的正整数的阶乘,并编写调用程序对该函数进行调用。
参考答案:FUNCTION fac(n POSITIVE)RETURN INTEGER IS
BEGIN IF n = 1 THEN
RETURN 1;ELSE RETURN n * fac(n-1);END IF;
END fac;
BEGIN
dbms_output.put_line(fac(5));
END;
2.给 teacher_info 表编写一个(before-delete)触发器,当要在teacher_info 表中删除一个记录,将触发该触发器。在触发器中将判断老师是否已经授课?如果已经安排某位教师授课,它将激发一个例外,把无法删除的信息返回用户。
参考答案:create trigger teacher_cancel on teacher_info instead of delete as declare @sk int,@ID int begin select @ID=course_id FROM deleted select @sk=SKJL from teacher_info where course_id=@ID if(@sk=0)delete from teacher_info where course_id=@ID else begin raiserror('无法删除',10,1)end end
3.根据下面的要求编写相应存储过程,并调用执行。具体要求如下: 1)编写一个存储过程,向表中随机插入1000条记录
SerialNo:使用序列方式,自增长。Filepath:使用随机插入6个字母 Partid:使用随机4位数字
StaffNo:从YTCZ060001…….YTCZ060020 中随机抽取 RecordTime:从2012年8月1日之前的6个月中随机抽取。
2)写一个程序块,循环调用500次此存储过程,保证数据表中存储50万条记录。
参考答案:(1)create table RecordFile(SerialNo
VARCHAR2(20), FilePath
VARCHAR2(200), Partid
Varchar2(4), StaffNo
VARCHAR2(10), RecordTime
DATE)
Create index Ix_RecordFile_SerialNo on recordfile(SerialNo)pctfree 30 tablespace mytbs create sequence seq_RecordFile start with 0 minvalue 0;
create or replace procedure add_RecordFile is begin
for i in 1..1000 loop
insert into RecordFile values(seq_RecordFile.nextval, dbms_random.string('u',6), trunc(dbms_random.value(1000,9999)), 'YTCZ0'||trunc(dbms_random.value(60001,60020)), to_date('2006-08-04','yyyy-mm-dd')-dbms_random.value(0,181));end loop;
commit;end add_RecordFile;(2)begin
for i in 1..500 loop
add_RecordFile;
end loop;end;
10.6习题
一、填空题
1.Oracle数据库从存储结构上可以分为___________和___________。参考答案:逻辑存储结构、物理存储结构
2.在Oracle数据库中,___________是指存储数据库数据的文件。数据库中的所有数据最终都保存在___________中。参考答案:数据文件、数据文件
3.Oracle数据库从逻辑存储结构的角度可以分为表空间、___________、区、___________。一个数据库实例由多个表空间组成,一个表空间由多个___________组成,一个___________由多个区组成,一个区由多个___________组成。参考答案:段、数据块、段、段、数据块
4.将日志缓冲区中的日志信息写入日志文件的后台进程是___________。如果数据库实例运行在归档模式下,则日志文件中的內容将会被___________进程写入归档日志文件。参考答案:LGWR、ARCH 5.Oracle数据库的物理存储结构主要由数据文件、___________和___________这3种类型的文件组成。
参考答案:控制文件、日志文件
6.如果一个服务器进程非正常终止,由Oracle系统会使用___________进程来释放它所占用的资源。参考答案:PMON 7.Oracle数据库中,段主要可以分为数据段、___________、___________、___________和___________。
参考答案:索引段、回退段、LOB 段和临时段
8.在多进程Oracle实例系统中,进程分为___________、___________、___________。参考答案:用户进程、后台进程、服务进程。
9.Oracle服务进程用于处理用户的请求。服务器进程可分为___________、___________。
参考答案:专用服务器进程(dedicated server process)、共享服务器进程(shared server process)10.数据库写入器从___________中将修改过的数据块写到数据文件。参考答案:数据库缓冲区
11.将当用户进程失败时,___________进程监视器执行恢复处理;当日志文件满或切换发生时,一个或多个___________负责拷贝联机重做日志到归档存储上;___________是一个实例的作业队列进程,当需要执行作业时就要启动。参考答案:PMON、归档进程、作业队列进程
12.LARGE_POOL_SIZE 使用大的池(LARGE_POOL_SIZE)来给I/O服务进程___________和___________分配内存;参数__________设置共享服务器的最大数量;参数___________设置共享服务器进程数量。
参考答案:RMAN、MTS、MAX_DISPATCHERS、SHARED_SERVERS 13.运行___________脚本可建立与锁有关的视图;运行___________脚本可显示(以树型结构)等待锁和已占有锁的信息;在Oracle系统运行中,所产生的死锁都动态地记录在___________视图中。
参考答案:CATBLOCK.SQL、UTLLOCK.SQL、V$LOCK 14.___________是Oracle在系统异常时,有Oracle自动创建的文件,它与警告文件一起构成完整的故障信息。
参考答案:跟踪文件
二、选择题
1.下面对数据文件的叙述中,正确的是()A.一个表空间只能对应一个数据文件 B.一个数据文件可以对应多个表空间 C.一个表空间可以对应多个数据文件
D.数据文件存储了数据库中的所有日志信息 参考答案:C 2.下面对Oracle的逻辑存储结构叙述中,正确的是()A.一个数据库实例由多个表空间组成 B.一个段由多个区组成 C.一个区由多个段组成 D.一个块由多个区组成 参考答案:B 3.用符号”->"表示组成关系,下面哪一个组成关系正确表示了Oracle数据库的逻辑存储结构()
A.块->段->区->表空间->数据库 B.块->区->段->表空间->数据库 C.块->表空间->区->段->数据库 D.块->段->表空间->区->数据库 参考答案:B
4.系统全局区包括下面哪些区间?()A.Java池
B.软件代码区间 C.数据缓冲区 D.日志缓冲区 参考答案:ACD 5.解析后的SQL语句会缓存在SGA的哪个区间域中?()A.Java池
B.大型池
C.共享池
D.数据缓冲区 参考答案:C 6.下述选项不属于Oracle数据库逻辑存储结构的是()A.表空间
B.段
C.日志文件 D.区 参考答案:C 7.在全局存储区SGA中,哪部分内存区间是循环使用的?()A.数据缓冲区 B.日志缓冲区
C.共享池 D.大池 参考答案:B 8.下列哪一个后台进程和对应的数据库组件能够保证即使用户对数据库所做的修改没有写入数据文件,也不会发生修改内容丢失的情况()A.DBWn与数据库缓冲区 B.LGWR与重做日志文件 C.CKPT与控制文件
D. ARCn与归档日志文件 参考答案:B 9.下列哪项后台服务进程不是Oracle例程必须要启动的()A. DBWn B. LGWR C. PMON
D. ARCn 参考答案:D 10.在WINDOWS平台上Oracle服务器是以哪种形式运行的()A.单进程,多线程
B.多进程,多线程 C.多进程,每个进程为单线程 D.以上所述都不正确 参考答案:A 11.下面哪种后台进程用于将数据缓冲区中的数据写入数据文件?()A.LGWR B.DBWn
C.CKPT
D.ARCn 参考答案:B 12.以下关于数据库后台服务进程叙述正确是的()
A.DBWn负责从数据文件中读取数据到内存,并且负责将数据从内存回写到数据文件中
B.LGWR负责从重做日志文件中读取信息到内存,并且负责将日志信息从内存回写到重做日志文件中
C.SMON负责定时启动数据库并做相应的恢复和清理工作
D.CKPT负责向数据库发出检查点,用于同步数据库的所有数据文件、控制文件和重做日志文件 参考答案:D 13.当执行COMMIT语句时,会在哪类文件上发生I/O操作()A.数据文件 B.控制文件 C.重做日志文件 D.归档日志文件 参考答案:C
三、简答题
1.简述Oracle物理存储结构中数据文件、控制文件与重做日志文件的作用。
参考答案:数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。
重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是
保证数据库安全与数据库备份与恢复有直接关系的文件。
控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件。
2.简述Oracle逻辑存储结构中表空间、段、区和块之间的关系。
参考答案:逻辑存储结构包括表空间,段,区,块。简单的说,逻辑存储结构之间的关系是:多个块组成区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。
3.简单介绍LGWR进程与ARCn进程的作用。
参考答案: LGWR进程是负责管理日志缓冲区的一个后台进程用于将日志缓冲区中的日志数据写入磁盘的日志文件中。ARCn进程用于将写满的日志文件复制到归档日志文件中防止日志文件组中的日志信息由于日志文件组的循环使用而被覆盖。
4.如果想要了解数据库中所有表的信息,应该使用哪种数据字典? 参考答案: dba_tables 5.DBWn进程所采用的LRU算法应该怎样理解? 参考答案:略
6.SYS、SYSTEM账户都是Oracle数据库自动存在的账户,请简述二者的区别。参考答案:SYS用户:当创建一个数据库时,SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的。为了维护数据字典的真实性,SYS方案中的表只能由系统来维护,他们不能被任何用户或数据库管理员修改,而且任何用户不能在SYS方案中创建表。
SYSTEM用户与SYS一样,在创建Oracle数据库时,SYSTEM用户被默认创建并被授予DBA角色,用于创建显示管理信息的表或视图,以及被各种Oracle数据库应用和工具使用的内容表或视图。
7.Oracle数据库的工作模式有哪两种?它们之间有有何区别?
参考答案:在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。其中,在专用服务器模式中为每个用户进程创建一个服务器进程,用户进程与服务器进程之间是1:1的关系;在共享服务器模式中,一个服务器进程可以为多个用户进程服务器。
8.Oracle进程主要有哪些,作用是什么。参考答案:数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件系统监控(smon):检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控(pmon):负责在一个Oracle 进程失败时清理资源检查点进程(chpt):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。归档进程(arcn):在每次日志切换时把已满的日志组进行备份或归档作业调度器(cjq):负责将调度与执行系统中已定义好的job,完成一些预定义的工作.恢复进程(reco):保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback。
9.Oracle的后台进程包括必须进程和可选进程。请列举Oracle的必须进程,并解释其作用。
参考答案:系统监控进程
SMON 用户监控进程
PMON 数据库写进程
DBWR 日志写进程
LGWR 检查点进程
CKPT
如果是归档模式
归档进程
ARCH 10.警告日志文件是一个存储在Oracle系统目录下的文本文件,它存储数据库系统运行期间记录例行的信息与错误信息。请简述记录的主要错误。
参考答案:警告日志的文件,用于记录数据库文件运行中主要事件的命令与结果。11.简述数据库管理员使用初始化参数文件的作用。
参考答案:始化参数文件,也称启动参数文件,是配置Oracle数据库的一个重要方面,初始化参数文件内包括定义参数,静态限制参数,动态性能参数,控制或修改数据库和数据库实例操作的参数。当数据库启动时,在创建实例或读取控制文件之前,先读取初始化参数文件。
12.简述Oracle警告文件记录的内容。
参考答案:警告日志的文件,用于记录数据库文件运行中主要事件的命令与结果。
11.7习题
一、填空题
1.在创建永久性表空间时,需要使用DATAFILE关键字指定其数据文件,而如果是创建临时表空间,则应该使用___________关键字为其指定临时文件。
参考答案:TEMPORARY 2.表空间的状态属性主要有ONLINE、___________、___________和___________。参考答案:OFFLINE、READ ONLY、READ WRITE 3.数据文件的状态属性主要有ONLINE、___________和___________。参考答案:OFFLINE、OFFLINE DROP
4.创建临时表空间需要使用TEMPORARY关键字,创建大文件表空间需要使用___________关键字,创建撤消表空间需要使用___________关键字。
参考答案:BIGFILE、UNDO
5.Oracle中用户默认的永久性表空间为___________,默认的临时表空间为temp。参考答案:system 6.Oracle中管理撤消表空间的方式有回退段撤消管理和___________。参考答案:自动撤销管理
二、选择题
1.下面哪些不属于表空间的状态属性?()A.ONLINE
B.OFFLINE C.OFFLINE DROP
D.READ 参考答案:C 2.将表空间的状态切换为OFFLINE时,可以指定下下面哪几种切换参数?()A.NORMAL B.IMMEDIATE C.TEMP D.FOR RECOVER 参考答案:AB 3.在表空间space中没有存储任何数据,现在需要删除该表空间,并同时删除其对应的数据文件,可以使用下列哪条语句?()
A.DROP TABLESPACE space;B.DROP TABLESPACE space INCLUDING DATAFILES;C.DROP TABLESPACE space INCLUDING CONTENTS AND DATAFILES;D.DROP TABLESPACE space AND DATAFILES;
参考答案:B 4.使用如下语句创建一个临时表空间temp: CREATE ___________ TABLESPACE temp ___________ „F: oraclefiletemp.dbf „ SIZE 10M AUTOEXTEND ON NEXT 2M MAXSIZE 20M;请从下列选项中选择正确的关键字补充上面的语句。()A.(不填)、DATAFILE
B.TEMP, TEMPFILE C.TEMPORARY, TEMPFILE D.TEMP, DATAFILE 参考答案:C 5.下列将临时表空间temp设置为默认临时表空间的语句正确的是()A.ALTER DATABASE DEFAULT TABLESPACE temp;B.ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;C.ALTER DEFAULT TEMPORARY TABLESPLBLESPACE TO temp;D.ALTER DEFAULT TAI3LESPACE TO temp;参考答案:B 6.如果当前数据库实例中有一个临时表空间组groupl,该组中只有一个临时表空间temp1。现在使用下面的语句修改temp1表空间所在组为group2: ALTER TABLESPACE temp1 GROUP group2;下面对执行上述语句后的结果叙述正确的是()
A.由于数据库实例中并不存在group2组,所以上述操作将执行失败 B.上述语句可以成功执行,temp1表空间将被移动到group2组中
C.执行上述语句后,数据库实例中将存在两个临时表空间组:group1和group2 D.执行上述语句后,数据库实例中将只存在一个临时表空间组:group2 参考答案:D
三、简答题
1.表空间的状态有哪几种,它们分别表示什么意思?
参考答案: 在线:只有在此状态下才允许访问表空间中的数据;离线:当表空间状态为离线时不允许范围表空间中的数据;只读:当表空间状态为只读时可以访问表空间中的数据但访问仅仅限于阅读而不能进行任何更新或删除操作;读写:当表空间状态为读写时可以对表空间进行正常访问包括对表空间中的数据进行查询、更新和删除等操作。
2.如果初始化参数db_block_size的值为l6KB,那么还能设置db_16k_cache_size参数的值吗?请结合本章的学习内容,创建一个非标准数据块表空间,并简单概述其步骤。
参考答案:不能。
3.使用undo_retention参数可以设置撤消表空间中的撤消数据的保留时间,默认为900秒,这个时间长度在实际应用中可能不够,为了让撤消数据保留足够长的时间,是不是可以将undo_retention参数的值设置成非常大呢?为什么?
参考答案:不能,理由略
4.在实际应用中,需要临时创建一个表来使用,那么是否可以将该表创建在临时表空间中?
参考答案:可以,但是不是必须。
6.在Oracle中,对表空间的使用与管理非常重要。请创建一个表空间,然后对表空间的数据文件进行增加、删除和移动等管理,巩固本章所学的知识。
参考答案:略
12.7习题
一、填空题
1.备份控制文件主要有两种方式:___________和备份成脚本文件。
参考答案:二进制文件
7.通过数据字典v$datafile可以查看数据文件信息,通过数据字典___________可以查看控制文件信息,通过数据字典___________可以查看日志文件信息。
参考答案:v$controlfile、v$logfile 8.Oracle数据库的运行模式有归档模式和___________模式两种,Oracle数据库默认为非归档模式,数据库管理员可以执行___________语句,将数据库的运行模式设置为归档模式。
参考答案:非归档模式、archive log start 9.如果在创建控制文件时使用了RESETLOGS选项,则应该执行___________语句打开数据库。
参考答案:二进制文件、ALTER SYSTEM ARCHIVE LOG START 10.使用ALTER SYSTEM语句修改参数值时,可以使用SCOPE选项,该选项有MEMORY、___________、___________3个可选值。
参考答案:spfile、both
二、选择题
1.下面对日志文件组及其成员叙述正确的是()
A.日志文件组中可以没有日志成员 B.日志文件组中的日志成员大小一致
C.在创建日志文件组时,其日志成员可以是已经存在的日志文件
D.在创建日志文件组时,如果日志成员已经存在,则使用REUSE关键字就一定可以成功替换该文件
参考答案:B 2.当日志文件组处于下列哪种情况时,无法清空该日志文件组?()
A.ACTIVE
B.INACTIVE C.CURRENT
D.UNUSED 参考答案:AC 3.下面哪条语句用于切换日志文件组?()
A.ALTER DATABASE SWITCH LOGFILE;B.ALTER SYSTEM SWITCH LOGFILE;.C.ALTER SYSTEM ARCHIVELOG;D.ALTER DATABASE ARCHIVELOG;参考答案:B 4.删除日志文件组5中的日志文件E:orcldatafileredo05.log,其中正确的语句是()
A.ALTER DATABASE DROP LOGFILE „E:orcldatafileredo05.log„;B.ALTER DATABASE DROP LOGFILE GROUP 5 „E:orcldatafileredo05.log„;C.ALTER DATABASE DROP LOGFILE MEMBER „ E:orcldatafileredo05.log „
D.ALTER GROUP 5 DROP LOGFILE „ E:orcldatafileredo05.log‟„ 参考答案:C 5.修改系统中的参数值时,如果只修改服务器参数文件中的设置,则SCOPE选项的值应该为()
A.SPFILE
B.MEMORY C.BOTH
D.以上都不对 参考答案:A
三、简答题
1.控制文件在数据库中有什么作用?在创建控制文件时应该注意哪些问题? 参考答案:控制文件存放数据库中的数据文件和日志文件的信息。在创建控制文件时需要指定与数据库相关的日志文件与数据文件。
2.日志文件组中的日志成员大小应该一致吗?为什么? 参考答案:应该一致。理由略。
3.日志文件组有哪几种状态,它们分别表示什么含义? 参考答案:归档未完成 正在使用 非活动状态 从未使用
4.简述清空日志文件组以及删除日志文件组或日志成员时应该注意哪些问题。参考答案:清空日志文件组应注意如下两点 ① 被清空的日志文件组不能处于正在使用状态 ② 当数据库中止呕两个日志文件时不能清空日志文件组。
删除日志文件应注意如下几点 ① 该日志文件所在的日志文件组不能处于正在使用状态 ② 该日志文件所在的日志文件组中必须还包含其他日志成员 ③ 如果数据库运行在归档模式下则应该在删除日志文件之前确定它所在的日志文件组已经被归档否则会导致数据丢失。
删除日志文件组应注意如下几点 ① 一个数据库至少需要两个日志文件组 ② 日志文件组不能处于正在使用状态 ③ 如果数据库运行在归档模式下应该确定日志文件组已经被归档。
5. 简述归档模式与非归档模式的区别。参考答案:在非归档日志模式下如果发生日志切换则日志文件中原有内容将被新的内容覆盖在归档日志模式下如果发生日志切换则ORACLE系统会将日志文件通过赋值保存在指定的地方然后才允许向文件中写入新的日志内容。
13.5习题
一、填空题
1.创建用户时,要求创建者具有___________系统权限。
参考答案:create user 2.向用户授予系统权限时,使用___________选项表示该用户可以将此系统权限再授予其他用户。向用户授予对象权限时,使用___________选项表示该用户可以将此对象权限再授予其他用户。
参考答案:WITH ADMIN OPTION、WITH GRANT OPTION 3.Oracle数据库中的权限主要有___________和___________两类。
参考答案:系统权限、对象权限
4.___________是具有名称的一组相关权限的组合。
参考答案:角色
5.一个用户想要在其他模式创建表,则该用户至少需要具有___________系统权限。
参考答案:create table 6.禁用与启用角色应该使用___________语句。
参考答案:SET ROLE 7.Oracle提供两个命令:___________用于给用户或角色进行授权;___________从用户或角色中收回某些权限
参考答案:grant、revoke 8.我们可将Oracle 用户分为三级,即___________、___________、___________。
参考答案:connect user,resource user 及 DBA 9.___________允许用户联到Oracle 数据库,用户可访问Oracle.;___________创建属于开发者的存储过程,软件包和函数.开发者也能撤消他们所拥有的这些对象;___________允许用户将数据库中任何权限授予任何用户。
参考答案:CREATE SESSION、CREATE PROCEDURE、GRANT ANY PRIVILEGE 10.命令___________实现创建角色;命令___________实现删除角色;命令___________使角色失效。
参考答案:CREATE ROLE、DROP ROLE、SET ROLE 11.数据字典中,SESSION_ROLES可以查看___________;___________查看授予角色的系统权限;___________查看实例中有效的用户及相应信息。
参考答案:用户可用的角色的信息、DBA_ROLE_PRIVS、DBA_USERS
二、选择题
1.如果某个用户仅仅具有scott.emp表上的SELECT与UPDATE权限,则下面对该用户所能执行的操作叙述正确的是()
A.该用户能查询scott.emp表中的记录 B.该用户能修改scott.Emp表中的记录 C.该用户能删除scott.emp表中的记录 D.该用户无法执行任何操作
参考答案:A 2.下面对系统权限与对象权限叙述正确的是()
A.系统权限是针对某个数据库对象操作的权限,对象权限不与数据库中的具体对象相关联
B.系统权限和对象权限都是针对某个数据库对象操作的权限 C.系统权限与对象权限都都不与数据库中的具体对象相关联
D.系统权限不与数据库中的具体对象相关联,对象权限是针对某个数据库对象操作的权限
参考答案:D 3.启用所有角色应该使用下面哪条语句()A.ALTER ROLE ALL ENABLE
B.ALTER ROLE ALL C.SET ROLE ALL ENABLE
D.SET ROLE ALL
4.Oracle数据库中,关于角色的说明,正确的是:()A.一个角色可以被授予自身
B.角色的所有者都属于SYS用户 C.一个角色可以包括系统和对象权限 D.一个角色不能被授予其它角色
参考答案:C 5.如果用户user1创建了数据库对象,删除该用户需要使用下列哪条语句?()A.DROP USER user1;B.DROP USER user1 CASCADE;C.DELETE USER user1;D.DELETE USER user1 CASCADE;参考答案:B 6.修改用户时,用户的什么属性不能修改?()A.名称 B.密码 C.表空间
D.临时表空间
参考答案:A 7.具有访问数据字典视图DBA_XXX权限的角色是:()A.CONNECT
B.RESOURCE C.SYSDBA
D.SELECT_CATALOG_ROLE 参考答案:C 8.给用户desmond权限,可以改变gl.accounts表,同时还可以把这种权限分配给其他用户,以下哪个语句可以完成这种要求?()
A.grant alter any table with grant option to desmond;B.grant alter on gl.accounts to desmond with admin option;C.grant alter any table to desmond with grant option;D.grant alter any table to desmond with admin option;参考答案:C 9.您执行下面语句创建一个数据库用户,并分配权限 SQL> create user user01 identified by test default tablespace users temporary tablespace temp profile default / 用户已创建。
SQL> grant create session,create table to user01;授权成功。
当用户user01执行命令创建表的时候,出现下面错误: SQL> create table a(name char(10));create table a(name char(10))* 第 1 行出现错误: ORA-01950: 对表空间 'USERS' 无权限
发生这个错误的原因是()
A.表空间users已经满
B.用户不是SYSTEM表空间的所有者
C.用户没有足够的系统权限在users表空间上创建表 D.用户在users表空间上没有配额(quota)
参考答案:C 10.可以删除审计跟踪记录的角色是:()A.CONNECT
B.RESOURCE C.DBA
D.DELETE_CATALOG_ROLE 参考答案:C
三、简答题
1.简述系统权限与对象权限的区别。
参考答案:系统权限是指对整个Oracle系统的操作权限。一般由数据库管理员授予用户并允许用户将被授予的系统权限再授予其他用户。对象权限是指用户对数据库中对象的操作权限。
2.简述权限与角色的关系,以及使用角色有哪些好处。
参考答案: 数据库中的权限较多为了方便对用户权限的管理ORACLE数据库允许将一组相关的权限授予某个角色然后将这个角色授予需要的用户拥有该角色的用户将拥有该角色说包含的所有权限。使用角色的好处是管理权限和授予权限十分方便。
3.在一个学生管理系统中,教师teacher01可以查询学生(student表)的所有信息,并可以修改学生的成绩(score 列),学生student01可以查看学生的信息,主任director01可以添加和删除学生。请问该如何为teacher01,student01和director01授予相应的权限。
参考答案:GRANT SELECT ON student TO teacher01 GRANT UPDATE ON studentscore TO teacher01 GRANT SELECT ON student TO student01 GRANT DELETEINSERT ON student TO director01 4.简述修改用户的默认角色与禁用启用角色的区别。
参考答案:当用户登录到Oracle数据库,数据库启用用户明确授予的所有权限和默认角色的所有权限。在一个会话中,用户或者是应用程序可以通过SET ROLE语句来启用、禁用当前会话已经启用的角色。对大多数角色来说,用户是不能启用和禁用角色的,除非这些角色是直接或通过别的角色间接授予用户的。
5.简述使用WITH ADMIN OPTION选项与使用WITH GRANT OPTION选项的区别。参考答案:
1、with admin option 用于系统权限授权,with grant option 用于对象授权。
2、给一个用户授予系统权限带上with admin option 时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效。
而with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效。
6. 简述用户、角色、权限的关系。
参考答案:简单的认为一个角色就是某些个权限的集合体,也就是说把多个系统权限(system privilege),对象权限(object privilege)以及角色(role)揉和在一起,然后赋给一个用户。
7. 简述系统权限与角色权限的区别。
参考答案:Oracle系统权限需要授予者有进行系统级活动的能力,如连接数据库,更改
用户会话、建立表或建立用户等等。角色权限就是将属于用户的权限授予一个角色。任何权限都可以授予给一个角色。授予系统权限给被授予者必须使用WITH_ADMIN_OPTION子句,在会话期间通过SET ROLE语句授予或撤销角色权限。
8.简述在应用Oracle的角色权限机制时,根据不同的用户如何设置用户的权限。参考答案:管理员可以使用CREATE ROLE语句建立一些不同级别的角色,然后根据各个用户的情况来授予不同的角色。使用角色,可以简化权限的管理,先将对象的访问权授予某个角色,然后把角色授予用户。
14.7习题
一、填空题
1.Oracle Database 11g提供了6种闪回技术,它们分别是闪回表(Flashback Table)______、_________、_________闪回数据库(Flashback Database)、_____。
参考答案:闪回删除、闪回版本查询、闪回事物查询、闪回数据存储 2.清除回收站的对象需要使用
_______命令。
参考答案: PURGE 3.闪回版本查询主要针对表的INSERT、_______
和_______ 操作。
参考答案:UPDATE、DELETE 4.使用闪回版本查询时需要用到Flashback Version Query的伪列,其中表示对该行执行的操作;versions starttime表示对该行进行改动时的起始时间戳;_______表示此次改动不再有效时的结束时间戳。
参考答案:versions_endtime 5.在使用闪回事务查询时,可通过_______ 视图的xid宇段查看单独的事务信息,该字段的值对应闪回版本查询的versions xid伪列。
参考答案:flashback_transaction_query 6.Oracle系统在默认情况下没有启用闪回数据库功能,系统管理员可以使用_______语句启用该功能。
参考答案:ALTER DATABSE FLASHBACK ON
二、选择题
1.下面对闪回表操作叙述正确的是()A.使用闪回表技术,可以还原被删除的列 B.使用闪回表技术,可以恢复指定的记录行
C.使用闪回表技术,可以将表中的数据恢复到指定时间点或SCN上 D.使用闪回表技术,可以闪回被删除的表
参考答案:C 2.如果需要对已删除的表mytest执行闪回删除操作,应注意下列哪些事项?()A.确保当前数据库的回收站功能处于启用状态 B.如果回收站中有多个mytest表,则需要知道希望恢复的mytest表在回收站中的名称 C.如果该表所在用户下已经存在对象名mytest,则在还原该表时应该为该表重新命名 D.需要知道删除该表的时间
参考答案:AC 3.启用闪回数据库功能的语句是()A.ALTER SYSTEM FLASHBACK ON
B.ALTER SYSTEM FLASHBACK DATABASE ON;C.ALTER DATABASE FLASHBACK ON;D.ALTER DATABASE FLASHBACK DATABASE ON 参考答案:C 4.如果对表的结构进行了修改,则应该使用哪种闪回技术还原该表?()A.闪回数据库
B.闪回删除 C.闪回表
D.闪回数据归档
参考答案:A 5.使用如下语句创建表mytest:
CREATE TABLE mytest(id NUMBER)FLASHBACK ARCHIVE 下列说法正确的是()
A.无法创建成功,因为FLASHBACK ARCHIVE子句没有指明闪回数据归档区 B.一定可以创建成功,因为Oracle系统将为该表指定默认闪回数据归档区 C.可以创建成功,但要求数据库中存在默认闪回数据归档区 D.如果创建成功,可以以便用DROP语句删除该表
参考答案:C
三、筒答题
1.简述闪回技术的作用,并分别介绍Oracle Database 11g中各种闪回技术的作用。参考答案:为了让用户可以及时获取误操作之前的数据,Oracle提供了一种处理机制,也称闪回技术,使用Oracle闪回技术,可以实现数据的迅速恢复,而且不依赖于数据备份。
闪回表(Flashback Table)技术用于恢复表中的数据,可以在线进行闪回表操作。闪回删除(Flashback Drop)技术用于恢复已经被用户删除的数据库对象,这需要使用到Oracle数据库系统中的回收站机制。
闪回版本查询(Flashback Version Query)技术用于查询某段时间内对表的操作记录,主要针对INSERT、UPDATE和DELETE操作。
如果需要撤消己提交的事务,可以使用闪回事务查询(Flashback Transaction Query)。闪回事务查询是对闪回版本查询的扩充,通过它可以审计事务甚至撤消一个已提交的事务。
闪回数据库,实际上就是将数据库回退到过去的一个时间点或SCN上,从而实现整个数据库的恢复,这种恢复不需要通过备份,所以应用起来更方便、更快速。
新引入了闪回数据归档(Flashback Data Archive)技术。闪回数据归档的实现机制与前面几种闪回不同,它将改变的数据另外存储到特定的闪回数据归档区中,从而让闪回不再受撤消数据的限制,大大提高了数据的保留时间,闪回数据归档中的数据行可以保留几年甚至几十年。
2.简述使用闪回删除还原被删除的表时,需要注意哪些问题。
参考答案:闪回删除(Flashback Drop)技术用于恢复已经被用户删除的数据库对象,这需要使用到Oracle数据库系统中的回收站机制。
如果回收站处于禁用(OFF)状态,则被删除的数据库对象无法保存到回收站中,只能是被彻底删除。
3.简述闪回版本查询与闪回事务查询的区别与联系。
参考答案:闪回事务查询是对闪回版本查询的扩展。从某种程度上来说,闪回版本查询通常用于更细粒度的查询,如针对特定的记录。而闪回事务则是
针对某一事务进行闪回,是基于事务级别的。闪回事务查询通过查询视图flashback_transaction_query来获得某个或多个特定事务信息,同时可以根据该视图中提供的undo_sql 列中的语句来反转事务,从而保证数据的完
整性。
4.简述使用闪回数据库还原数据库的步骤,以及注意事项。参考答案:确定当前数据库的日志模式是否为归档模式;设置闪回数据库功能为启用状态;检查闪回数据库功能是否已经启用 指定时间戳
使用SYS用户连接数据库
使用FLASHBACK [ STANDBY ] DATABASE语句闪回数据库
使用闪回数据库,需要用户具有SYSDBA权限。
5. Oracle对包含AS OF子旬的查询使用撤消表空间还是闪回数据归档,对用戶来说是完全透明的,思考一下使用什么方式可以证明表的历史数据是由闪回归档区提供的,并加以验证。参考答案:
6.谈谈你对数据备份与恢复、数据导入导出、闪回技术的理解。参考答案:略
15.7习题
一、填空题
1.使用ALTER INDEX语句,指定___________子句,可以用来监视所创建的索引。
参考答案:MONITORING USAGE 2.Oracle11g包含有许多V$动态视图,视图___________显示当前实例的状态;视图___________显示有关系统全局区的总结信息;视图___________显示有关系统全局区的详细信息;视图___________显示有关库缓存性能的统计数据。
参考答案:V$INSTANCE、V$SGA、V$SGASTAT、V$LIBRARYCACHE 3.通常用___________命令分析表或索引,使统计数据存放在相应的数据字典中。与表有关的数据字典:___________、___________;与CLuster有关的数据字典:___________;与索引有关的数据字典:___________、INDEX_STATS。
参考答案:ANALYZE、DBA_TABLES、DBA_TAB_COLUMNS、DBA_CLUSTERS、DBA_INDEXES 4.要确保所发布的I/O能均匀地通过硬盘和通道。I/O限制包括:___________、___________、___________。
参考答案:设备潜能、通道带宽、设备带宽 5.Oracle系统中的共享池是用来存放___________、___________、___________及Oracle系统的数据字典数据。
参考答案:SQL语句、PL/SQL语句、各种包
6.一些视图自从Oracle数据库实例起动或会话开始以来一直跟踪和统计累积数据。其中V$LIBRARYCACHE显示记录共享池中空间级小结信息;___________显示在共享池中对象级统计信息;___________显示库缓存当前内存信息;___________显示资源使用小结。
参考答案:V$DB_OBJECT_CACHE、V$LIBRARY_CACHE_MEMORY、V$SYSSTAT 7.在查询语句的SELECT子句中,尽量避免使用___________来表示全部的列名。参考答案:*
8.在SELECT语句中,使用WHERE子句过滤行,使用HAVING子句过滤分组。应该尽量使用___________过滤行,这样避免了花费时间去分组要过滤的行。
参考答案:WHERE 9.IN操作符用于检查一个值是否包含在列表中,EXISTS只检查行的存在性。因此建议使用___________来替代IN操作符的使用。
参考答案:EXISTS 10.索引不仅仅可以基于单独的列,还可以基于多个列,在多个列上创建的索引叫___________。
参考答案:组合索引
二、选择题
1.在初始化参数中设置了如下参数:
DB_BLOCK_SIZE = 8KB SGA_MAX_SIZE = 2GB SGA_TARGET = 0 SHARED_POOL_SIZE = 120MB DB_CACHE_SIZE = 896MB STREAM_POOL_SIZE = 0 LARGE_POOL_SIZE = 110 MB 哪几个描述是正确的?()
A.不能设置参数 DB_8K_CACHE_SIZE的值.B.如果把共享池的大小增长到120MB,系统会自动调整共享池的大小到110M C.如果SGA_TARGET 的值是1GB,SHARED_POOL_SIZE 的值是120MB,那么即使共享池有空闲区域内存也不能使用共享池
D.当缓冲池中有足够的容量,一个应用程序能够从共享池分配超过120 MB的空间。.参考答案:A、C 2.Oracle数据库在运行时,系统自动将所有运行情况(包括日志数据)记录在哪个数据字典视图中()。
A.V$SGA
B.V$ROWCACHE
C.V$SESSION_WAIT
D.V$SYSSTAT 参考答案:D 3.在警告文件中出现如下错误提示:
ORA-01650: Unable to Extend Rollback Segment x by String in Tablespace x 请问是什么原因导致()
A.在临时表空间中找不到满足要求的连续空间 B.在表的扩展中已经超过了允许的最大值。
C.在表空间中没有没有足够的连续空间用于扩展。D.没有足够的连续空间用于回滚段的扩展。.参考答案:D 4.删除表中的数据可以使用DELETE语句,也可以使用TRUNCATE语句。如果确定要删除表中的所有行,建议使用()
A.DELETE语句 B.TRUNCATE语句 C.DROP语句 D.COMMIT语句
参考答案:B 5.在表连接时必须选择最佳连接顺序,例如,要连接3个相关表:table1、table2和table3,假设表table1有100行记录,表table2有1000行记录,表table3有10000行记录。那么表的连接顺序应该是()
A.首先应该将table2连接到table1上,接着是table2连接到table3上 B.首先应该将table1连接到table2上,接着是table2连接到table3上 C.首先应该将table3连接到table2上,接着是table2连接到table1上 D.首先应该将table1连接到table3上,接着是table3连接到table2上 参考答案:C 6.使用表的连接查询时,建议选择___________作为驱动表,也就是将它作为FROM子句中的最后一个表()
A.记录行数最少的表 B.记录行数最多的表 C.记录列数最少的表 D.记录列数最多的表 参考答案:A 7.创建索引时,需要认真选择表中的哪些列可以作为索引列。选择索引列要掌握的原则是()。
A.经常在WHERE子句中使用的列
B.经常在表连接查询中用于表之间连接的列 C.不宜将经常修改的列作为索且
D.不宜将经常在WHERE子句中使用,但与函数或操作符相结合的列作为索引列 参考答案:A、B、C、D 8.使用LIKE操作符应用员工姓名查询时,下列哪个选项可以引用索引?()A.LIKE „%A%‟
B.LIKE „%A‟ C.LIKE „ A%‟
D.LIKE „A% 参考答案:C
三、简答题
1.简述调整重做日志缓冲区性能主要的方法。参考答案:修改Redo Log Buffer参数
加速归档处理
减少重做日志产生
2.简述改善共享池性能的主要方法。
参考答案:稍微加大 Shared Pool 参数值;
为PL/SQL开较大的空间;
在内存中导入PL/SQL代码;
鼓励代码重用;
建立大的 Pool
3.Oracle进程内存占用一直增加,达到1G左右的时候就会连接失败,监听进程死掉,或者CPU达到100%,如何解决。
参考答案:
1、PATCH是否都打了,ORACLE系统内存参数是否太大,超出OS的MEMORY。
2、查查是不是程序没有关闭连接导致连接数不断上升引起的,你是什么操作系统?
3、服务器都作了什么设置呢?比如sga的分配,是什么情况呢?
4、要进行调优,及参数设置。
4.以管理员身份登录,在Oracle数据库中进行如下操作:
SQL> select tablespace_name, segment_type, sum(bytes)/ 1048576 Mb from dba_segments where owner = 'HR' group by tablespace_name, segment_type / 执行结果如下:
TABLESPACE_NAME
SEGMENT_TYPE
MB----------------------------------------------------------EXAMPLE
INDEX
1.1875 EXAMPLE
TABLE
.375 USERS
TABLE
18.3125 USERS
INDEX
35.725 根据Oracle优化的原则有什么问题?怎么改正? 参考答案:index不应该在user的表空间
5.下面4条SELECT语句的执行结果一样吗?执行效率一样吗?哪条语句的执行效率最高,为什么?
SELECT employee_id FROM employees;SELECT employee_id FROM hr.employees;SELECT employee_id FROM HR.EMPLOYEES;SELECT EMPLOYEE_ID FROM HR.EMPLOYEES;参考答案:以上四个SQL在表中分析整理之后产生的结果及执行的时间是一样的,但是从ORACLE共享内存SGA的原理,可以得出ORACLE对每个SQL都会对其进行一次分析,并且占用共享内存,如果将SQL的字符串及格式写得完全相同则ORACLE只会分析一次,共享内存也只会留下一次的分析结果,这不仅可以减少分析SQL的时间,而且可以减少共享内存重复的信息,ORACLE也可以准确统计SQL的执行频率。
6. 在执行连接查询时,FROM和WHERE子句中,对表的连接顺序有什么要求? 参考答案:顺序都是先生成连接条件结果较少的,也就是说在语句执行结果集时,结果集尽量的小,不要大,所以对于连接时两个小数据表先连接,然后再是大表连接。
7.下面两条SELECT语句的执行结果一样吗?执行效率一样吗?哪条语句的执行效率较高,为什么?(其中,符合条件employee_id> 150的记录在记录集中比率为80%,符合条件department_id = 20的记录所占的比率为3%。)
SELECT * FROM hr.employees WHERE employee_id>150 AND department_id=10;SELECT * FROM hr.employees WHERE department_id=20 AND employee_id >150;参考答案:第二条语句执行效率更高。比较次数更少。8. 简述创建索引时的一些基本原则。
参考答案:对于经常以查询关键字为基础的表,并且该表中的数据行是均匀分布的。
以查询关键字为基础,表中的数据行随机排序。
表中包含的列数相对比较少。
表中的大多数查询都包含相对简单的WHERE子句。9.对索引列的操作语句中,应该尽量避免哪些操作符的使用?
参考答案:所以对索引列的操作语句应该尽量避免“非”操作符的使用。例如:例如NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN和NOT LIKE等。
16.4习题
一、填空题
1.只要具备___________角色权限的用户都可以进行全数据库方式导出。具体操作通过___________参数来实现全数据库导出。
参考答案:IMP_FULL_DATABASE、FULL=y 2.在进行导出和导入时,将参数传递给EXP和IMP的三种方式分别是___________、___________和___________。
参考答案:命令行方式、交互方式、参数文件法
3.为了加快导出的速度,可以使用参数___________来运行直接路径导出。参考答案:DIRECT=Y 4. 由于导出只备份数据库的内容而不备份物理数据块,因此,导出也称为___________。
参考答案:逻辑备份
5.利用导出EXP实用程序的一个参数___________,可以导出一个查询结果集。这样管理员可以更方便地对所关心的数据进行控制。
参考答案:QUERY
二、选择题
1.用于确定是否要导入整个导出文件的参数是()。A.CONSTRAINTS
B.TABLES C.FULL
D.FILE 参考答案:C 2.从指定的表中导出所有数据的导出模式是()模式。A.用户
B.表 C.全部数据库
D.表空间 参考答案:B
三、简答题
1.请说出导入有哪些方式。
参考答案:全数据库方式;用户方式;表方式;表空间方式。
2.请说出导入和导出的几个作用。
参考答案:创建一个Oracle数据库的全部或部分逻辑备份;恢复对象,范围可以从一个表到全数据库;有助于防止用户偶尔的错误删除表或清空表;保存一个模式或整个数据库的逻辑结构(包含或不包含数据);将数据从一个版本移植到另一个版本;在不同硬件环境中进行数据的移动;从数据库中提取索引定义;在同一个数据库内重建模式;重建分区表的数据;减少Oracle数据库的碎片。
3.分别列出EXP和IMP命令的至少五个参数及其含义。参考答案: EXP参数:
1)FULL export entire file(N)要导出整个数据库
2)OWNER list of owner usernames 需要导出的用户名列表 3)FILE output files(EXPDAT.DMP)导出的存储文件名
4)TABLES list of table names 要导出表的名字列表
5)COMPRESS import into one extent(Y)是否压缩为一个文件
IMP参数:
1)ANALYZE 默认:Y,是否导入ANALYZE语句分析的表和索引的统计数据。2)BUFFER 默认:与操作系统有关,缓冲区的大小(以字节计),处理过程中通过行的数据。
3)COMMIT 默认:N,指定在导入时是否每个数组插入后就提交。4)CONSTRAINTS 默认:Y,指定是否要一致性导入。
5)FEEDBACK 默认:0,导入时显示进展的标志,表示导入的行数。4.导出的Query参数受到哪些方面的限制。
参考答案:不能为完全、用户或可移动表空间方式的导出来指定query;条件必须适用于所有指定的表;不能在DIRECT中指定query;不能为嵌套表指定QUERY。
5.在进行导入操作时,有哪几种优化方式。
参考答案:
1、创建几个大的重做日志文件;
2、最小化数据库提交次数;
3、分步导入;
17.6习题
一、填空题
1.Oracle 11g的企业管理器主要包括下面管理功能:数据中心管理、___________、___________、有效性管理、___________、___________。
参考答案:生命周期管理、存储管理、性能管理、故障管理
2.目前Oracle 11g EM包括两部分的产品,一个是___________;另外一个是___________。
参考答案:数据库网格控制管理、数据库控制管理
3.Oracle 11g EM前,要确保能访问数据库控制资料库(用SQL*Plus测试)是可用,并保证与NET Service有关的参数文件可用。WINDOWS下与NET Service有关的参数文件中,___________是Oracle服务器监听进程所需要的参数文件;___________是Oracle Net服务需要的参数文件;___________是访问Oracle实例需要的参数文件。
参考答案:LISTENER.ORA、SQLNET.ORA、TNSNAMES.ORA 4.如果Oracle安装在Windows操作系统环境下,那么可以从控制面板上,打开服务面板,启动企业管理器(OEM)服务:___________;如果Oracle安装的环境是UNIX或LINUX,那么可以使用___________命令来启动。
参考答案:OracleDBconsoleSID、emctl 5.Oracle 11g EM在性能管理方面主要提供:___________曲线、___________曲线及实例的I/O吞吐曲线。
参考答案:主机使用的情况曲线、Oracle会话使用曲线
二、选择题
1.您需要启动企业管理器,应使用哪个命令?()A.agctl start agent
B.emctl startup agent C.agctl enable agent
D.emctl start agent 参考答案:D 2.下列关于OEM的说法中正确的有()。
A.从理论上讲,OEM的运行必须具备外部卓越的制造能力和自身优秀的无形资产 B.OEM方式实际是一种强强联合的方式,合作双方是优势互补
C.OEM方式节省固定资产投资,使大量的资本投资用于更好的资源配置,使项目的财务成本得以降低
D.制造方必须具有较强的市场开拓能力 参考答案:B 3.在Oracle 11g EM的“管理”中有“安全性”功能,它包括()A.用户
B.角色
C.系统
D.概要文件 参考答案:ABD 4.Oracle 11g EM例程也叫实例,在EM例程管理界面可显示()。A.用户参数 B.内存参数 C.还原管理 D.所有初始化参数 参考答案:ABD
三、简答题
1.OEM数据库工具组的功能是什么?主要包括什么工具? 参考答案:
Oracle 11g EM可以对Oracle数据库进行管理,包括对用户的管理、表空间的管理、导出与导入等;可对本地Oracle服务器进行管理,要对分布环境的各Oracle服务器进行管理,要进行专门的配置;除了提供功能感强大的管理外,还为Oracle系统的优化与调整、SQL语句的优化等提供顾问,如找出消耗资源最多的SQL语句等。
工具包括:实例管理工具、性能管理工具、可用性工具、服务期工具、方案工具、数据移动工具等。
2.根据以下情况,回答相关问题。
(1)当登录至OEM控制台时,得到以下错误信息:
VOC-00002:Failure to obtain interface login 请问是什么原因导致。
(2)当使用OEM控制台时,得到以下错误信息:
VOC-00107:Failure setting credential details ORA-03114: Not Connected to ORACLE 请问是什么原因导致。
(3)当使用SYSDBA登录至OEM控制台时,得到以下错误信息:
VOC-00121:Failure updating or inserting a user detail entry
ORA-00942:Table or view does not exist 请问是什么原因导致。参考答案:(1)原因是OEM通信后台进程不能打开一个与Repository的连接,确认TCP/IP配置正确,以及是否通信后台进程的缺省参数已被修改。
(2)原因是OEMRepository所在数据库已关机,或是连接数据库的服务发生了网络故障。
(3)权限不够,用户登录至OEM控制台的缺省角色是NORMAL,看不到相关的表。
3.某个客户服务代表接到一个客户关于需要修改的账户问题的电话。当这个代表正准备按应用中的Save按钮,从而提交所输入的用户修改时,火警警报响了,所以他必须离开这栋大楼。当火警警报结束后,他回到工作台,不过他发现他处理的应用生成了一个出错,这个出错提示他要修改的表已经被锁定了,要求他联系DBA,所以他给你打了电话,报告这个问题。
回答下面的问题并完成这些任务。
(1)列出你可能采取的检查锁争用的方法。(4分)
(2)假定这个错误是ORA-000060,可能是什么原因导致的?(5分)(3)你将采取什么来解决锁争用的问题呢?(4分)参考答案:(1)检查动态性能视图V$LOCK;通过OEM的检查锁功能;检查SQL跟踪文件。
(2)死锁产生的。(3)杀掉死锁进程。
4.在OEM控制台上,数据库显示为红色的圆圈和斜线,表示数据库已关闭;然而数据库是正在运行的。请解释出现这种情况的原因,以及如何处理?
参考答案:
监听器没启动,所以无法查询到数据库的状态。