数据库系统实验课实验报告 - 图文 联系客服

发布时间 : 星期二 文章数据库系统实验课实验报告 - 图文更新完毕开始阅读1f0865919f3143323968011ca300a6c30c22f1b0

《数据库系统》实验报告四

学号 姓名 实验时间 实验名称 表数据管理 实验学时 2 准备材料 1. SQL Plus命令手册 2. Oracle数据字典 扩展实验 1. 利用企业管理器的图形界面输入数据 2. 利用企业管理器或PL SQL Developer导入、导出TXT文档、Excel表格中的数据。 (此部分内容不要求在实验室完成,不用写入实验报告。) 实验环境 Oracle 9i(及以上版本)服务器 SQL Plus/ SQL Plus work sheet客户端 实验目的 1.掌握使用SQL语句对表进行插入、修改和删除数据的操作。 2. 掌握索引创建与使用方法 实验内容1. 执行文件ddl+drop.sql,创建数据库University中所有表。执行文件 及步骤 smallRelationsInsertFile.sql,插入实验数据。 2. 删除department表中'Physics'记录,观察能否成功删除。若不能删除,说明原因。若能删除,观察有外关联的表中数据的变化。 3. 插入一门新课,课程名“Weekly seminar”,课号CS-001,由Engineering department开出,学分1,观察实验结果,说明原因。 4. 调整各系员工工资,原工资>50000的增加10%,否则 增加6%,观察结果. 5. 第3小题新插入的课程,课程名“Weekly seminar”,课号CS-001,改为由'Comp. Sci.'开出,重新插入到course表中。观察实验结果,说明原因。 6. 假设全体Comp. Sci.学生都要选课“Weekly seminar”,且课程要2013年秋季学期开出,增加课程开出信息、选课信息。 7. 删除学生'Brown'的“Weekly seminar”课程的选课记录。 8. 假设学期末,教师给出课程“Weekly seminar”的选课学生成绩单,请依据选课成绩给出每个学生学分。 9. 将学生表中学分tot_cred>100的学生选出来放进对应系的instructor表中,工资设置为10000. 10.找出并删除所有未被开出过的课程。 11. 在表takes上course_id字段创建索引,观察查询速度变化。 12. 在takes表course_id字段上创建索引,试一试能否创建唯一性索引? 出现问题 解决方案 (列出遇到的问题及其解决方法)

《数据库系统》实验报告五

学号 实验名称 准备材料 扩展实验 实验环境 实验目的 实验内容及步骤 权限与事务管理 姓名 实验时间 实验学时 2 1. SQL Plus命令手册 2. Oracle数据字典 1. 利用企业管理器的图形界面进行创建用户、角色并进行管理 2.利用企业管理器的图形 界面完成对数据操纵权限的授权与回收工作 (此部分内容不要求在实验室完成,不用写入实验报告。) Oracle 9i(及以上版本)服务器 SQL Plus/ SQL Plus work sheet客户端 1.掌握权限管理语句与视图进行安全性控制的方法 每两个同学一组,自由组合完成下列操作要求(使用grant, revoke语句和视图): 1. 执行教师提供的命令文件,建立university数据库,并输入数据。 2. 同学A设置同学B对A.course表具有查询权限,对A.instructor表中salary字段具有更新权限;同学B查看元数据表,查找自己被子授权使用的数据。 3. 同学B授权同学A对B. instructor表具有插入数据、删除数据的权限,同学A用命令试验能否完成相应操作。 4. 同学A授权同学B,对A.student表具有修改表结构的权限,同学B得到修改表结构的命令验证授权是否成功。 5. 同学B授权同学A对B. student表具有增、删、改、查的权限,并允许他将权限授权给其它同学。同学A验证授权是否成功,并试验能否将权限授予其它同学(例如同学C)。 6. 同学A收回授权同学B的student表上的所有权限,同学B验证是否回收成功。 7. 同学A通过视图授权同学B具有察看每个部门职工最高、最低、平均工资的权限,但不允许他察看每个人的工资。同学B验证授权是否成功。 8. 同学A、B撤销所有已授给对方的权限,如果同学C从同学A得到对同学B student表的访问 权限,察看其权限是否一并收回。 9.事务查看 使用如下命令,查看当前事务、会话情况: (1)show parameter processes; show parameter session; (2) select name, type, value ,display_value, isses_modifiable, issys_modifiable from v$parameter where name='sessions'; select name, type, value ,display_value, isses_modifiable, issys_modifiable from v$parameter where name='processes'; SELECT * FROM V$SESSION WHERE USERNAME = ?? ORDER BY LOGON_TIME, SID; SELECT P.SPID, S.SID, S.SERIAL# FROM V$PROCESS P INNER JOIN V$SESSION S ON P.ADDR = S.PADDR WHERE S.AUDSID=USERENV('SESSIONID'); 注:此表可能学生没有权限查看,如果有兴趣,在自己电脑上试试。 10.事务提交方式有三种:显式提交\\隐式提交和自动提交。SQL PLUS中可通过命令可进行提交方式设置,设置不同提交方式。 事务命令有:BEGIN TRANSACTION、COMMIT、ROLLBACK、SAVEPOINT、RELEASE SAVEPOINT、SET ISOLATION LEVEL 事务隔离级别: 离层 READ UNCOMMITTED(非提交读) READ COMMITTED(提交读) Repeatable READ(可重复读) Serializable(串行读) 错读|脏读 非重复读取|不可重复读 是 否 否 否 是 是 否 否 假读|幻读 是 是 是 否 Oracle只支持ead committed 、serializable和Repeatable READ三种,不支持READ