数据库小结(面试)
来源:互联网 发布:淘宝店怎么找上家 编辑:程序博客网 时间:2024/06/04 19:09
数据库总结:
一、设计表三大范式:
1NF:列的原子性;数据表的每一列保证原子性,即不可拆分
2NF:在1NF的基础上,必须要有主键,且其他列必须完全依赖主键,而不是依赖主键的一部分
3NF:在2NF的基础上,其他列必须直接依赖不能间接依赖或传递依赖
二、事务:
1、常见操作,创建事务,提交事务,回滚事务
2、特性:ACID
原子性:每个事务要么一起成功,要么一起失败
一致性:事务操作数据库的前后保证数据整体的一致性
隔离性:并发执行的事务彼此隔离,不不干扰
持久性:事务对数据库的修改为永久的
3、并发问题:脏读,幻读,不可重复读
脏读:a事务在执行过程中未提交,b事务读取到了a事务执行过程中的数据,最后a事务回滚
幻读与不可重复读:幻读和不可重复读都是提交了上一条事务已经提交的结果,不可重复读重点在于delete和update,幻读在于insert
4、隔离级别:读未提交,读已提交,可重复读,串行化
读未提交(最低级别):任何情况都无法保证
读已提交:可避免脏读的发生
可重复读:可避免脏读和不可重复读
串行化(最高级别):能够避免脏读,幻读,不可重复读
三、锁
1、锁模式:共享锁(读所),排它锁(写锁,x锁),更新锁(u锁)
2、锁的粒度类型:
行锁粒度大,并发性最高
页锁:一次锁定一页
表锁:粒度小,并发性低
数据库锁:控制整个数据库的操作
3、乐观锁与悲观锁
乐观锁:假设不会冲突,每次访问数据库携带一个版本信息,所以在相应数据表就要加一个版本信息字段,用于判断是否执行更新操作,一般如果版本信息低于相应数据的版本信息,则不允许更新,反之,则允许更新
悲观锁:一定会冲突,因此是完全隔离的操作,每次对数据库进行更新,拿到锁,则转换为完全占有的状态,不允许其他人访问
一、设计表三大范式:
1NF:列的原子性;数据表的每一列保证原子性,即不可拆分
2NF:在1NF的基础上,必须要有主键,且其他列必须完全依赖主键,而不是依赖主键的一部分
3NF:在2NF的基础上,其他列必须直接依赖不能间接依赖或传递依赖
二、事务:
1、常见操作,创建事务,提交事务,回滚事务
2、特性:ACID
原子性:每个事务要么一起成功,要么一起失败
一致性:事务操作数据库的前后保证数据整体的一致性
隔离性:并发执行的事务彼此隔离,不不干扰
持久性:事务对数据库的修改为永久的
3、并发问题:脏读,幻读,不可重复读
脏读:a事务在执行过程中未提交,b事务读取到了a事务执行过程中的数据,最后a事务回滚
幻读与不可重复读:幻读和不可重复读都是提交了上一条事务已经提交的结果,不可重复读重点在于delete和update,幻读在于insert
4、隔离级别:读未提交,读已提交,可重复读,串行化
读未提交(最低级别):任何情况都无法保证
读已提交:可避免脏读的发生
可重复读:可避免脏读和不可重复读
串行化(最高级别):能够避免脏读,幻读,不可重复读
三、锁
1、锁模式:共享锁(读所),排它锁(写锁,x锁),更新锁(u锁)
2、锁的粒度类型:
行锁粒度大,并发性最高
页锁:一次锁定一页
表锁:粒度小,并发性低
数据库锁:控制整个数据库的操作
3、乐观锁与悲观锁
乐观锁:假设不会冲突,每次访问数据库携带一个版本信息,所以在相应数据表就要加一个版本信息字段,用于判断是否执行更新操作,一般如果版本信息低于相应数据的版本信息,则不允许更新,反之,则允许更新
悲观锁:一定会冲突,因此是完全隔离的操作,每次对数据库进行更新,拿到锁,则转换为完全占有的状态,不允许其他人访问
阅读全文
0 0
- 数据库小结(面试)
- 数据库笔试和面试小结
- 程序员常见面试之 数据库 知识点小结(二)
- 程序员常见面试之 数据库 知识点小结(三)
- 面试小结(@20081029)
- 面试小结(@20081103)
- 面试小结(一)
- 面试小结(一)
- 面试小结(二)
- 面试小结(一)
- 面试小结
- 面试小结
- 面试小结
- 面试小结
- 面试小结
- 面试小结
- 面试小结
- 面试小结
- 框架和设计模式的区别
- error C2440: “类型转换”: 无法从“LPVOID”转换为“double
- Python网络数据采集
- Linux SoftEther VPN Client 使用说明
- Jmeter性能测试基础实战
- 数据库小结(面试)
- 唯快不破:UNIX网络编程--TCP网络编程中的listen
- C语言实现Base64编码/解码
- 数据结构实验之排序三:bucket sort
- 列出一个文件夹下的所有文件名(全路径)
- TCPIP常用协议头格式
- Sqoop 连接Oracle导入数据到hive
- 收藏的有价值的文章,感谢作者的分享!
- c语言数据结构的练习