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)也应该构建它,否则就会有大量的数据冗余。

Oracle汇总的更多相关文章

  1. Oracle汇总笔记

    http://gzf_PC:1158/em数据库配置文件已经安装到 D:\WorkC,同时其他选定的安装组件也已经安装到 D:\WorkC\oracle.iSQL*Plus URL 为:http:// ...

  2. Oracle 汇总函数

    汇总函数,也叫统计函数.聚合函数.分组函数 汇总函数必须跟 group by 语句一起使用,对数据进行分组汇总. ① 求和:sum(col).列必须是数值. ② 最小值:min(col).列可以是数值 ...

  3. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  4. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  5. Oracle 列数据聚合方法汇总

    网上流传众多列数据聚合方法,现将各方法整理汇总,以做备忘. wm_concat 该方法来自wmsys下的wm_concat函数,属于Oracle内部函数,返回值类型varchar2,最大字符数4000 ...

  6. CentOS安装Oracle数据库详细介绍及常见问题汇总

    一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...

  7. Oracle 异常处理汇总

    Oracle 异常处理汇总 1.plsql无法连接 安装oracle,中间录入密码,用户是:sys,pass: 录入的密码. 连接数据库,建议创建新的用户,最好别直接用sys 安装完毕,则需要配置Ne ...

  8. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

    64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...

  9. Oracle横向纵向汇总

    Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80  001 张三 数学 86  001 张三 英语 75  0 ...

随机推荐

  1. C/C++获取操作系统、CPU、内存信息(windows和linux)

    有时候需要在工程里面获取一些系统或者硬件的信息,比如系统版本,cpu,内存,显卡,硬盘等,作为后续软件功能判断的依据,甚至参与性能算法自适应建模 Windows 操作系统和内存信息在windows下通 ...

  2. PHP开发api接口 -- 安全验证 生成签名

    转载博客 ————. http://blog.csdn.net/li741350149/article/details/62887524 REST模式中HTTP请求方法(GET,POST,PUT,DE ...

  3. 使用 Git 命令去管理项目的版本控制(二)

    参考 上一篇  完成本篇博客,本篇为作者原创,仅供学习参考. 本篇博文在上一篇的基础上这里记录了我的一个小模拟练习.本篇作为自己的学习笔记,也意在方便其他人的学习使用,达到分享目的.下面主要是操作截图 ...

  4. flex(1)

    flex使用的actionscript语言遵守ECMA-262标准,这与javascript语言是一致的,由此可见二者语法的相似.

  5. 制作Docker镜像的两种方式

    此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像, ...

  6. E20181030-hm

    conquer  vt. 征服; 克服; 攻克; 打败(敌人);  vi. 得胜,胜利; recur vi. 复发; 重现; 再发生; 回想; recurrence n. 复回,重现; 反复,隐现; ...

  7. studio 配置 opencv3.1

    环境 win10 android studio2.0 OpenCV-3.1.0-android-sdk android-ndk-r10e-windows-x86_64 jdk-8u102-window ...

  8. unity语言本地化插件 I2 Location2.5.6使用简单记录

    插件下载地址: http://download.csdn.net/detail/onafioo/9579937 1 将插件Resources下的I2Languages.prefab拖到工程里 2 新建 ...

  9. UGUI(四)事件系统的封装

    UGUI的事件系统默认使用时,是需要当前的类继承事件接口,就可以在该类中加入它的事件方法,但是在多人开发时这种方式没什么好处. 用过NGUI的或许都知道UIEventListener这个类,因为使用超 ...

  10. 如何快速将vc++的类转换为c#/cli

    所有需要的工具: 1. TextTemplate 2. P/Invoke Interop Assistant 3. DotNetResolver vc++的native类一般是无法直接暴露在.net环 ...