MySQL知识总结

一、数据库基础

MySQL事务处理

保证数据库不包含不完整的操作结果
事务:transaction
回退:rollback
提交:commit
保留点:savepoint 在处务处理中设置的临时占位符(place-holder),对它发布回退
原子性;一致性;隔离性;持久性
InnoDB和BDB存储引擎
REDO日志:首先将REDO日志写入到日志缓存区,当客户端执行COMMIT命令提交时,日志缓冲区内容将刷新到磁盘,以参数innodb_flush_log_at_trx_commit
UNDO日志:.db数据文件
set autocommit=0;
事务隔离级别:set global transaction isolation level read uncommitted/read committed/repeatable read/serializable;
读取未提交的数据被称为脏读(Dirty Read)
大多数数据库系统默认隔离级别:READ-COMMITTED,支持Nonrepeatable Read,同一查询可能返回不同结果,同一事务的其他实例在该实例处理期间可能会有新的数据提交导致数据改变
MySQL默认事务隔离级别:REPEATABLE-READ,InnoDB和Falcon通过MVCC(Multi_Vertion Concurrency Control,多版本并发控制)解决了幻读(Phantom Read):第1事务在事务2提交后数据依然没变;在每个数据行增加两个隐含值的方式来实现,记录每行的创建时间和过期时间
最高的隔离级别:Serializable,在每个读的数据行上加上共享锁,在强制事务排序,可能导致大量的超时现象和锁竞争。
部分DDL语句会造成隐式的提交,如,alter table 、truncate table、drop table
低级别的隔离级别可以支持更高的并发处理,同时占用的系统资源更少
InnDB锁机制
http://www.cnblogs.com/Jessy/p/3540724.html
MyISAM采用表锁,InooDB采用行锁
锁的类型:共享锁、排它锁、意向锁 (共享锁、互斥锁
锁粒度(Lock granularity):行锁,表锁

两段锁协议:阶段1:加锁阶段 阶段2:解锁阶段

死锁及处理:事务循环等待数据锁,则会死锁。

死锁处理:预防死锁协议,死锁恢复机制

2017-09-14

乐观锁、悲观锁及其实现

数据库模式

出处:http://database.51cto.com/art/201108/279952.htm

对于数据库的三级模式和两级映射,可能我们并不陌生。三级模式指的是外模式模式内模式。两级映射指的是外模式-模式和模式-内模式。本文我们主要介绍一下数据库的三级模式的一些知识,希望能够对您有所帮助。

一、模式(Schema)

定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为基础; ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。

二、外模式(External Schema)

定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

理解: ① 一个数据库可以有多个外模式; ② 外模式就是用户视图; ③ 外模式是保证数据安全性的一个有力措施。

三、内模式(Internal Schema)

定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。

理解: ① 一个数据库只有一个内模式; ② 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有: ① 为了减少数据冗余,实现数据共享; ② 为了提高存取效率,改善性能。


数据库索引


出处:http://database.51cto.com/art/201005/202796.htm  内含数据库基础链接

二、未知知识点
1.完整性约束:实体完整性、参照完整性、用户定义完整性
2.第三范式:

1NF:每个属性是不可分的。 2NF:若关系R是1NF,且每个非主属性都完全函数依赖于R的键。例SLC(SID#, CourceID#, SNAME,Grade),则不是2NF; 3NF:若R是2NF,且它的任何非键属性都不传递依赖于任何候选键。

3.ER(实体/联系)模型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值