文章目录

  • 一、概念介绍
  • 二、数据库的事物
  • 三、数据库的分类
    • 1.关系型数据库
    • 2.非关系型数据库
  • 四、常见的Mysql引擎

一、概念介绍

数据库是一个存储数据的仓库,按照数据结构,来组织,管理和存储数据,并提供了增、删、改、查的功能。

二、数据库的事物

1.什么是事务

将一组增删改的操作看成一个独立的执行单元,要么都成功,如果有一个操作失败,那么数据库会执行回滚,一组操作都会不生效

2.事物的特性

特性 介绍
原子性 事物被当做一个不可分割的执行单元,要么全部成功,要么全部失败,成功则将数据应用到数据库,失败不会对数据产生影响
一致性 事物开始前的状态和事物执行之后的状态是保持一致的
隔离性 当用户并发访问数据库时,数据库会给每个用户线程开启一个事物,事物和事物之间相互隔离,互不影响
持久性 一旦事物提交,那么数据就会永久的应用于数据库,就算机器出现故障,也不会将数据修改

3.事物的回滚

事物作为一个独立不可分割的执行单元,要么都成功,只要这一组操作中有一个失败,事物会执行回滚,恢复到事物执行之前的状态

4.在不考虑事物的隔离性的情况下,会导致以下情况

导致情况 介绍
脏读 当以一个事物执行时,访问了另一个未提交事物的数据,并使用了这条数据
不可重复读 事物A多次读取一条数数据,事物B对这条数据做了修改,最终导致A事物两次读取的数据不一样
幻读 事物A读取一张表中的所有数据,事物B在这个表中添加或者删除了一条数据,导致A的结果和实际结果不符,类似于出现了幻觉。

不可重复读和幻读的区别:
幻读和不可重复读都读取另一条已经提交的事务,所不同的是不可重复读查询的都是同一数据项,而幻读针对的是一批数据整体

5.事物的四种隔离级别

隔离级别 介绍
Read uncommitted(读未提交) 最低级别,可能会出现任何情况
Read committed(读已提交) 可以避免脏读
Repeatable read(可重复读) 可以避免脏读和不可重复读
Serializable(串行化) 可避免 脏读 不可重复读 幻读 最高的隔离级别

三、数据库的分类

1.关系型数据库

1.概念

关系型数据库是一个结构化的数据库,采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

结构化数据指的是由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,也称作为行数据,特点为:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的

2.关系型数据库的优点:

  • 便于理解:二维表构造非常贴近逻辑,关系模型相对网状、层次等其他模型来说更容易理解
  • 使用方便:通用的SQL语言使得操作关系型数据库非常方便
  • 易于维护:全部由表结构组成,文件格式一致
  • 数据稳定:数据持久化到磁盘,没有丢失数据风险

3.关系型数据库的缺点:

  • 对于海量信息的查询效率教低,读写能力较差
  • 网站高并发读写需求对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
  • 灵活度欠佳:为了保证数据库的ACID特性,必须尽量按照其要求的范式进行设计,关系型数据库中的表都是存储一个格式化的数据结构。

4.常见的关系型数据库

Oracle,MySQL,sqllite

2.非关系型数据库

1.概念
所谓非关系型数据库,其实是相对于关系型数据库而言的,通常用于存储那些类型不固定的,也没有什么规律的数据。它严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。企业每天都产生大量的数据,非关系型数据库的应用非常广泛,应用场景也非常多,例如:办公文档、文本、图片、HTML、各类报表、视频音频等。

2.非关系型数据库的优点

  • 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛
  • 性能优:nosql是根据键值对的,不用历经sql层的分析,因此 性能非常高。
  • 扩展性高:基于键值对,数据之间耦合度极低,因此容易水平扩展。
  • 成本低:nosql数据库部署简单,基本都是开源软件

3.非关系型数据库的缺点

  • 不提供sql支持,学习和使用成本较高
  • 无事务处理机制
  • 数据结构相对复杂,复杂查询不容易实现

4.常见的非关系型数据库

Elasticsearch,Redis,MongoDB

四、常见的Mysql引擎

MySQL 中最常见的存储引擎有:InnoDB、MyISAM 和 MEMORY,其中 InnoDB 是 MySQL 5.1 之后默认的存储引擎,它支持事务、支持外键、支持崩溃修复和自增列,它的特点是稳定(能保证业务的完整性),但数据的读写效率一般;而 MyISAM 的查询效率较高,但不支持事务和外键;MEMORY 的读写效率最高,但因为数据都保存在内存中的,所以 MySQL 服务重启之后数据就会丢失,因此它只适用于数据丢失不敏感的业务场景。

MySQL(二):MySQL的介绍+事务+分类+MySQL引擎相关推荐

  1. MySQL数据库的索引、事务和存储引擎

    目录 一.索引 1.1 索引的概念 1.2 索引的作用 1.3 创建索引的原则 1.4 索引的分类 1.5 索引的创建 1.5.1 普通索引 1.5.2 唯一索引 1.5.3 主键索引 1.5.4 组 ...

  2. MYSQL(二) SQL通用语法及分类及DDL(对数据库和表操作)的使用

    一SQL通用语法 1)SQL语句可以单行或多行书写,以分号结尾. 2)SQL语句可以使用空格/缩进来增强语句的可读性 3)MYSQL数据库的SQL不区分大小写,关键字建议使用大写 4)注释: 单行注释 ...

  3. MySQL二十四:索引

    MySQL二十四:索引的介绍与分类 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构. 提取句子主干,就可以得到索引的本质:索引是数据结构. 在一个表中,主键索引 ...

  4. mysql dba系统学习(20)mysql存储引擎MyISAM

    mysql存储引擎MyISAM 1,创建myisam表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 mysql> creat ...

  5. MySQL高级配置(二)详细介绍

    一.MySQL优化配置详解 转自:http://blog.csdn.net/nightelve/article/details/17393631 1.目的: 通过根据服务器目前状况,修改Mysql的系 ...

  6. 数据库之Mysql索引、事务与存储引擎

    目录 1 MySQL索引 1.1 索引的概念 1.2 索引的作用 1.3 创建索引的原则依据 1.4 索引的分类和创建 普通索引 唯一索引 主键索引 组合索引(单列索引与多列索引) 全文索引(FULL ...

  7. 看完就懂——MySQL索引、事务与存储引擎

    目录 前言 一.索引(index) 1.1 索引的概念 1.2 索引的作用 1.3 索引的优缺点 1.4 索引的分类 1.5 创建索引的原则依据 1.6 创建索引 1.6.1 普通索引 1.6.2 唯 ...

  8. 4.直方图介绍和使用|MySQL索引学习

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. [toc] 一.导读 MySQL 8.0.19 开始支持对InnoDB引擎表数据进行采样以生成直方图统计信息. 直方图(H ...

  9. MySQL 索引、事务与存储引擎

    目录 一.MySQL 索引 1.索引的概念 2.索引的作用 3.索引的副作用 4.创建索引的原则依据 5.索引的分类和创建 1.普通索引 2.唯一索引 3.主键索引 4.组合索引(单列索引与多列索引) ...

最新文章

  1. 利用urllib2实现http post请求源码示例
  2. 显式欧拉法求解常微分方程
  3. Angular route传参
  4. 自制javascript库
  5. 设计模式C++实现(2)——策略模式
  6. 云计算面试题及答案,云计算主要就业岗位
  7. 视觉slam发展史--从开始到未来
  8. 获取某一条_想获取流量?这几种工具是必须要有的,能帮你获客快人一步!
  9. c语言指针访问 静态变量_使用C中的指针访问变量的值
  10. iptables防火墙配置工具ShoreWall的安装和使用实例
  11. minSdkVersion、maxSdkVersion、targetSdkVersion、target释义
  12. dx绘制2d图像_【3D建模】聊聊2D动画软件
  13. javafx 与java,java桌面应用程序和javafx有什么区别?
  14. SpringCloud整合Skywalking实现链路追踪
  15. hdu 5455 Fang Fang
  16. 电路里的希腊字母读音
  17. Smart Beta是什么?
  18. 009 Ubuntu安装Google浏览器
  19. NGFW——安全策略的处理流程
  20. 服务器的型号规格,云服务器规格型号

热门文章

  1. nodejs 使用http进行post或get请求(携带cookie)
  2. 裸机win7系统安装
  3. Blender: Interior Environments for Games Blender教程:游戏内部环境 Lynda课程中文字幕
  4. 删除数据报ORA-00600: internal error code, arguments: [ktbesc_plugged]
  5. 苹果7手机严重卡顿_苹果手机耗电非常严重?这4个设置一定要关闭,省电不止一倍...
  6. Snipaste截图工具调整线条粗细快捷键
  7. 求和函数,滑动向上/向下取值函数
  8. 软件架构关键需求checklist
  9. wordpress菜单显示css字体,使用WordPress导航CSS类花式玩耍菜单栏
  10. 榆林国号和计算机学校,榆林技校哪里好?都有哪些呢