数据库系统实验(4)

2019-04-16 21:25

7. 选用合适的create语句和select语句完成§2.3的第六步,可参见§2.4的第一部分。 注意:使用create view语句时,注意视图中出现的列名的设计及其与查询产生的列或

计算结果的对应关系

8. 在进行§2.3的第七步之前,先以Scott身份进入SQL*PLUS,在SQL>提示符下键入DESC emp命令(或select * from emp;)命令来了解用户scott拥有的表emp的结构;使用grant语句向自己的用户授予对表emp的所有操作权限制(具体方法参见§1.1);再以自己的用户身份连接到数据库(具体方法参见§1.1)。再选用合适的create语句和select语句完成§2.3的第七步,可参见§2.4的第一部分。

注意:在使用“create table 新表名 as select * from 其它表名”来创建表时,必

须在属于其它用户的其它表名前加拥有者标识:拥有者. 例如:scott.emp

2.6实验报告要求

实验报告的内容包括: (1)实验名称 (2)实验目的 (3)实验内容 (4)实验环境

(5)实验过程,列出主要的SQL语句

(6)实验结果、分析与体会:包括实验结果分析,实验过程中所遇到的问题和解决的办法,解决问题的过程中得到的经验和体会。

14

第三章 实验二 DBMS的数据库保护

3.1实验目的

(1) 巩固事务的概念

(2) 正确理解并发及锁机制 (3) 熟悉DBMS的安全控制

3.2相关章节

第七章

3.3实验内容及要求

一. 创建用户U1和U2

二. 对系统中scott用户的员工(emp)表,用授权机制完成以下存取控制

(1) 所有用户具有对员工编号empno、姓名ename和所在部门deptno的查询权限。

(2) 使用户U1拥有对表emp的删除权限和对奖金(comm)的修改权限,并具备转授这些

权限的权力。

(3) 用户U1授予用户U2对员工表的删除权限。 (4) 回收用户U1和用户U2对员工表的删除权限。

三. 为自己的用户授予对scott用户的员工表EMP的所有操作权 四. 观察多事务并发时的数据库保护

(1)分别以scott和自己的用户名登录到SQL PLUS,并分别输入命令set auto off。 (2)scott将emp表中10号部门所有员工工资(sal)增加200元,此即事务1。

(3)自己的用户将emp表中工号以77开头的员工工资增加300元,此即事务2。 (4)观察发生什么现象,分析为什么,找出解决办法。

(5)scott分别输入commit和rollback命令时,观察两个SQL * Plus界面的信息及变化,并用select语句查看将emp表中的sal属性的值的变化。

15

3.4 实验环境

硬件:微机

软件:ORACLE 8i或9i

3.5 实验指导

一. 相关概念

(1) DBMS的数据库保护功能

DBMS的数据库保护功能包括:安全控制、完整性控制、并发控制、备份与恢复等。 后两项都属于事务管理。安全控制防止非法用户对数据库的访问和破坏;完整性控制防止合法用户错误地操作数据库;事务是DBMS的最小执行单位,由有限的操作序列组成,事务的执行和调度要满足ACID(原子性、一致性、隔离性和持久性)准则;并发控制使得ACID在多事务并发时仍得到满足;备份与恢复使得ACID在故障时仍得到满足。完整性控制已在实验一中体现,本实验重点体会安全控制和并发控制。 (2) 安全控制中的访问控制机制

用户和权限是访问控制机制的两个主要概念。

Oracle有三类用户:一般数据库用户(connect)、具有支配部分数据库资源特权的数据库

用户(resource)和具有数据库管理员特权的数据库用户(DBA),只有DBA具有创建用户的权力。

Oracle有两大类权限:系统权限和对象权限。系统权限由DBA授予;对象权限是对数

据对象的操作权,由DBA或对象的拥有者授予。

授权语句:权限的授予(GRANT)、转授(WITH GRANT OPTION)、回收(REVOKE)。 详见参见§1.1的六、教材第七章、课件、

(3) 事务的提交与回滚:参见§1.1的十

(4) 并发控制的锁机制

并发控制的锁机制:先加锁,后操作;常用的锁类型:X(排他型)、S(共享型)。 在一个事务拥有某个数据的X锁期间,其它事务不能对此数据做任何操作。

当某事务拥有某个数据的S锁期间,允许其它事务读(select)此数据,不允许任何更新。

二. 实验步骤及注意事项

1. 参见§1.1完成§3.3的第一步。

2. 在进行§3.3的第二步之前,应以scott身份进入SQL*PLUS,再参见§1.1中的授权语句,§3.3的第二步的各项授权。 注意:- scott的口令是:tiger

- “所有用户”用public表示

- 在进行§3.3的第二步的(1)时,由于oracle不支持授予对部分属性的查询权限的功能,因此需先创建查询对empno、ename和deptno的视图,再将对该视

16

图的查询权授给所有用户(即oracle中的public)

- Oracle支持连锁回收,转授的权限随转授者相应权限的回收而自动回收 - 完成上述的每一项授权后,可以以被授权用户的身份尝试使用该权限

3. 参见§1.1的六完成§3.3的第三步 4. 完成§3.3的第四步

注意:- 第四步的(1)中“分别以scott和自己的用户名登录到数据库”是指分别以这两

个用户共两次进入SQL * Plus,各自具有一个SQL * Plus界面。 - set auto off是将事务的提交置为手工方式(参见§1.1) - 第四步的(2)应在scott 的SQL * Plus界面完成,键入语句并回车后,该SQL * Plus界面上会显示已更新的记录数。

- 此时用select语句查看将emp表中的sal属性的值的变化。 - 第四步的(3)应在scott 的SQL * Plus界面完成,键入语句并回车后,该SQL * Plus界面会无任何反应。 - 对于上述现象的解释,需要回顾并发控制的锁机制中锁类型、申请锁、加锁、操作数据对象、释放锁的时机和条件(参见§3.5的第一部分)。 - 对于上述问题的解决,需要回顾事务显式结束的方式(提交或回滚)(参见§3.5的第一部分),再结合锁机制,在合适的SQL * Plus界面输入合适的事务结束命令。

- 在第四步的(5)中,当scott输入commit时意味着成功提交事务,输入rollback命令时意味着撤销事务,两者都会释放已拥有的锁,但是对数据库中数据的影响不同。

3.6实验报告要求

实验报告的内容包括: (1)实验名称 (2)实验目的 (3)实验内容 (4)实验环境

(5)实验过程,列出主要的SQL语句

(6)实验结果、分析与体会:包括实验结果分析(要重点描述§3.3的第四步中(2)~ (5)的直观结果和分析的结论),实验过程中所遇到的问题和解决的办法,解决问题的过程中得到的经验和体会。

17

第四章 实验三 小型MIS的开发

4.1实验目的

(1) 了解C/S结构的DBS的开发思路和过程 (2) 理解ODBC的作用

(3) 学习Delphi的数据库访问方法和表单Form的制作方法

4.2相关章节

第八章

4.3实验内容及要求

按照软件工程的规范,以SQL Server200或ORACLE为后台数据库,以Delphi为前端开发工具,设计并实现一个民航票务管理系统。要求该系统具有票务管理(录入、修改、删除各航班机票信息)的功能和查询各航班信息的功能,其中票务管理功能只能由管理员进行。 此外,系统界面要美观、简捷,操作结果要准确。

4.4需求描述

该系统具有录入、修改、删除和查询各航班机票信息的功能。

需录入的信息如下:航班号、起点、终点、日期、起飞时刻、 到达时刻、票价、折扣票数、剩余座位数、航班所属航空公司。

录入、修改、删除只能由管理员进行。

4.5实验指导

以下以一个完整的例子作为实验指导,学生可以根据自己的设计来完成本实验,不必拘于本指导给出的系统。完成本实验时可以参考课件的第八章中的相关内容。

一. 界面风格示例

18


数据库系统实验(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:用水量说明

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: