《oracle数据库》练习题.pdf_第1页
《oracle数据库》练习题.pdf_第2页
《oracle数据库》练习题.pdf_第3页
《oracle数据库》练习题.pdf_第4页
《oracle数据库》练习题.pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习题4 1、 选择题(每题1分,共20分) 1. 有数据”oracle”分别存放到char(10)和varchar2(10)类型的字 段中,其实际存储长度为( ) A、 10 10 B、66 C、 10 6 D、 6 10 2.ORACLE数据库物理结构包括以下三种文件,以下不属于的是( ) A、系统文件 B、日志文件 C、数据文件 D、控制文件 3.下面四个语句中哪一个是正确的?( ) A、 SELECT * , ENAME FROM EMP; B、 DELETE * FROM EMP; C、 SELECT DISTINCT EMPNO ,HIREDATE FROM EMP; D、 SELECT ENAME|SAL AS “name” FROM EMP ; 4.更改oracle用户HR,使其变为不可用(锁定)状态( ) A、 UPDATE USER HR ACCOUNT DISABLE ; B、 UPDATE USER HR ACCOUNT LOCK ; C、 ALTER USER HR ACCOUNT LOCK ; D、 ALTER USER HR ACCOUNT DISABLE ; 5.在Oracle中,使用下列的语句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任务是( )。 A、 需要给出schema被除去的对象名 B、 指定了新的对象权限 C、 指定了新的系统权限 D、给Scott.inventory对象创建一个公用同义词parts 6. ORACLE中,用来判断列值是否为空的操作符是( ) A、 =NULL B、IS NULL C、 AS NULL D、 NULLIS 7.在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所 有单价在500以上的查询语句( ) A、SELECT * FROM CUSTOMER WHERE PRICE MORE THAN 500; B、SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *; C、SELECT * FROM CUSTOMER WHERE PRICE LIKE %500%; D、SELECT * FROM CUSTOMER WHERE PRICE=500; 8. 下列哪个命令是用于ORACLE中数据导出的 ( ) A、expB、imp C、input D、output 9.以下运算结果不为空值的是() A、12+NULL B、60*NULL C、NULLNULLD、12/(60+NULL) 10.若用户要连接数据库,则该用户必须拥有的权限是() A、create table B、create index C、create session D、connect 11授予删除任何表的系统权限(DROP ANY TABLE)给user1,并使 其能继续授该权限给其他用户,以下正确的SQL语句是() A、Grant drop any table to user1; B、Grant drop any table to user1 with admin option; C、Grant drop table to user1; D、Grant drop any table to user1 with check potion; 12.要以自身的模式创建私有同义词,用户必须拥有( )系统权 限。 A、CREATE PRIVATE SYNONYMB、CREATE PUBLIC SYNONYM C、CREATE SYNONYMD、CREATE ANY SYNONYM 13.删除emp表中所有数据,且可以rollback,以下语句哪个命令可以 实现( ) A、truncate table emp B、drop table emp C、delete * from emp D、delete from emp 14.当Select Into语句的返回没有数据时,将引发下列哪个异常?( ) A、No_Data_Found B、To_Many_Row C、Too_Many_Rows D、Invalid_Number 15.请将以下逻辑概念按照从大到小排序( ) A、数据库、段、表空间、区、块 B、数据库、表空间、段、区、 块 C、表空间、数据库、区、段、块 D、块、段、区、表空间、数据 库 16.如何向表空间中增加数据文件?( ) A、Altertablespacemzf adddatafilec:mzf2.ora size 50M; B、Alter databasemzf add datafile c:mzf2.ora size 50M; C、Alter datafile add c:mzf2.ora size 50M; D、Alter system add datafile c:mzf2.ora size 50M; 17.如何删除tester用户( ) A、 drop role tester;B、drop user tester; C、alter user tester; D、delete user tester; 18.如何删除students表中的所有记录( ) A、Drop table students; B、Delete from students; C、Alter table students; D、delete * from student; 19.公司中有多个部门和多名职员,每个职员只能属于一个部门,一 个部门可以有多名职员,从职员到部门的联系类型是( ) A、多对多 B、一对一 C、多对一 D、一对多 20.在Oracle中,下面用于限制分组函数的返回值的子句是()。 A、WHERE B、HAVING C、ORDER BY D、无法限定分组函数的 返回值 2、 填空题(每题1分,共10分) 1.数据完整性分为_完整性,_完整性和 _完整性 2. 修改表的结构,应该使用SQL语言的命令_ 3.在oracle中,连接数据库的命令_,显示表dept结构的命令 _,显示当前用户的命令_ 4. 权限是指执行特定类型sql命令或是访问其它方案对象的权利,包 括_和_两种。 5.数据控制语句DCL包含授权语句_和收回权限的语句 revoke。 6. 数据字典的三种前缀,dba 、 _ 和 _ 7.使用_关键字可以消除结果集的重复行 8.修改查询结果中的列标题,为表起别名,可以使用_字句 9.为scott用户下的emp表创建公用同义词semp的语句为 _ 10.使用_字句可以将两个或多个select查询的结果合并成一个 结果集。 11PL/SQL是一种块结果的语言,一个PL/SQL程序块可以划分为三个 部分:_、_和_。 12.删除用户自定义函数的命令_。 3、 判断题(每题1分,共12分) 1. 使用索引的主要目的是提高查询的速度。() 2. 视图是日志的一种() 3.控制文件的扩展名是.ctl() 4. 存储过程与触发器的主要区别就是,存储过程是由用户或应用程 序显示调用,而触发器是被事件自动触发。() 5.一个表空间中至少有一个数据文件。() 6.一个数据文件可以属于多个表空间() 7. 包头没有包体是可以独立存在的。() 8. For循环中,每循环一次,循环变量自动增加一个步长的值。() 9. 每个数据库逻辑上可以分为多个表空间( ) 10. 回收一个用户的系统权限后,该用户传递给其他用户的权限会自 动取消( ) 11.在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键 字,则 Oracle 就将SYSTEM表空间分配给用户作为默认表空间。( ) 12.oracle自动为表的主键或唯一键列创建唯一索引( ) 4、 简述题(每题3分,共9分) 1.简单列出几种当前流行的关系数据库系统? 2.列出oracle中的约束 3. 简述oracle数据库系统的体系结构 5、 程序题。(每题3分,共39分) Scott用户下有表emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,COMM ,DEPTNO)和表dept(DEPTNO ,DNAME,LOC),其中emp表为 雇员表,各字段的中文含义为:雇员表(雇员号,雇员名,职位,上级 编号,入职时间,月工资,奖金,部门号);dept表为部门表,各字段 的中文含义为:部门表(部门编号,部门名,部门所在地点)。 1. 创建表空间mysp1,文件大小6M,文件名可以复用,数据文件放 在d:mysp1.dbf。 2. 在mysp1表空间创建表myemp,字段名及类型内容同scott用户下 的emp。 3. 向myemp表中添加数据(8888,john,salesman, 7856,06-7月-1998,2300,200,10);将myemp表中所有的 岗位为salesman的员工的工资增加100;将myemp表中奖金 为空的数据删除。 4. 将myemp表中ENAME字段的数据类型改为varchar2(30); 为myemp表增加字段email,数据类型为varchar2(50),要求 该字段必须包含和.(点)字符; 5. 创建用户jisuan131,密码js123,授予jisuan131连接数据库, 完全访问emp表和dept表的权限。 6. 查询最高工资员工的名字,工作岗位 7. 显示empno为7844, 7839,123,456 的雇员情况? 8. 查询平均工资低于2000的部门名和它的平均工资,显示部门 名,平均工资? 9. 创建雇员信息视图viewxin,显示雇员号,雇员名,岗位,部门 名,地址,工资级别,并查询视图 10. 编写pl/sql 程序块,求各部门的人数,要求:如果人数都不为 0,则输出人数,如果某个部门人数为0,则输出“该部门没有 员工”(使用if 语句) 11. 创建用户自定义函数fun1,实现统计某岗位的平均工资 12. 创建存储过程pro_sum,该存储过程带一个字符型传入参数 vdeptno,实现统计某个部门人数并输出,然后依次实现执行10 号部门的人数。 13. 创建角色myrole,将连接数据库,创建表,创建用户,创建角 色,在任何模式修改表,完全访问emp表的权限赋予myrole。 答案 1、 选择题(20分) 1-5 CACCD 610 BDACC 11-15 BCDAB 1620 ABBCB 2、 填空题 1 实体域参照(引用) 2.alter table 3. Conn desc show user 4. 系统对象5.grant 6. User all 7.distinct 8. As 9. Create public synonym semp for scott.emp 10. Union 11.声明执行 异常处理 12.drop function 2 三判断题 110 YNYYY N YYYNYY 四简述题 1. 写出目前流行的数据库管理系统: Oracle、 mysql、sql server 、db2、ACCESS等 2. 简述oracle中约束的种类 主键,唯一,检查,外键,非空,默认 3. 简述oracle数据库系统的体系结构 (1)oracle 物理存储结构(外部结构),由数据文件 (datafile),控制文件(control files),重做日志文件 (redo log files)组成 (2)oracle 逻辑存储结构(内部结构),由表空间,表,约束条 件,分区,索引,用户,方案,同义词,权限、角色等组成 (3)Oracle的软件结构(实例),一系列oracle进程和驻留在内 存中的结构 五程序题。 1. 创建表空间mysp1,文件大小6M,文件名可以复用,数据文件 放在d:mysp1.dbf。 createtablespacemysp1 datafile d:mysp1.dbf size 6M reuse autoextend on next 5M maxsize 200M; 2. 在mysp1表空间创建表 myemp,字段名及类型内容同scott用户 下的emp。 Create table myemp as select * from scott.emp 3. 向myemp表中添加数据(8888,john,salesman,7856,06- 7月-1998,2300,200,10);将myemp表中所有的岗位 为salesman的员工的工资增加100;将myemp表中奖金为空的 数据删除。 Insert into myemp values((8888,john,salesman,7856,06- 7月-1998,2300,200,10); Update myemp set sal=sal+100 where job=SALESMAN; Delete from myemp where comm is null 4. 将myemp表中ENAME字段的数据类型改为varchar2(30);为 myemp表增加字段email,数据类型为varchar2(50),要求该 字段必须包含和.(点)字符; alter table employee modify ename varchar2(30); 5. 创建用户jisuan131,密码js123,授予jisuan131连接数据库,完 全访问emp表和dept表的权限。 create user jisuan131 identified by js123 default ; grant create session to jisuan131; grant all on scott.emp to jisuan131; grant all on scott.dept to jisuan131; 6. 查询最高工资员工的名字,工作岗位 selectename,job from emp where sal=(select max(sal) from emp ); 7. 显示empno为7844, 7839,123,456 的雇员情况? SELECT * from scott.emp where empnoin(7844,7839,123,456); 8. 查询平均工资低于2000的部门名和它的平均工资,显示部门 名,平均工资? select dname as 部门名,avg(sal)as 平均工资 from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno group by dname having avg(sal)2000; 9创建雇员信息视图viewxin,显示雇员号,雇员名,岗位,部门名, 地址,工资级别,并查询视图 Create view xin as select empno,ename,job,dname,loc from meemp,medept where myemp.deptno=mydept.deptno Select * from xin 9. 编写pl/sql 程序块,求各部门的人数,要求:如果人数都不为 0,则输出人数,如果某个部门人数为0,则输出“该部门没有 员工”(使用if 语句) declare v_rs number(2); v_shurvarchar2(20); v_svarchar2(20); begin v_s:= select count(*) into v_rs from scott.emp where deptno=v_s; ifv_rs=0 then dbms_output.put_l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论