oracle数据库(表、视图、索引、事务)

1.视图与表的区别
1) 表需要占用磁盘空间,视图不用,视图作为数据对象存储在oracle中。
2) 视图不能添加索引,查询视图效率会比添加索引的表慢一点点
3) 视图可以简化复杂查询
4) 视图利于提高安全性:把查询视图的权限给用户,不分配用户查询users的权限
2.视图的好处
1) 方便对复杂查询语句的处理
2) 隐藏底层物理表数据结构,增加数据安全性。
3.视图的注意事项
1) 视图的使用就跟表一样的,也可以做增删改查,但是一般只对视图做查询操作,不做更新操作,因为有时对视图的虚拟列做出更新对物理表的列的更新有不确定性。
2) 视图还可以和视图再多表联查,还能通过视图再建视图。
4.视图不允许更新的情况
1) distinct
2) 集合运算或分组函数,如sum,max,count,UNION(并集),INTERSECT(交集)等
3) 出现group by ,order by,model,等语句
4) 出现伪列关建字,如ROWNUM
5.索引是用于提高数据存取速度的数据对象。
18.索引使用原则
1) 在大表上建立索引才有意义
2) 在where子句或是连接条件上经常引用的列建立索引
3) 索引的层次不要超过4层
4) 逻辑性字符(性别)或者不常用字段不添加索引
6.索引的弊端
1) 建立索引,系统要占大约为表的1.2倍的空间保存索引。
2) 添加、删除、修改数据时,系统必须花费额外的时间对索引进行更新,以维护数据和索引的一致性。
7.事务
定义:事务是用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么 全部成功执行,要么任一个失败其它的都不被执行。
8.事务的4个特征
1) 原子性:事务是数据库应用的基本逻辑单位,它对数据的修改要么全部执行,要么完全不执行。
2) 一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态。
3) 分离(隔离)性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4) 持久性:持续性也称永久性(permanence),指一个事务一旦提交(不能回滚),它对数据库中数据的改变应该是永久性的。接下来的其他操作或故障不应对其有任何影响。
9.事物的控制:(1)savepoint 设置保存点 (2)roolback 回滚
22.序列
定义:序列是oracle提供的用于产生唯一数字的数据库对象。
特点:1)自动提供唯一的数值
2)被所有数据对象共享
3)主要用于提供主键值(非空,唯一)
10.序列的弊端:产生裂缝(3种情况)
1) 回滚 序列2废除 1 => 3
2) 系统异常
3) 多个表使用同一个序列
11.sql语句是所有数据库通用的操作语句,其分类为
1) DDL(Data Definition Language)语句: 数据库定义语句 用于创建数据对象,表 视图 函数….
2) DCL(Data Control Language)语句:数据控制语言,用来定义访问权限和安全级别
3) DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) > 增、删、改:表记录
4) DQL(Data Query Language):数据查询语言,用来查询记录(数据)

你可能感兴趣的:(oracle,java)