• Oracle汇总


    1.数据库事务并发会产生那些问题?有哪些隔离级别,分别能够避免什么错误,而无法避免什么错误?

      a.事务并发会导致三种问题:脏读不可重复读幻象读

      脏读:读取了未提交的数据

      不可重复读:前后读取同一行数据不一致(两次读取中间有其他事物修改了(update)该行数据的内容)

      幻象读:前后读取的数据行数不一致(两次读取中间有其他事物增加(insert)或删除(delete)了该表的记录)

      b.隔离级别一般分为四种,由低到高分别为:未提交读提交读可重复读可串行读

      未提交读:相当于没有锁的状态(会导致脏读、不可重复读、幻象读)

      提交读:数据必须在事务提交后读取(可避免脏读;会导致不可重复读、幻象读)

      可重复读:允许添加但不允许更新(可避免脏读、不可重复读;会导致幻象读)

      可串行读:隔离级别最高,必要时才会采用(三种错误均可避免)

     2.简述索引的作用,并示例创建索引的语法

      a.索引是为了提高数据检索性能而建立的,利用索引可以快速的确定所要检索信息所在记录的物理存储地址,因此,使用索引可以提高表的访问速度;

      b.索引独立于基表存在,在对基表进行插入,更新,删除时,Oracle会自动更新索引,因此索引提高了查询速度,但一定程度影响了了增删改速度;

      c.索引中字段(有序性):用户经常查询的表字段(建立索引时Oracle会自动根据该字段进行排序),该字段所在记录的物理地址

      d.索引信息的碎片化(使用一段时间,由于不定期的增删会导致索引碎片化)会导致读写性能的降低,因此可以定期对索引进行重建

      e.索引分类:标准索引、唯一索引、组合索引、反向索引、位图索引

      索引的创建:create index 索引名 on 表名(字段名)

      查看索引:select * from USER_INDEXES

      删除索引:drop index 索引名

    3.范式

    第一范式就是无重复的列或列不可分割(不能将所有信息放在一列显示,也不能两列或多列合并显示,并且一条记录只出现一次)
      例如:员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;
         员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。
    第二范式就是非主属性非部分依赖于主关键字(即一个主键决定了一条记录的唯一性,非主键属性完全依赖主键)
      1.第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。
      2.第二范式(2NF)要求实体的属性完全依赖于主关键字
    第三范式就是属性不依赖于其它非主属性(外键关联表id,仅通过id确认联系,实体之间相关联必须关联主关键字,而不能关联非主属性)
      例如:存在一个部门信息表,其中每个部门有部门编号(dep_id)、部门名称、部门简介等信息。
         那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。
         如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。

  • 相关阅读:
    Delphi中多线程同步过程Synchronize的一些说明
    property中的read,write是什么意思?
    如何用delphi读写csv文件
    将DBGrid中的数据导入Excel表格中
    如何获取combobox显示的值
    WaitForSingleObject 的返回值
    关于GetOverlappedResult函数的一些知识
    串口编程:COMSTAT 结构
    windows 官方镜像下载地址
    ffmpeg 命令行改变视频分辨率
  • 原文地址:https://www.cnblogs.com/FrankLei/p/6651912.html
Copyright © 2020-2023  润新知