视图、序列、索引、事务

视图(View)


  • 关键词:view
  • 创建视图:create view 视图名 as select 语句
  • 含义:将select 语句的查询结果,作为视图,可以供查询使用
  • 使用视图:view 是一个虚拟表

        select 列名,列名,列名   

        from 视图名;

  • 删除视图:drop view 视图名;
  • 优点:

    1.简化SQL语句

    2.安全性,对开发人员屏蔽掉表  和字段信息

  • 注意:

    1.视图提高查询效率

    2.视图本质存储了select语句,基本不会占用硬盘空间

 

序列(sequence)


 

  • 概念:oracle提供的工具,产生一系列连续且不重复的值
  • 创建序列:create   sequence   序列名   (start   with   数字)
  • 使用序列获得值:序列名.nextval
--查询序列中的值
select 序列名.nextval
from dual;
  • 删除序列:drop sequence 序列名;

 

索引(Index)


  • 作用:提高查询效率
  • 核心思路:

  • 创建索引:create index 索引名 on  表 (字段)
  • 使用索引:不需要手动使用,默认使用索引字段为条件进行查询时,数据库会自动使用索引查找数据
  • 删除索引:drop index 索引名;
  •  索引特点:
    • 1.索引会占用硬盘空间
    • 2.增删改操作,会牵涉索引的修改和维护,降低了DML的效率(缺点)
    • 3.PK(Primary key) UK(unique key) 主键和唯一约束的列,数据库会自动添加索引

 

事务 


  • 概念:数据库的最小执行单元,有多个SQL组成的一个整体
  • 实际开发中,一个独立的功能中包含多个SQL,要作为一个事务来操作
  • 使用:
    • 成功结束事务:commit(提交);--事务中多个SQL执行生效
    • 失败结束事务:rollback(回滚);--事务中多个SQL执行失败
  • 实现原理:
    • 1.数据库会为每个客户端都分配一个独立的回滚段(临时空间 rollback seagment),临时存放当前客户端SQL执行结果
    • 2.commit :将回滚段中的SQL执行结果一次性同步到数据库中
    • 3.rollback:将回滚段中SQL的执行结果,舍弃丢失

 

  •  事务特性:(笔试)
    • A(Atomic)原子性:事务中的多个SQL语句是一个整体,要么全部成功,要么全部失败
    • C(Consistency)一致性(数据的合理性):事务执行前后(无论成功失败),最终数据是合理的
    • I(Isolation)隔离性:事务与事务之间是相互独立的
    • D(Durability)持久性:事务结束(成功或失败),对数据库的数据修改是永久性的

 

posted @ 2020-03-13 10:33  华哥好棒棒  阅读(134)  评论(0编辑  收藏  举报