数据库复习

数据库事务的四个基本特征

  • 原子性:事务包含的所有操作,要么成功,要么全部失败。
  • 一致性:同一个事务来说,执行成功后使数据库从一个一致性状态变成另一个一致性状态。如果数据库系统出现故障,有些事务没有完成就中断,那么他修改过的一部分数据就会使数据库成为不一致性的。
  • 隔离性:不同事务相互独立,互不干扰
  • 持久性:事务提交后,对数据库的改变就是永久的,不能回滚

四个隔离级别

  • 读取未提交:可以读取到未提交的内容,查询是不加锁的。隔离级别最差,会产生“脏读”,“未重复读”,“幻读”的情况
  • 读取已提交:读取到已提交的内容,是SQL server的默认情况。一个事务已经修改但是未提交,那么另一个事务就查询不到他,避免脏读的情况。
  • 可重复读:MySql的默认级别,如果一个事务在执行事务,那么其他事务就不可修改执行的内容,就防止了在两次读取内容的时候,数据被修改了。
  • 串行化:最高级别,所有事情按顺序执行,效率最差。

脏读,不可重复读,幻读

  • 脏读:事务a读了事务b处理的数据,然后事务b进行回滚操作,那么事务a读到的数据就是脏数据。
  • 不可重复读:事务a多次读取一个数据,中间事务b对数据进行了更新,那么事务a读取的数据前后结果不一样。解决不可重复读要锁读取的行
  • 幻读:事务a把数据分成abcd四个级别,此时有n条数据,事务b改变或增加删除了m条数据,使得这m条数据符合了事务a的标准,就有n+m条数据符合标准了。解决幻读要锁表

数据冗余

一个信息在数据库中多次重复出现,比如一个表有一个字段,在另一个表中这个字段具有一样的意义,那么就是数据冗余。在设计数据库时候应该减少数据冗余避免空间浪费,但是不能完全没有,数据冗余可以用作实现一些功能,就像两个表通过共同属性来建立联系就要数据冗余。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.数据库设计三范式 满足的范式越高,数据库的数据冗余越少。(1)第一范式:数据库表不包含多值属性。(属性的值是不...
    伊凡的一天阅读 296评论 0 1
  • title: 数据库复习小记date: 2020-07-06 09:48:28 [TOC] 0. 前言 大三下,只...
    dounine阅读 1,082评论 0 2
  • 数据库的三级模式: 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有的用户的公共数据视图。外模...
    Jeasky阅读 339评论 0 0
  • 索引分析工具:explain 数据库优化。表很大之后,insert变得很慢,如何优化? 缓存; 分库分表; 索引;...
    孟辜阅读 834评论 0 0
  • 今天青石的票圈出镜率最高的,莫过于张艺谋的新片终于定档了。 一张满溢着水墨风的海报一次次的出现在票圈里,也就是老谋...
    青石电影阅读 10,880评论 1 2

友情链接更多精彩内容