SQL > connect HR/password
输入口令:
已连接。
SQL >select * from tab;
---- HR用户下的表
Countries,国家信息
Departments,部门信息
Employees,员工信息
Jobs,工作岗位信息
Job_history,员工历史岗位信息
Locations,位置历史信息
Regions,区域信息(洲)
-----并发
- 体会锁机制,通过同时启动两个会话,同时更新同一个数据,造成两个会话对一个数据的争用,来体会锁机制(一个会话在等待)
- 创造死锁,通过同时启动两个会话,分别对两个资源进行交叉加锁,来实现死锁(Oracle会检测出该死锁)
- 隔离级别,赋予事务不同的隔离级别,通过启动两个会话来体会并发。设计实验用例,体现多事务的读写竞争。
--Oracle提供三种事务隔离级别,实验版本不支持read only,仅支持READ COMMITTED、 SERIALIZABLE
--相关语句
set transaction isolation level read commited;
set transaction isolation level serializable;
set transaction read only;
alter session set isolation_level serializable;
alter session set isolation_level read commit;
实验内容:
--SQL标准下事务隔离级别的定义,与Oracle提供的事务隔离级别的差异性。例如提交读隔离级别下,Oracle会不会出现不可重复读和幻象读,为什么?
--体会提交读与串行化级别之间的差异?并发用户的相互差异?
- 索引:B树索引、基于函数的索引,位图不做
注意事项:
HR用户在Sqlplus下查看查询计划,需要给HR用户赋予DBA角色
是否使用索引,需要考虑两个问题:
1、Where后面条件表达式中属性的组成,与索引项的匹配关系
2、SQL语句中涉及到的属性列,例如select后面的属性列表,与索引项的关系。它决定了是通过索引数据回答,还是通过索引数据进行二次查找
- 要求:记录实验结果,撰写实验报告,要求在报告中明确实验目的、实验内容、实验结果和分析。