1、 段D、段一表空间一区一数据块6.有数据” test”分别存放到char(10)和腹rch2(10)类型的字段中,其实际 存储长度为()A、 10 10 B、 4 4C、 10 4 D、4 107.SQL语句中修改表结构的命令是()。A、 MODIFY TABLE B、 MODIFY STRUCTUREC、 ALTER TABLE D、 ALTER STRUCTURE8.DELETE FROM S WHERE年龄60语句的功能是 。A、 从S表屮删除年龄大于60岁的记录B、 删除S表中所有数据C、 删除S表D、 删除S表的年龄列9.在SQL中,删除视图用 oA、DROP SCHEMA 命令 B
2、、CREATE TABLE 命令C、DROP VIEW 命令 D、DROP INDEX 命令10.下列哪个命令是用于ORACLE中数据导出的()A exp B imp C input D output11.ORACLE数据库物理结构包描以下三种文件,以下不属于的是()A、系统文件B、日志文件C、数据文件D、控制文件12.假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好XJ- TD_card字段添加约束,请问应该添加什么约 束( )A、primary key B check C、default D、not null13.H而四个语句屮哪一个
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 ;14.B、 TOO_MANY_ROWS当给一个冇主键的表屮插入垂复行时,将引发下列哪个异常?(C、 DUP_VAL_ON_INDEXD、 ZERO_DTVTDE15.下面哪个命令不属于数据操纵语言(DML)A、 NO_DATA_FOUNDA、 ALTER-B、 INSERTC、 UPDATED、 GRANT-16.
4、删除emp表中所有数据,且可以rollback,以下语句哪个命令可以实现()A、 truncate table empB、 drop table empC delete * from empD delete from emp17.更改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 ;18.INSERT INTO TEST VALU
5、ES ( &ID , &NAME);语句在执行时将()A、 编译错:提示变量未定义B、 运行错:提示不能识别符号C、 将值&H)和&NAME插入到表中D、 提示用户输入输入ID和NAME的值,再将输入值插入表屮19.在Oracle中,使用下列的语句:CREATE PUBLIC SYNONYM parts FOR Scott, inventory;完成的任务是( )oA、 需要给出schema被除去的对象名B、 指定了新的对象权限C、 指定了新的系统权限D、给Scott, inventory对象创建一个公用同义词parts20.在PL/SQL块中,以零作除数时会引发卜列()异常。A、 VALUE
6、_ERR0RB、 ZERO_DIVIDEC、 VALUE_D1V1DED、 ZER0_ERR0R二、 填空题(20分)1.运行sql脚本命令是 Start脚本 或脚本 2.显示当前用户名的命令 Show user 3.显示表emp的结构命令 Descemp 4.权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和 对彖权限 两种。5.pl/sql块为变量赋值不同于其它的编程语言,需要在等号前而加冒 号_6.定义变量v_name,该变量的数据类型与emp表的ename字段数据类型一 致,定义变量的语句是_ V name emp. ename%type _7.数据控制语句DCL
7、包含授权语句grant和_ Revoke _8.oracle屮的注释符号冇-和_/* */_9.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将_ system 表空间分配给用户作为默认表空间。10.写出数据库默认的两个用户的名称 system和sys 11.oracle数据库中的数据文件的扩展名是什么? dbf 12.控制文件的扩展名是什么? _ctl _13.写出PL/SQL程序的三个组成部分声明部分 、执行部分 和异常处理部分14.写出数据字典的三种前缀,三种前缀:DBA _ALL和_USER_15.Oracle数据库的存储结构分为物理结
8、构和逻辑结构 。三、 判断题(10分)1.索引的主要目标是提高访问的速度。(Y)2.包头没有包体是口J以独立存在的。3.OUT不是PL/SQL a程和函数的参数模式。(N)4.存储过程与触发器的主要区别就是,存储过程是由用户或应用程序显示调用,而触发器是被事件自动触发。5.提供对对象的公共访问不是同义词具有的用途(N)6.Trancate table学生,该语句表示删除学生表。7.创建视图的参数with read only,规定视图中不能执行插入、修改、删除和查询操作。8.创建对象类型使用create type语句(Y)9.PL/SQL程序块最终由关键字end结束。10.For循环中,每循环一
9、次,循环变量自动増加一个步长的值。四、 简答题(15分)1.列出oracle中索引的类型(5分)列出oracle中索引的类型(5分) 答:按照数据存储方式,可以分为B*树、反向索引、位图索引;按照索引列的个数分类,可以分为单列索引、复合索引; 按照索引列值的唯-性,可以分为唯一索引和非唯一索引。此外还有函数索引,全局索引,分区索引2.简单列出几种当前流行的关系数据库系统?(5分)答:Oracle,MySql,MsSql,DB2,Sybase.3.简单介绍表空间,并写出一种建立表空间的方法。表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间纽成 的。每个表空间对应操作系统中的-
10、个或多个数据文件,但每个数据文件只能属于 一个表空间。Create tablespace表空间名datafile数据文件名;五、 程序题(35分)Scott 用户下有表 emp (EMPXO, ENAME, JOB, MGR, HTREDATE,SAL, COMM , DEPTNO)和表 dept (DEPTNO , DNAME, LOC),其屮 emp 表为雇员表, 各字段的中文含义为:雇员表(雇员号,雇员名,职位,上级编号,入职时间, 月工资,奖金,部门号);dept表为部门表,各字段的中文含义为:部门表(部 门编号,部门名,部门所在地点)。1.创建表空间myspl,文件大小5M,文件名可
11、以复用,数据文件放在c:myspl. dbf。创建表空间myspl,文件大小5M,文件名可以复用,数据文件放在createtablespace myspl datafile myspl.dbf size 5m reuse unifonn size 128k;2.在myspl表空间创建表myemp,字段名及类型内容同scott用户下的emp。在myspl表空间创建表myemp,字段名及类型内容同scott用户下 的 empoCreate table myemp as select * from scott. emp default tablcspacc myspl3.修改myemp表将所有销售人
12、员(即职位job为销售salesman)的奖金comm加100修改myemp表将所有销售人员(即职位(job)为销售salesman) 的奖金(comm)加100Update myemp set comm二comm +100 where job= salcsman4.创建用户fox,密码fl23,授予fox连接数据库,完全访问emp表和dept 表的权限。创建用户fox,密码fl23,授予fox连接数据库,完全访问emp 表和dept表的权限。create user fox2 identified by f123;grant create session to fox;grant select
13、 on scott. emp to fox;5.使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同时还要满 足他们的姓名首字母为大写的J?使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同 时还要满足他们的姓名首字母为大写的J?select * from scott. emp where (sal500 or job二MANAGER) and ename like J%;6.使用enip表显示每个部门的每种岗位的员工的平均工资和最低工资? 使用emp表显示每个部门的每种岗位的员工的平均工资和最低工资?select deptno, job , avg(sal) a
14、s 平均工资,min(sal) as 最低工资 from emp group by deptno,job;7.编写PL/SQL程序块,实现查询某个雇员的岗位,用屮文显示岗位名称。CLERK 普员工,SALESMAN 销售,MANAGER 经理,ANALYST 分析师,PRESIDENT 总裁(使用case语句)编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位 名称。CLERK 普员工,SALESMAN销售,MANAGER 经理,ANALYST分析 师,PRESIDENT总裁(使用case语句)setserverout ondeclarev_jobscott. emp. job%t
15、ypc;v_shuchu varchar2 (30);Vempno varchar2 (20);beginVempno:二&empno;select job into v_job from scott. emp where empno二v_cmpno; casev_jobwhen CLERK then v_shuchu:=,得职位是:普通员工 when SALESMAN销售员=得职位是:经理;ANALYST分析师 else v_shuchu:=,总裁end case;dbms_output. put_line(v_empno | | v_shuchu);except!onwhormo_date
16、i_found thendbms_output. put_line C您输入的员工不存在!end;8.编写程序块,用PL/sql实现输出7369号员工的姓名。 编写程序块,用PL/sql实现输岀7369号员工的姓名。DeclareV name emp. ename%type;BeginSeiect ename into v_name from emp where empno=, 7369 ;Dbms_output. put_linc(v_namc)End;9.编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪 编写函数annual_incomec,实现输入雇员的姓名,返
17、回该雇员 的年薪create function annual incomec (name varchar2)return number isannual_salazy number(7, 2);-执行部分 selectsal*12+nvl (comm, 0) into annual salazy from emp where ename二name;returrmrmiml _sal azy;10.编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就 给该员工工资增加10%。编写一个过程,可以输入一个雇员名,如果该雇员的工资低于 2000,就给该员工工资增加10%。create o
18、r replace procedure sp_pro6(spName varchar2) is 定义v_salemp. sal%type;-执行selectsal into v_sal from emp where ename=spName;判断ifv_salMANAGER,)and ename like J%6使用emp表显示每个部门的每种岗位的员工的平均工资和最低 工资?select deptno, job , avg(sal) as 平均工资,min (sal) as 最低工资 from emp group by deptno,job;7.编写PL/SQL程序块,实现查询某个雇员的岗位,
19、用中文显示岗 位名称。CLERK 普员工,SALESMAN销售,MANAGER 经理,ANALYST分 析师,PRESIDENT总裁(使用case语句)=,得职位是:when J MANAGER? then v shuchu:二得职位是:else v_shuchu:whenno_datei_found thendbms_output. put_linc(,您输入的员工不存在!);V_name emp. ename%type;Select ename into v_name from emp where empno二,7369,; Dbms_output. put_line(v_name)9.编
20、写函数annual_incomec,实现输入雇员的姓名,返回该丿崔员 的年薪create function annual_incomec(name varchar2)armU31_s3bzy number (7, 2);-执彳亍部分selectsal*12+nv1 (comm, 0) into annual_salazy from emp where ename=name;rcturna rm U31_s3bzy;/10.编写一个过程,可以输入一个雇员名,如果该雇员的工资低于 2000,就给该员工工资壇加10%。create or replace procedure sp_pro6(spNamc varchar2) is定义sclcctsal into v_sal from emp where cname=spNamc;判断 _updateemp set sal二sal+sal*10% where ename=spame; end if;11.创建角色my role,将连接数据库,创建表,创建用户,创建角 色,在任何模式修改表,完全访问emp表的权限赋予myroleocreate role myrole;grant create session,createtable, createuser, createrole, alter any table to myrolc;revo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1