资源描述
《Oracle数据应用》期末(考试)试卷(B)
班级: 姓名: 学号:
一、选择题(具体规定,本大题共20道小题,每小题2分,共40分)
1.在Oracle中,有一个教师表teacher的结构如下:
ID NUMBER(5)
NAME VARCHAR2(25)
EMAIL VARCHAR2(50)
下面哪个语句显示没有Email地址的教师姓名( )。
A. SELECT name FROM teacher WHERE email != NULL;
B. SELECT name FROM teacher WHERE email <> NULL;
C. SELECT name FROM teacher WHERE email IS NULL;
D. SELECT name FROM teacher WHERE email IS NOT NULL;
2.在Oracle数据库的逻辑结构中有以下组件:
A 表空间 B 数据块 C 区 D 段
这些组件从大到小依次是( )。
A. A→B→C→D
B. A→D→C→B
C. A→C→B→D
D. D→A→C→B
3. 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求( )
A. OracleHOME_NAMETNSListener
B. OracleServiceSID
C. OracleHOME_NAMEAgent
D. OracleHOME_NAMEHTTPServer
4. 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将( b )表空间分派给用户作为默认表空间SHL AX,2
A. USER
B. SYSTEM
C. SYS
D. DEFAULT
5. 在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值( ).
A. SELECT ename, NVL(comm, 0) FROM emp;
B. SELECT ename, NULL(comm, 0) FROM emp;
C. SELECT ename, NULLIF(comm, 0) FROM emp;
D. SELECT ename, DECODE(comm, NULL, 0) FROM emp;
6. 在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增长的是( ).
A. select seq.ROWNUM from dual;
B. select seq.ROWID from dual;
C. select seq.CURRVAL from dual;
D. select seq.NEXTVAL from dual;
7. 在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句( )。
A. CLOSE
B. OPEN
C. FETCH
D. CURSOR
8.有表一的查询结果如下,该表为学生成绩表
select id,grade from student_grade
ID GRADE
-------- -----------
1 50
2 40
3 70
4 80
5 30
6 90
表二为补考成绩表
select id,grade from student_makeup
ID GRADE
-------- -----------
1 60
2 80
5 60
现在通过如下语句把补考成绩更新到成绩表中,并提交:
update student_grade s set s.grade =
(select t.grade from student_makeup t
where s.id=t.id);
commit;
请问之后查询:
select GRADE from student_grade where id = 3;结果为( )。
A. 0
B. 70
C. Null
D. 以上都不对
9.有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( )。
A. 10,10
B. 4,4
C. 10,4
D. 4,10
10.在Oracle中,下面用于限制分组函数的返回值的子句是( )。
A. WHERE
B. HAVING
C. ORDER BY
D. 无法限定分组函数的返回值
11.在Oracle中,一个用户拥有的所有数据库对象统称为( )。
A. 数据库
B. 模式
C. 表空间
D. 实例
12.在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)的函数有( )。
A. DATEPART
B. TO_CHAR
C. TRUNC
D. TIMPSTAMP
13.以下哪个命令可以查看order表的表结构( )。
A. SELECT * FROM order
B. DESC order
C. DROP TABLE order
D. CREATE TABLE order
14.可以唯一标记表中某一行的属性的是( )。
A. 外键
B. 非空约束
C. 主键
D. ID值
15.以下不属于DDL语句的是( )。
A. CREATE
B. ALTER
C. UPDATE
D. DROP
16.下面对Oracle事务描述不对的的是( )。
A. 事务具有原子性是不可再分的,要么一起成功要么一起失败
B. 一个事务中可以包含多条DML语句
C. 一个事务中可以包含多条DDL语句
D. DDL和DML语句的事务是自动提交
17.假如定义一个表的外键( )。
A. 通过create语句,在字段后面直接跟上foreign key
B. 通过create语句,在字段后面直接跟上foreign key references 表名 (主键字段名)
C. 通过alter语句,add constraints 约束名 foreign key (字段名) references 表名(字段名)
D. 通过create语句,在字段后面直接跟上references 表名 (主键字段名)
18.以下不属于组函数的是( )。
A. SUM()
B. MIN()
C. MAX()
D. NVL()
19.以下不属于Oracle数据类型的是( )。
A. number
B. date
C. varchar
D. varchar2
20.以下不属于DML语句的是( )。
A. REVOKE
B. UPDATE
C. INSERT
D. DELETE
二、填空题(具体规定。本大题共5道小题,每题2分,共10分)
1.SQL的中文含义为( )。
2.使用SELECT语句显示当前系统时间,显示格式为如:2023-03-25 20:13:43( )。
3.与事务有关的命令有( )、( )和( )。
4.求平均值的组函数为( )。
5.如何将表emp中name字段的长度修改为varchar2(100) (
)。
三 、简答题(每题5分 总分30分)
1. 数据库1,2,3 范式的概念与理解。
2. 简述什么是事务,以及事务的特点?
3. oracle中truncate和delete命令有何区别?
4. 解释FUNCTION,PROCEDURE和PACKAGE区别
5. DDL和DML分别代表什么?以及相应的命令有哪些?
四、 程序设计题(每题6分 总分30分)
参见如下表结构
出版社表:Publish
字段名称
数据类型
说明
ID
Char(2)
出版社代码
PName
Char(10)
出版社名称
图书表: BookInfo
字段名称
数据类型
说明
ID
Char(8)
图书编号
Bname
varchar2(128)
图书名称
PId
char(2)
出版社代码
Recommend
varchar2(128)
图书简介
AID
char(4)
作者编号
作者信息表:(Authorinfo)
字段名称
数据类型
说明
ID
char(4)
作者代号
Aname
varchar2(10)
作者名称
Sex
char(1)
性别
Age
number(3)
年龄
Major
varchar2(64)
文学方向
获奖名单表(Awardinfo)
字段名称
数据类型
说明
AwardDate
date
获奖日期
ID
char(4)
获奖人员
1.编写SQL语句,查询没有获奖的所有作者信息的SQL语句(提醒:可使用not in、not exists以及外关联三种方法中的任何一种方法)。
2、见“获奖名单”表,写出SQL语句,查询出在上一个月获奖的人员信息。
3、编写一个简朴的Oracle存储过程,根据输入的作者名称,查询该作者出版图书的数量.
4、 Oracle数据库表存在伪列rowid,请运用rowid编写一个SQL语句,从以下记录中找到唯一记录,并将其flag列更新为Y
No name sex flag
1 张三 1 N
1 张三 1 N
1 张三 1 N
5、Oracle中,有一张表t1,包含一个字段c1,数据类型为NUMBER(7,2),该字段允许为null值。规定写出相应的sql语句,查询该字段的值,假如为空值(NULL)则输出0。
展开阅读全文