浅谈数据库常用的数据引擎的区别以及数据库的三大范式

浅谈数据库常用的数据引擎的区别以及数据库的三大范式

数据库第一范式:保证数据的原子性,即数据表中所有字段都是不可分解的原子值.

数据库第二范式:第二范式(确保表中的每列都和主键相关)

数据库第三范式:.第三范式(确保每列都和主键列直接相关,而不是间接相关);

数据库的常用数据引擎中InnoDB与MyISAM的相关问题

数据引擎 是否支持事务 是否支持外键 锁 是否保存表的具体行数
InnoDB 支持 支持 行级锁 表级锁 不保存
MyISAM 不支持 不支持 只支持表级锁 保存

InnoDB在什么情况下使用行锁?什么情况下使用表锁?
InnoDB行锁是通过给索引加锁实现的,即只有通过索引条件检索数据,InnoDB才使用行级锁,否则将使用表级锁!行级锁在每次获取锁和释放锁的操作需要比表级锁消耗更多的资源。

MyISAM 表级锁的特性(读时候不阻塞其他用户读,阻塞其他用户写。写时候,读写都阻塞)

MyISAM表级锁有俩种特性,表共享读锁和表独占写锁。就是说对MyIASM表进行读操作时,它不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写操作;而对MyISAM表的写操作,会阻塞其他用户对同一表的读和写操作。

InnoDB与MyISAM什么时候才适用?
大量的查用MyISAM ,因为MyISAM不支持事务,可以提供高速的储存和检索。
大量的增删改用InnoDB,因为InoDB支持事务,如果增删改出错时候还能进行回滚的操作。

三 事务的特性

事务: 事务是一个操作序列,这些操作要么全部执行,要么都不执行,它是一个不可分割的工作单位,事务是数据库维护数据一致性的单位,在每个事务结束时候,它都能保持数据一致性。

数据库事务的四大特征:
原子性 一致性 隔离性 持久性 (ACID)
原子性: 整个数据库的事务是不可分割的一单位,只有数据库中的操作全部执行成功,整个事务才算是执行成功。如果数据库的操作没有执行成功,那么本次操作必须全部撤销。
一致性:一个事务的执行,必须使数据库从一个状态变为另外一个状态,从事务的开始到事务的结束,事务的完整性约束都没有被破坏。
隔离性:一个事务的影响在该事务提交之前对其他事务是不可见的—是通过锁来实现的。
持久性:当事务提交之后,对数据库的造成的影响是永久的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值