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

付费下载

下载本文档

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

文档简介

Oracle数据库应用 1、 选择题 1. 在Windows操作系统中,Oracle的_服务监听并接受来自客户端 应用程序的连接请求。 A、OracleHOME_NAMETNSListener B、OracleServiceSID C、OracleHOME_NAMEAgent D、OracleHOME_NAMEHTTPServer 2. ORACLE中,用来判断列值是否为空的操作符是_ A、=NULL B、IS NULL C、 AS NULL D、 NULLIS 3. 在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; 4. 在Oracle中,使用HAVING子句也可以进行条件查询,以下选项说法 是正确的是_. A、 HAVING子句和WHERE子句相同 B、 HAVING子句用于行的条件 查询 C、 HAVING子句用于已分组结果的条件查询 D、以上皆非 5. 在安装oracle时,自动开启了的账号是( ) A、System B、Sa C、Scott D、Administrator 6. 下列哪一项是Oracle数据库中最小的存储分配单元( ) A、 表空间 B、段 C、盘区 D、数据块 7. ( )是一个很小的二进制文件,它维护着数据库的全局物理结 构,用以支持数据库成功地启动和运行。创建数据库时,同时就提 供了与之对应的控制文件。 A、数据文件 B、控制文件 C、重做日志文件 D、以上都不对 8. 若用户要连接数据库,则该用户必须拥有的权限是() A、create table B、create index C、create session D、create user 9. 授予删除任何表的系统权限(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 grant potion; 10. 数据库中有两个用户scott和muuser,物资表wz是属于myuser用户 的,但当前用户是scott,要求查询物资表wz(wno,wname, wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记 录显示,以下正确的SQL语句是() A、select * from scott.wz where wunit is null and rownumselectceil(97.34),floor(97.34),round(97.34),trunc(97.34) from dual; 下列哪个函数不返回结果-97?( ) A、 ceil() B、floor() C、round() D、 trunc() 20. 以下哪个选项不是建立新的表空间时必须要确定的?( ) A、数据文件 B、表空间名称 C、数据文件的大小 D、数据文件最 大值 2、 填空题 1. Oracle中运行指定的文件命令是_ 文件名_ 2. Oracle数据库系统的物理存储结构主要有3类文件组成,分别是 _数据文件_、_重做日志文件_和控制文件。 3. 每个Oracle数据库都有一个或多个_物理数据文件(data file)_。 4. 在Oracle中,使用_ desc_命令可显示表的结构,使用_ commit_命令可提交对表数据的修改。 5. Oracle中,进行逻辑备份与恢复时使用的导出命令是_ EXP _;导入命令是_IMP_。 6. 一个PL/SQL程序块可以划分为三个部分:_声明部分_、 _执行部分和异常处理部分_ 7. 创建表employee的副本,包含表中全部记录:CREATE TABLEemployee_copy AS_select * from employee _; 8. 创建用户自定义函数可以使用_ Create function_语句。 9. 显示游标首先要_ 定义 _,在使用时要_打开 _,使用完毕后要_关闭_。 10. 包的创建分为_包头_的创建和_包体_的 创建两部分。 11. 过程参数和函数参数一样,也有三种类型,分别是in,_ out _和_ in out _。 3、 判断题 1. 回收一个用户的系统权限后,该用户传递给其他用户的权限会自 动取消( ) 2. 视图是索引的另一种形式() 3. 一个数据文件可以隶属于不同表空间() 4. 对students表空间中的数据文件进行备份,students表空间可以 处于online状态() 5. 在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字, 则Oracle就将system表空间分配给用户作为默认表空间。() 6. 可以使用CURRVAL和NEXTVAL伪列来访问序列。() 7. 以零作除数时会引发value_errror异常 () 8. 触发器是一个被指定关联到一个表的数据对象,触发器是不需要 调用的。() 9. 创建用户时,需要赋予新用户connect角色就能使它连上数据 库。() 10. WITH CHECK OPTION表示使用视图更新数据时应满足视图定义中 设置的条件 () 4、 简答题 1. 简述数据完整性的分类(3分) 答:实体完整性 域完整性和参照完整性 2. 简述PL/SQL语言的组成(3分) 数据定义语句(create alter drop ) 数据操纵语句(insert update delete select) l 数据控制语句(grant revoke )。 3. 简单介绍表空间,并写出一种建立表空间的方法。(4分) 答:表空间是Oracle逻辑存储结构的最高层,一个数据库就是若 干个表空间组成的。每个表空间对应操作系统中的一个或多个数据文 件,但每个数据文件只能属于一个表空间。 Create tablespace表空间名datafile 数据文件名; 5、 程序题(40分,2题4分,其余每题3分) Scott用户下有表emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,COMM ,DEPTNO)和表dept(DEPTNO ,DNAME,LOC)其中emp表为 雇员表,各字段的中文含义为:雇员表(雇员号,雇员名,职位,上 级编号,入职时间,月工资,奖金,部门号)dept表为部门表,各字 段的中文含义为:部门表(部门编号,部门名,部门所在地点) 1 创建表空间data1,该表空间有两个数据文件data1和 data2,初始大小分别是10M和20M。 创建表空间data,该表空间有两个数据文件data1和 data2,初始大小分别是10M和20M。 createtablespace data datafile c:data1.dbf size 10M reuse,c:data2.dbf size 20M reuse autoextend off; 2 在data1表空间中创建部门表mydept的,要求deptno为字符 型数据,长度为2,主键;dname字符型数据,长度为10,唯 一;loc字符型数据,长度4,只能是北京,上海,天津。 在data表空间中创建部门表mydept的,要求deptno为字符 型数据,长度为2,主键;dname字符型数据,长度为10,唯一; loc字符型数据,长度4,只能是北京,上海,天津。 Create table mydept(deptno varchar2(2) primary key,dname char(10) unique,log varchar2(4) check(loc in (北 京,上海,天津) 3 在data1表空间创建表myemp,字段名及类型内容同scott用 户下的emp 在data表空间创建表myemp,字段名及类型内容同scott用 户下的emp Create tablemyemp as select * from scott.emp default tablespace data1 4 将所有销售人员(即职位为销售salesman)的奖金加100 将所有销售人员(即职位为销售salesman)的奖金加 100 Update myemp set comm=comm+100 WHERE JOB=salesman 5 修改myemp表,增加性别字段,性别字段默认为男,性别字 段的值只能是男或女 修改myemp表,增加性别字段,性别字段默认为男,性别 字段的值只能是男或女 ALTER TABLE MYEMP add sex char(2) default 男 check(性别=男 or 性别=女) 6 查询myemp表,显示第三个字符为大写O的所有员工的姓名和 工资? 查询myemp表,显示第三个字符为大写O的所有员工的姓名和 工资? selectename,sal from scott.emp where ename like _O%; 7 查询myem表,显示每个部门的每种岗位的平均工资和最低工 资? 查询myem表,显示每个部门的每种岗位的平均工资和最 低工资? selectdeptno,job,max(sal),avg(sal) from myemp group by job,deptno; 8 查询平均工资低于2000的部门名和它的平均工资? 查询平均工资低于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 创建只读的雇员信息视图xin,显示雇员号,雇员名,岗 位,部门名,地址,工资级别,并查询视图 创建只读的雇员信息视图xin,显示雇员号,雇员名, 岗位,部门名,地址,并查询视图 Create view xin as select empno,ename,job,dname, loc from meemp,medept where myemp.deptno=mydept.deptno Select * from xin 10 创建用户myuser,密码m123,授予myuser连接数据库,创 建表的系统权限,并能够级联授权。 创建用户myuser,密码m123,授予myuser连接数据库, 创建表的系统权限,并能够级联授权。E Create user myuser identified by m123; Grant create session,create table to myuser with admin option; 11 授予myuser查询,修改,删除scott用户的emp表的权限, 并能够级联授权。 授予myuser查询,修改,删除scott用户的emp表的权 限,并能够级联授权。 Grant select ,update,delete on scott.emp to myuser with grant option 12 创建存储过程pro_sum,该存储过程输入参数vdeptno,实现 统计某个部门人数并输出,执行该过程,显示10号部门的人 数。 创建存储过程pro_sum,该存储过程输入参数vdeptno, 实现统计某个部门人数并输出,执行该过程,显示 10号部门的人 数。 Create or replace procedure pro_sum(vdeptno in varchar2) As V_rsnumber(3); Begin Select count(*) into v_rs from emp where deptno=vdeptno; Dbms_output.put_line(v_rs) End; Exec pro_sum(10) 13 创建一个system方案中的函数fn1,函数的作用为:将指定 empno号的记录中的sal字段值乘以1.05。 答:create or replace function system.fn1(v_idscott.emp.empno% type) return number as new_salaryscott.emp.sal% type; begin selectsal into new_salary fromscott.emp where empno=v_id; new_salary:=new_salary*1.05; returnnew_salary; end; 参考 答案 1、 选择题(20分) 1-5 ABDCA 610 DBCBC 11 -15BBBCD 1620 BBDAD 2、 填空题(20分) 文件名 2. 数据文件重做日志文件 3. 物理数据文件(data file) 4. desc 12. Updata 5. EXPIMP 6.声明部分、执行部分和异常处理部 分。 7. select * from employee 8. Create function 9. 定义打开关闭 10. 包头包体 11. out 和 in out 3、 判断题(10分) 1-10 4、 简答题(10分) 1.简述数据完整性的分类(3分) 答:实体完整性 域完整性和参照完整性 2.简述PL/SQL语言的组成(3分) 数据定义语句(create alter drop ) 数据操纵语句(insert update delete select) 数据控制语句(grant revoke )。 3.简单介绍表空间,并写出一种建立表空间的方法。(4分) 答:表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个 表空间组成的。每个表空间对应操作系统中的一个或多个数据文件, 但每个数据文件只能属于一个表空间。 Create tablespace表空间名datafile 数据文件名; 5、 程序题(40分,2题4分,其余每题3分) 1 创建表空间data,该表空间有两个数据文件data1和data2,初 始大小分别是10M和20M。 createtablespace data datafile c:data1.dbf size 10M reuse,c:data2.dbf size 20M reuse autoextend off; 2 在data表空间中创建部门表mydept的,要求deptno为字符型 数据,长度为2,主键;dname字符型数据,长度为10,唯 一;loc字符型数据,长度4,只能是北京,上海,天津。 Create table mydept(deptno varchar2(2) primary key,dname char(10) unique,log varchar2(4) check(loc in (北 京,上海,天津) 3 在data表空间创建表myemp,字段名及类型内容同scott用户 下的emp Create tablemyemp as select * from scott.emp default tablespace data1 4 将所有销售人员(即职位为销售salesman)的奖金加100 Update myemp set comm=comm+100 WHERE JOB=salesman 5 修改myemp表,增加性别字段,性别字段默认为男,性别字 段的值只能是男或女 ALTER TABLE MYEMP add sex char(2) default 男 check(性别=男 or 性别=女) 6 查询myemp表,显示第三个字符为大写O的所有员工的姓名和 工资? selectename,sal from scott.emp where ename like _O%; 7 查询myem表,显示每个部门的每种岗位的平均工资和最低工 资? selectdeptno,job,max(sal),avg(sal) from myemp group by job,deptno; 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 创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位, 部门名,地址,并查询视图 Create view xin as select empno,ename,job,dname,loc from meemp,medept where myemp.deptno=mydept.deptno Select * from xin 10

温馨提示

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

评论

0/150

提交评论