《数据库系统概论》实验报告书 安徽工业大学计算机学院
例4-4: (视图查询) 利用视图STUDENT_GR,求平均成绩为88分以上的学生的学号和平均成绩。
SELECT SNO,GAVG FROM STUDENT_GR WHERE GAVG>88;
例4-5: (视图更新) 利用视图STUDENT_CS,增加学生( ‘96006’,‘张然’,‘CS’,‘02’,‘男’,19 )。
INSERT INTO STUDENT_CS VALUES('96006','张然','CS','02',19,'男');
例4-6: (视图更新) 利用视图STUDENT_CS,将学生年龄增加1岁。观察其运行结果并分析原因。
UPDATE STUDENT_CS SET SAGE=SAGE+1;
因为年龄是按照基本表直接得来的,不需要计算,可以直接更改
例4-7: (视图更新) 利用视图STUDENT_GR,将平均成绩增加2分。观察其运行结果并分析原因。
UPDATE STUDENT_GR SET GAVG=GAVG+2;
因为平均成绩是按照基本表计算得来的,不可以直接更改
例4-8: (视图更新) 删除视图STUDENT_CS中学号为 ‘96006’ 的学生的全部数据。
DELETE FROM STUDENT_CS WHERE SNO='96006';
25/19
《数据库系统概论》实验报告书 安徽工业大学计算机学院
例4-9: (视图更新) 删除视图STUDENT_GR的全部数据。
NDELETE FROM STUDENT_GR;
例4-10:(删除视图) 删除视图STUDENT_CS和STUDENT_GR。
DROP VIEW STUDENT_CS; DROP VIEW STUDENT_GR;
5. SQL数据控制语句:
例5-1: (授权) 给左右邻近同学(用户)授予在表Student上的SELECT权限,并使这两个用户具有给其他用户授予相同权限的权限。 GRANT SELECT ON STUDENT TO U099074214 WITH GRANT OPTION
例5-2: (授权) 给邻近同学(用户)授予Teach表上的所有权限。 GRANT ALL ON TEACH TO U099074214;
例5-3: (授权) 给所有用户授予Score表上的SELECT权限。 GRANT SELECT ON SCORE TO PUBLIC;
例5-5: (收回授权) 收回上面例子中的所有授予的权限。
REVOKE SELECT ON STUDENT FROM U099074214; REVOKE ALL ON TEACH FROM PUBLIC; REVOKE SELECT ON SCORE FROM PUBLIC;
26/19
《数据库系统概论》实验报告书 安徽工业大学计算机学院
6. SQL事务处理:
例6-1: (事务回退) 将课程名称表中的 ‘程序设计’ 课程学时数修改为80、‘微机原理’ 课程学时数修改为70学时,查询全部课程的总学时数后,取消所有修改(ROLLBACK)。再次查询全部课程的总学时数。注意比较分析两次查询的结果。
例6-2: (事务提交) 将课程名称表中的 ‘程序设计’ 课程学时数修改为80、‘微机原理’ 课程学时数修改为70学时,查询全部课程的总学时数后,确认所有修改(COMMIT)。再次查询全部课程的总学时数。注意比较分析两次查询的结果。
27/19
《数据库系统概论》实验报告书 安徽工业大学计算机学院
[ 实验要求 ]
① 建立视图,视图查询,视图更新; ② 给某一或全部用户授权和收回授权; ③ 事务回退,事务提交。
[ 实验方法 ]
① 将实验需求用SQL语句表示; ② 执行SQL语句;
③ 查看执行结果,如果结果不正确,进行修改,直到正确为止。 [ 实验总结 ]
本次实验学习对SQL的数据控制和事务处理,包括使用GTANT授予权限,REVOKE撤销权限,COMMIT事务提交,ROLLBACK事务提交。数据控制包括事务管理和并发控制,这是数据库的安全性和数据的完整性控制。授权的目的是使不同的用户对不同的数据对象有不同的存取权限。在事务处理中,在数据库增删改时,如果对数据库进行了误操作,在为提交数居前,
28/19
《数据库系统概论》实验报告书 安徽工业大学计算机学院
可利用事务回退,返回操作,这样保护了数据的一致和完整。
实验五:Oracle存储过程与触发器
[ 实验日期 ] 2014 年 11 月 11 日 [ 实验目的 ]
通过实验进一步理解和掌握Oracle数据库的存储过程和触发器。 [ 实验内容 ]
4. 存储过程与触发器:
例7-1: (存储过程) 创建一个显示学生总人数的存储过程。 CREATE PROCEDURE STU_COUNT(N OUT NUMBER) AS
29/19