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. pytest用例setup和teardown

    函数式以下两种: setup_function/teardown_function  每个用例开始和结束调用一次 setup_module/teardown_module     setup_modu ...

  2. HTML head元素

    head标签中可以包含的标签元素有: <title>:定义html页面的标题 <meta>: <meta> 标签提供了元数据.元数据也不显示在页面上,但会被浏览器解 ...

  3. 二、myeclipse中配置mybatis中xml的自动提示

    以mybatis中mapper.xml为例 方法一: 步骤一:在mybatis-3.3.0.jar包中寻找mybatis-3-mapper.dtd文件. 可以用360压缩打开mybatis-3.3.0 ...

  4. 20个jQuery分页插件和教程

    1.客户端的jQuery 分页插件jPages jPages 是一个客户端的分页插件,但提供很多特性例如自动翻页.键盘和滚动浏览,延迟显示以及完全可定制的导航面板. Read More Demo 2. ...

  5. Validtion

    今天在使用Validation框架实现验证时,出现以上的错误.查询资料后发现“validation-config.dtd”这个文件没有导入自己的工程,才会出现这样的错误. 将从文件导入后果然解决了问题 ...

  6. 7.11实习培训日志-Git Linux

    Git git子模块 先在GitHub创建两个空的respository,一个super_project和一个sub_project. 然后在git bash中向库中写入一些文件. 在super_pr ...

  7. CodeForces Gym 100685I Innovative Business (贪心)

    题意:给定一条路的长和宽,然后给你瓷砖的长和宽,你只能横着或者竖着铺,也可以切成片,但是每条边只能对应一条边,问你最少要多少瓷砖. 析:先整块整块的放,然后再考虑剩下部分,剩下的再分成3部分,先横着, ...

  8. 删除多余的OracleOraDb11g_home1TNSListenerLISTENER1

    oracle 监听服务有 OracleOraDb11g_home1TNSListenerLISTENER 和OracleOraDb11g_home1TNSListenerLISTENER1 两个. 用 ...

  9. Linux系统调用及其效率

    操作系统相关概念: 操作系统---管理计算机硬件与软件资源的软件,是用户与系统操作交互的接口,为在它上面运行的程序提供服务. 操作系统内核 ----操作系统的核心.负责管理系统的进程.内核.设备驱动程 ...

  10. Spring Boot 2.x(十七):快速入门Elastic Search

    What -- Elasticsearch是什么? Elasticsearch是一个基于Lucene的搜索服务器,Elasticsearch也是使用Java编写的,它的内部使用Lucene做索引与搜索 ...