大型数据库技术-期末考试样题

一、选择题样题:

1.有4条与游标有关的语句,它们在程序中出现的正确顺序是:( )B

  1. OPEN abc
  2. CURSOR abc IS SELECT ename FROM emp
  3. FETCH abc INTO vname
  4. CLOSE abc
    A.1、2、3、4 B.2、1、3、4
    C.2、3、1、4 D.1、3、2、4
    2.数据库运行在归档模式下,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪个进程?( )D
    A.DBWR 数据库写进程 B.LGWR 日志写进程
    C.SMON 系统监视器 D.ARCH 归档进程
    3.对于ROLLBACK命令,以下准确的说法是:( )C
    A.撤销刚刚进行的数据修改操作
    B.撤销本次登录以来所有的数据修改
    C.撤销到上次执行提交或回退操作的点
    D.撤销上一个COMMIT命令
    4.创建表空间时,可以指定表空间中存储对象的默认存储参数,其中哪个参数用于设置分配给每一个对象的初始区大小( )B
    A.NEXT B.INITIAL
    C.PCTINCREASE D.MINEXTENTS
    5.现将CONNECT 角色授予TEXT_ROLE角色,下面哪个语句可以实现( )D
    A.GRANT ROLE CONNECT ON TEST_ROLE;
    B.GRANT ROLE CONNECT TO TEST_ROLE;
    C.GRANT CONNECT ON TEST_ROLE;
    D.GRANT CONNECT TO TEST_ROLE;

请添加图片描述

二、填空题样题:

1.Oracle数据库系统的物理存储结构主要有三类文件组成,分别: 数据文件日志文件控制文件 。逻辑存储结构包括 (数据库)、表空间、(逻辑对象)、数据段、数据区间、数据块。

请添加图片描述
2.SQL*Plus中直接调用过程的关键字是 exec ;查询中去掉重复的行,必须使用的关键字是 distinct ; 关键字 describe 可以用来显示表的结构信息。
3.使用EXPORT命令时,可以有3种不同方式导出数据,表方式就是导出一个指定的基本表,包括表的定义和数据及表上的索引、约束等。 用户 方式是导出一个用户的所有对象,包括表、视图、存储过程、序列等。 整个数据库 是导出数据库中所有的对象。
4.在ORACLE数据库中,将权限分为两类即 系统权限 和 用户权限 ,分别指在系统级控制数据库的存取和使用机制和在模式对象上控制存取和使用的机制。

三、判断题样题

1.INSERT事件触发器中可以使用:old伪记录;DELETE事件触发器中可以使用:new伪记录。全错//UPDATE事件触发器中,可以使用“:old”伪记录 ( F )
2.后台进程LGWR的作用是数据库写入程序。 //日志写入程序 ( F )
3.Alter user tempuser Identified by oracle Default tablespace users Default temporary tablsespace temp Quota 100M on users ( F )
4.SQL*PLUS中,显示登录的用户的命令是DESCRIB user。//SHOW user ( F )
5.默认登录Oracle Enterprise Manager Database Control 的端口号是1158。 ( T )

四、简答题样题:

1.How to connect remote oracle server by SQLPLUS? Please write down the steps and the operating statements?
如何使用SQL
PLUS连接远程oracle服务器?请写下操作步骤和操作说明?

在这里插入图片描述

2.What is the difference between procedures and functions in the Oracle database?
// Oracle数据库中的过程和函数有什么不同
1.过程可以有0-N个返回参数,通过OUT OR IN OUT参数返回,函数有且仅有一个返回值,通过return语句返回。
2.调用过程时,可作为单独的语句执行;调用函数时,函数必须把返回结果赋值给一个变量。
3.在SQL语句中,可以不能调用过程;可以直接调用函数。

过程没有返回值,函数必须有且仅有一个返回值,通过return语句返回。
调用过程时,可作为单独的语句执行;调用函数时,函数必须把返回结果赋值给一个变量。
在SQL语句中,不能调用过程;可以直接调用函数。

3.读懂如下程序:
CREATE OR REPLACE FUNCTION ret_deptinfo(
p_deptno dept.deptno%TYPE, p_num OUT NUMBER, p_max OUT NUMBER)
RETURN dept.dname%TYPE
AS
v_dname dept.dname%TYPE;
BEGIN
SELECT dname INTO v_dname FROM dept WHERE deptno=p_deptno;
SELECT count(*),max(sal) INTO p_num,p_max FROM emp WHERE deptno=p_deptno;
RETURN v_dname;
END ret_deptinfo;
分析程序实现的功能:
按照部门号查询该部门的总人数、最高工资,同时返回该部门的部门名称
4.输入和运行以下程序:
CREATE OR REPLACE TRIGGER CHECK_SAL
BEFORE UPDATE ON emp
FOR EACH ROW
BEGIN
IF :new.job=‘CLERK’ AND (:new.sal<500 OR :new.sal>1000) THEN
RAISE_APPLICATION_ERROR(-20001, ‘工资修改超出范围,操作取消!’);
END IF;
END;
分析程序实现的功能:
在对 emp 执行更新操作前先判断如果更新的职位为’CLERK’且输入的工资小于200或大于1000则出错。
为emp表的’CLERK’职位的工资添加约束条件:大于500小于1000

五、设计题样题:

1、创建一个存储过程,以部门号为参数,查询该部门的平均工资,并输出该部门中比平均工资高的员工号、员工名。并且调用该存储过程,要求根据输入部门编号,查询平均工资及输出比平均工资高的员工号、员工名。
CREATE OR REPLACE PROCEDURE show_emp( p_deptno emp.deptno%TYPE)
AS
v_sal emp.sal%TYPE;
BEGIN
SELECT avg(sal) INTO v_sal FROM emp WHERE deptno=p_deptno;
DBMS_OUTPUT.PUT_LINE(p_deptno||’ ‘||‘average salary is:’ ||v_sal);
FOR v_emp IN (SELECT * FROM emp WHERE deptno=p_deptno AND sal>v_sal) LOOP
DBMS_OUTPUT.PUT_LINE(v_emp.empno||’ '||v_emp.ename);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(‘The department doesn’’t exists!’);
END show_emp;

过程调用语句:
declare
vdeptno emp.detpno%type;
Begin
vdeptno:=&deptno;
show_emp(vdeptno);
End;
2、创建一个函数,以部门号为参数,返回部门名、部门人数及部门平均工资。并且调用该函数,输出所有有员工的部门的名称、部门人数和平均工资。
CREATE OR REPLACE FUNCTION ret_deptinfo( p_deptno dept.deptno%TYPE,
p_num OUT NUMBER, p_avg OUT NUMBER)
RETURN dept.dname%TYPE
AS
v_dname dept.dname%TYPE;
BEGIN
SELECT dname INTO v_dname FROM dept WHERE deptno=p_deptno;
SELECT count(*),avg(sal) INTO p_num,p_avg FROM emp WHERE deptno=p_deptno;
RETURN v_dname;
END ret_deptinfo;
函数调用语句:
DECLARE
v_avgsal emp.sal%TYPE;
v_num NUMBER;
v_dname dept.dname%TYPE;
BEGIN
FOR v_dept IN (SELECT DISTINCT deptno FROM emp) LOOP
v_dname:=ret_deptinfo(v_dept.deptno,v_num,v_avgsal);
DBMS_OUTPUT.PUT_LINE(v_dname||’ ‘||v_maxsal||’ ‘|| v_avgsal||’ '||v_num);
END LOOP;
END;

3、创建学生表student(sno,sname,sex,sage),要求学号sno主键,姓名sname不能重复, 性别sex只能是‘男’或者‘女’,年龄sage在15到25之间。创建课程表course(cno,cname),要求课程号cno主键,课程名cname唯一,同时为主键约束列上的唯一性索引设置存储位置和存储参数。创建学生选课表SC(sno,cno,grade),要求成绩grade大于0小于100,有两位小数,sno,cno都是外键,而且sno,cno一起做主键。
CREATE TABLE student(
sno NUMBER(6) CONSTRAINT S_PK PRIMARY KEY,
sname VARCHAR2(20) UNIQUE,
sex CHAR(2) CONSTRAINT S_CK1 CHECK(sex in(‘男’, ‘女’)),
sage NUMBER(6,2) CONSTRAINT S_CK2 CHECK(sage between 15 and 25)
);
CREATE TABLE course(
cno NUMBER(6) PRIMARY KEY,
cname CHAR(20) UNIQUE
USING INDEX TABLESPACE USER
STORAGE (INITIAL 64K NEXT 64K)
);
CREATE TABLE SC(
sno NUMBER(6) REFERENCES student(sno),
cno NUMBER(6) REFERENCES course(cno),
grade NUMBER(5,2) CHECK(grade between 0 and100),
CONSTRAINT SC_PK PRIMARY KEY(sno, cno)
);

4、创建用户user2,口令为user2,默认表空间为USERS,在该表空间的配额为10 MB,初始状态为锁定。创建用户user3,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,概要文件为example_profile(假设该概要文件已经创建),为用户user2授予CREATE SESSION,CREATE TABLE ,CREATE VIEW系统权限。user2获得权限后,为用户user3授予CREATE TABLE权限。然后回收user2的CREATE TABLE权限。
SQL> conn system/oracle@orcl 或者 conn / as sysdba 仅供参考,正确就行
SQL>CREATE USER user2IDENTIFIED BY user2
DEFAULT TABLESPACE USERS QUOTA 10M ON USERS
ACCOUNT LOCK;
SQL> CREATE USER user3 IDENTIFIED BY user3
DEFAULT TABLESPACE USERS
QUOTA 10M ON USERS
PROFILE example_profile ;
SQL> GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW
TO user2 WITH ADMIN OPTION;
SQL> CONNECT user2/user2 @ORCL
SQL> GRANT CREATE TABLE TO user3;
SQL> conn system/oracle@orcl 或者 conn / as sysdba
SQL> revoke CREATE TABLE from user2;

5、使用EXPDP导出scott模式相关数据,并使用IMPDP 将刚刚导出的scott模式相关数据导入到system模式,写出核心操作语句。
1、创建DIRECTORY :create directory dir_dp as ‘D:/oracle/dir_dp’;
2、授权 :Grant read,write on directory dir_dp to scott;
3、执行导出
expdp scott/tiger@orcl schemas=scott directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
4、执行导入
impdp system/oracle@orcl directory=dir_dp dumpfile =expdp_test1.dmp remap_schema=scott:system logfile=impdp_test1.log;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 数据库SQL期末考试题库是一个集合了各种数据库相关的问题和答案的资源。这个题库可以用于帮助学生复习数据库SQL的知识,并准备期末考试。 题库中通常会包含不同难度和不同类型的题目,涵盖了数据库SQL的各个方面,如数据查询、数据插入、数据更新、数据删除、表的创建和修改、索引和视图等。 使用这个题库进行复习可以帮助学生加深对数据库SQL相关概念和操作的理解。通过学习题库中的问题和答案,学生可以锻炼自己对SQL语法的掌握能力,并提高解决问题的能力。 在准备期末考试时,可以选择逐题进行复习,逐渐提高自己的理解和应用能力。学生可以通过做题的练习掌握不同操作的语法和逻辑,加深对关系型数据库的理解,提升自己的解题能力。 此外,学生还可以通过挑选题目分析考察特点,进行重点复习,提升对数据库SQL的综合运用能力。 综上所述,数据库SQL期末考试题库是一个重要的复习资源,可以帮助学生巩固数据库SQL的概念和操作,提高解决问题的能力,为成功完成期末考试做好准备。 ### 回答2: 数据库SQL期末考试题库是为了衡量学生对数据库SQL知识的掌握程度而设计的题目集合。该题库包含了各个难度级别的问题,涵盖了数据库的各个方面,如数据查询、数据编辑、数据更新、数据删除、数据插入、数据排序、数据过滤、数据聚合等等。学生需要通过答题来展示他们对这些知识的理解和应用能力。 这份题库中的问题通过一定的编写规则和标准化设计,以确保每个问题的准确性和科学性。题库中的问题涵盖了基本的SQL语句和高级的SQL语法,学生需要通过解决这些问题来展示他们对SQL语言的掌握程度。这些问题可以是选择题、填空题、计算题等等,考察学生对SQL语言使用的熟练度和灵活性。 考试的方式可以以闭卷形式进行,学生需要在规定的时间内完成所有问题的答题。通过这次考试,教师可以评估学生对数据库SQL知识的掌握程度,进一步指导学生的学习和提高。同时,学生也能通过这次考试检验自己的学习成果,找到自己的不足并加以改进。 对于数据库专业的学生来说,数据库SQL期末考试题库是一份重要的学习资料,它能够帮助学生巩固并提高自己的SQL语言能力。通过反复的练习和答题,学生可以更好地理解和掌握SQL语言,增加对数据库的操作和管理的实践经验。 ### 回答3: 数据库SQL期末考试题库是指收集整理了一系列与数据库SQL相关的考试题目的资源库。在数据库课程中,学生需要通过期末考试来检验他们对SQL语言的掌握程度和在实际情境中应用SQL进行数据处理和管理的能力。 题库中的问题通常覆盖SQL语法的各个方面,包括但不限于数据库的查询、插入、更新和删除操作,DDL和DML语句的使用,数据库的设计与规范化,索引的创建与使用,事务的管理以及复杂查询的实现等。通过做题,学生能够更好地理解和运用SQL语言,提高数据库管理和数据处理的能力。 数据库SQL期末考试题库的设计对于学生的学习和复习非常有帮助。学生可以通过自主学习和解答题目,加深对SQL语言的理解和记忆,并在实际操作中锻炼应用能力。另外,题库中的问题也能帮助学生熟悉考试中常见的题型,并针对性地进行复习和备考。 对于教师来说,数据库SQL期末考试题库是个很好的教学辅助工具。教师可以根据题库提供的题目,设计出更具难度和挑战性的考试试卷,帮助学生充分应用SQL语言解决实际问题的能力,并评估学生的学习情况和掌握程度。 总之,数据库SQL期末考试题库是一个对学生和教师都有益处的资源,通过做题可以帮助学生提高SQL语言的应用能力和理解深度,同时也为教师提供了辅助教学和评估学生的手段。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我慢慢地也过来了

谢谢大佬的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值