一、数据库基础
MySQL事务处理
原子性;一致性;隔离性;持久性
InnoDB和BDB存储引擎
REDO日志:首先将REDO日志写入到日志缓存区,当客户端执行COMMIT命令提交时,日志缓冲区内容将刷新到磁盘,以参数innodb_flush_log_at_trx_commit
UNDO日志:.db数据文件
事务隔离级别:set global transaction isolation level read uncommitted/read committed/repeatable read/serializable;
InnDB锁机制
两段锁协议:阶段1:加锁阶段 阶段2:解锁阶段
死锁及处理:事务循环等待数据锁,则会死锁。
死锁处理:预防死锁协议,死锁恢复机制
2017-09-14
乐观锁、悲观锁及其实现
数据库模式
对于数据库的三级模式和两级映射,可能我们并不陌生。三级模式指的是外模式、模式和内模式。两级映射指的是外模式-模式和模式-内模式。本文我们主要介绍一下数据库的三级模式的一些知识,希望能够对您有所帮助。
一、模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为基础; ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(External Schema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解: ① 一个数据库可以有多个外模式; ② 外模式就是用户视图; ③ 外模式是保证数据安全性的一个有力措施。
三、内模式(Internal Schema)
定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解: ① 一个数据库只有一个内模式; ② 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有: ① 为了减少数据冗余,实现数据共享; ② 为了提高存取效率,改善性能。
数据库索引
1NF:每个属性是不可分的。 2NF:若关系R是1NF,且每个非主属性都完全函数依赖于R的键。例SLC(SID#, CourceID#, SNAME,Grade),则不是2NF; 3NF:若R是2NF,且它的任何非键属性都不传递依赖于任何候选键。