From 5fc0ea781c5c15728e8a1edf9471055ec42745dc Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Thu, 8 Mar 2018 15:26:36 +0800
Subject: [PATCH] auto commit
---
README.md | 4 +
notes/数据库系统原理.md | 351 ++++++++++++++++++
pics/292b4a35-4507-4256-84ff-c218f108ee31.jpg | Bin 0 -> 7168 bytes
pics/423f2a40-bee1-488e-b460-8e76c48ee560.png | Bin 0 -> 9216 bytes
pics/4995b547-5620-45af-89d7-10f35c9621a1.jpg | Bin 0 -> 19456 bytes
pics/785806ed-c46b-4dca-b756-cebe7bf8ac3a.jpg | Bin 0 -> 106496 bytes
pics/7ec9d619-fa60-4a2b-95aa-bf1a62aad408.jpg | Bin 0 -> 19456 bytes
pics/8b798007-e0fb-420c-b981-ead215692417.jpg | Bin 0 -> 9216 bytes
pics/8ef22836-8800-4765-b4b8-ade80096b323.jpg | Bin 0 -> 12288 bytes
pics/b0748916-1acd-4138-b24c-69326cb452fe.jpg | Bin 0 -> 13312 bytes
pics/b6a678c0-c875-4038-afba-301846620786.jpg | Bin 0 -> 44032 bytes
pics/de9b9ea0-1327-4865-93e5-6f805c48bc9e.png | Bin 0 -> 17408 bytes
12 files changed, 355 insertions(+)
create mode 100644 notes/数据库系统原理.md
create mode 100644 pics/292b4a35-4507-4256-84ff-c218f108ee31.jpg
create mode 100644 pics/423f2a40-bee1-488e-b460-8e76c48ee560.png
create mode 100644 pics/4995b547-5620-45af-89d7-10f35c9621a1.jpg
create mode 100644 pics/785806ed-c46b-4dca-b756-cebe7bf8ac3a.jpg
create mode 100644 pics/7ec9d619-fa60-4a2b-95aa-bf1a62aad408.jpg
create mode 100644 pics/8b798007-e0fb-420c-b981-ead215692417.jpg
create mode 100644 pics/8ef22836-8800-4765-b4b8-ade80096b323.jpg
create mode 100644 pics/b0748916-1acd-4138-b24c-69326cb452fe.jpg
create mode 100644 pics/b6a678c0-c875-4038-afba-301846620786.jpg
create mode 100644 pics/de9b9ea0-1327-4865-93e5-6f805c48bc9e.png
diff --git a/README.md b/README.md
index 049f31d1..a9e4de17 100644
--- a/README.md
+++ b/README.md
@@ -60,6 +60,10 @@
## 数据库 :floppy_disk:
+> [数据库系统原理](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/数据库系统原理.md)
+
+整理自《数据库系统概论 第四版》
+
> [SQL 语法](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/SQL%20语法.md)
整理自《SQL 必知必会》
diff --git a/notes/数据库系统原理.md b/notes/数据库系统原理.md
new file mode 100644
index 00000000..a2315270
--- /dev/null
+++ b/notes/数据库系统原理.md
@@ -0,0 +1,351 @@
+
+* [事务四大特性](#事务四大特性)
+ * [原子性](#原子性)
+ * [一致性](#一致性)
+ * [隔离性](#隔离性)
+ * [持久性](#持久性)
+* [数据不一致](#数据不一致)
+ * [丢失修改](#丢失修改)
+ * [读脏数据](#读脏数据)
+ * [不可重复读](#不可重复读)
+* [隔离级别](#隔离级别)
+ * [未提交读(READ UNCOMMITTED)](#未提交读read-uncommitted)
+ * [提交读(READ COMMITTED)](#提交读read-committed)
+ * [可重复读(REPEATABLE READ)](#可重复读repeatable-read)
+ * [可串行化(SERIALIXABLE)](#可串行化serialixable)
+* [可串行化调度](#可串行化调度)
+* [封锁类型](#封锁类型)
+* [封锁粒度](#封锁粒度)
+* [封锁协议](#封锁协议)
+ * [三级封锁协议](#三级封锁协议)
+ * [两段锁协议](#两段锁协议)
+* [乐观锁和悲观锁](#乐观锁和悲观锁)
+ * [悲观锁](#悲观锁)
+ * [乐观锁](#乐观锁)
+ * [MySQL 隐式和显示锁定](#mysql-隐式和显示锁定)
+* [范式](#范式)
+ * [第一范式 (1NF)](#第一范式-1nf)
+ * [第二范式 (2NF)](#第二范式-2nf)
+ * [第三范式 (3NF)](#第三范式-3nf)
+ * [BC 范式(BCNF)](#bc-范式bcnf)
+* [约束](#约束)
+ * [键码](#键码)
+ * [单值约束](#单值约束)
+ * [引用完整性约束](#引用完整性约束)
+ * [域约束](#域约束)
+ * [一般约束](#一般约束)
+* [数据库的三层模式和两层映像](#数据库的三层模式和两层映像)
+ * [外模式](#外模式)
+ * [模式](#模式)
+ * [内模式](#内模式)
+ * [外模式/模式映像](#外模式模式映像)
+ * [模式/内模式映像](#模式内模式映像)
+* [ER 图](#er-图)
+ * [实体的三种联系](#实体的三种联系)
+ * [表示出现多次的关系](#表示出现多次的关系)
+ * [联系的多向性](#联系的多向性)
+ * [表示子类](#表示子类)
+* [一些概念](#一些概念)
+* [参考资料](#参考资料)
+
+
+
+# 事务四大特性
+
+## 原子性
+
+要么都执行,要么都不执行。
+
+## 一致性
+
+事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。
+
+## 隔离性
+
+多个事务单独执行,互不影响。
+
+## 持久性
+
+即使系统发生故障,事务执行的结果也不能丢失。持久性通过数据库备份和恢复来保证。
+
+# 数据不一致
+
+## 丢失修改
+
+T1 和 T2 两个事务同时对一个数据进行修改,T1 先修改,T2 随后修改,T2 的修改覆盖了 T1 的修改。
+
+## 读脏数据
+
+T1 做修改后写入数据库,T2 读取这个修改后的数据,但是如果 T1 撤销了这次修改,使得 T2 读取的数据是脏数据。
+
+## 不可重复读
+
+T1 读入某个数据,T2 对该数据做了修改,如果 T1 再读这个数据,该数据已经改变,和最开始读入的是不一样的。
+
+# 隔离级别
+
+数据库管理系统需要防止数据出现不一致,并且有多种级别可以实现,这些级别称为隔离级别。
+
+## 未提交读(READ UNCOMMITTED)
+
+一个事务可以读取自己的未提交数据,也被称为脏读。
+
+## 提交读(READ COMMITTED)
+
+一个事务可以读取自己的已提交数据,但是该数据可能过后就会被其它事务改变,因此也称为不可重复读。
+
+## 可重复读(REPEATABLE READ)
+
+保证在同一个事务中多次读取同样的记录结果是一致的。但是会出现幻读的问题,所谓幻读,指的是某个事务在读取某个范围内的记录时,其它事务会在范围内插入数据,产生幻行。
+
+## 可串行化(SERIALIXABLE)
+
+强制事务串行执行,避免幻行的出现。
+
+# 可串行化调度
+
+如果并行的事务的执行结果和某一个串行的方式执行的结果一样,那么可以认为结果是正确的。
+
+# 封锁类型
+
+排它锁 (X 锁 ),共享锁 (S 锁 )
+
+一个事务 T 对数据对象 A 加了 X 锁,T 就可以对 A 进行读取和更新。加锁期间其它事务不能对数据对象 A 加任何其它锁;
+
+一个事务 T 对数据对象加了 S 锁,T 可以对 A 进行读取操作,但是不能进行更新操作。加锁期间其它事务能对数据对象 A 加 S 锁,但是不能加 X 锁。
+
+# 封锁粒度
+
+粒度可以是整个数据库,也可以是表,行,或者分量。
+
+粒度越小,开销越大。
+
+# 封锁协议
+
+## 三级封锁协议
+
+(1) 1 级封锁协议
+
+事务 T 要修改数据 A 时必须加 X 锁,直到事务结束才释放锁。
+
+可以解决丢失修改问题;
+
+(2) 2 级封锁协议
+
+在 1 级的基础上,要求读取数据 A 时必须加 S 锁,读取完马上释放 S 锁。
+
+可以解决读脏数据问题,因为如果一个事务在对数据 A 进行修改,根据 1 级封锁协议,会加 X 锁,那么就不能再加 S 锁了,也就是不会读入数据。
+
+(3) 3 级封锁协议
+
+在 2 级的基础上,要求读取数据 A 时必须加 S 锁,直到事务结束了才能释放 S 锁。
+
+可以解决不可重复读的问题,因为读 A 时,其它事务不能对 A 加 X 锁,从而避免了在读的期间数据发生改变。
+
+
+
+## 两段锁协议
+
+加锁和解锁分为两个阶段进行。两段锁是并行事务可串行化的充分条件,但不是必要条件。
+
+```html
+lock-x(A)...lock-s(B)...lock-s(c)...unlock(A)...unlock(C)...unlock(B)
+```
+
+# 乐观锁和悲观锁
+
+## 悲观锁
+
+假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。
+
+Java synchronized 就属于悲观锁的一种实现,每次线程要修改数据时都先获得锁,保证同一时刻只有一个线程能操作数据,其他线程则会被阻塞。
+
+## 乐观锁
+
+假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。
+
+Java JUC 中的 atomic 包就是乐观锁的一种实现,AtomicInteger 通过 CAS(Compare And Set)操作实现线程安全的自增。
+
+乐观锁有两种实现方式,数据版本和时间戳。它们都需要在数据库表中增加一个字段,使用这个字段来判断数据是否过期。例如,数据版本实现方式中,需要在数据库表中增加一个数字类型的 version 字段,当读取数据时,将 version 字段的值一同读出。随后数据每更新一次,对此 version 值加 1。当提交更新的时候,判断读出的 version 和数据库表中的 version 是否一致,如果一致,则予以更新;否则认为是过期数据。
+
+## MySQL 隐式和显示锁定
+
+MySQL InnoDB 采用的是两阶段锁协议。在事务执行过程中,随时都可以执行锁定,锁只有在执行 COMMIT 或者 ROLLBACK 的时候才会释放,并且所有的锁是在同一时刻被释放。前面描述的锁定都是隐式锁定,InnoDB 会根据事务隔离级别在需要的时候自动加锁。
+
+另外,InnoDB 也支持通过特定的语句进行显示锁定,这些语句不属于 SQL 规范:
+
+- ELECT ... LOCK IN SHARE MODE
+- SELECT ... FOR UPDATE
+
+# 范式
+
+记 A->B 表示 A 函数决定于 B,也就是 B 函数依赖于 A。
+
+如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。
+
+对于函数依赖 W->A,如果能找到 W 的真子集使得 A 依赖于这个真子集,那么就是部分依赖,否则就是完全依赖;
+
+以下关系中,Sno 表示学号,Cname 表示课程名,Sname 表示学生姓名,Sdept 表示学院,Mname 表示院长姓名。函数依赖为 (Sno, Cname) -> (Sname, Sdept, Mname)。注:实际开发过程中,不会出现这种表,而是每个实体都放在单独一张表中,然后实体之间的联系表用实体 id 来表示。
+
+
+
+不符合范式的关系,会产生很多异常。主要有以下四种异常:
+
+1. 冗余数据
+2. 修改异常
+3. 删除异常
+4. 插入异常,比如如果新插入一个学生的信息,而这个学生还没选课,那么就无法插入该学生。
+
+关系数据库的范式理论就是是为了解决这四种异常。
+
+高级别范式的依赖基于低级别的范式。
+
+## 第一范式 (1NF)
+
+属性不可分。
+
+## 第二范式 (2NF)
+
+每个非主属性完全函数依赖于键码。
+
+可以通过分解来满足。
+
+**分解前**
+
+
+
+
+
+**分解后**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 第三范式 (3NF)
+
+非主属性不传递依赖于键码。
+
+上述 S1 存在传递依赖,Mname 依赖于 Sdept,而 Sdept 又依赖于 Sno,可以继续分解。
+
+
+
+## BC 范式(BCNF)
+
+所有属性不传递依赖于键码。
+
+关系模式 STC(Sname, Tname, Cname, Grade),其中四个属性分别为学生姓名、教师姓名、课程名和成绩。有以下函数依赖:
+
+
+
+
+
+
+
+
+
+
+
+分解成 SC(Sname, Cname, Grade) 和 ST(Sname, Tname),对于 ST,属性之间是多对多关系,无函数依赖。
+
+# 约束
+
+## 键码
+
+用于唯一表示一个实体。键码可以由多个属性构成,每个构成键码的属性成为码。
+
+## 单值约束
+
+某个属性的值是唯一的。
+
+## 引用完整性约束
+
+一个实体的属性引用的值在另一个实体的某个属性中存在。
+
+## 域约束
+
+某个属性的值在特定范围之内。
+
+## 一般约束
+
+一般性约束,比如大小约束,数量约束。
+
+# 数据库的三层模式和两层映像
+
+外模式:局部逻辑结构;模式:全局逻辑结构;内模式:物理结构。
+
+## 外模式
+
+又称用户模式,是用户和数据库系统的接口,特定的用户只能访问数据库系统提供给他的外模式中的数据。例如不同的用户创建了不同数据库,那么一个用户只能访问他有权限访问的数据库。一个数据库可以有多个外模式,一个用户只能有一个外模式,但是一个外模式可以给多个用户使用。
+
+## 模式
+
+可以分为概念模式和逻辑模式,概念模式可以用概念 - 关系来描述;逻辑模式使用特定的数据模式(比如关系模型)来描述数据的逻辑结构,这种逻辑结构包括数据的组成、数据项的名称、类型、取值范围。不仅如此,逻辑模式还要描述数据之间的关系,数据的完整性与安全性要求。
+
+## 内模式
+
+又称为存储模式,描述记录的存储方式,例如索引的组织方式、数据是否压缩以及是否加密等等。
+
+## 外模式/模式映像
+
+把外模式的局部逻辑结构和模式的全局逻辑结构联系起来。该映像可以保证数据和应用程序的逻辑独立性。
+
+## 模式/内模式映像
+
+把模式的全局逻辑结构和内模式的物理结构联系起来,该映像可以保证数据和应用程序的物理独立性。
+
+# ER 图
+
+Entity-Relationship,包含三个部分:实体、属性、联系。
+
+## 实体的三种联系
+
+联系包含 1 对 1,1 对多,多对多三种。
+
+如果 A 到 B 是 1 对多关系,那么画个带箭头的线段指向 B;如果是 1 对 1,画两个带箭头的线段;如果是多对多,画两个不带箭头的线段。
+
+
+
+## 表示出现多次的关系
+
+一个实体在联系出现几次,就要用几条线连接。如下表示一个课程的先修关系,先修关系中,应当出现两个 Course 实体,第一个是先修课程,后一个是后修课程,因此需要用两条线来表示这种关系。
+
+
+
+## 联系的多向性
+
+下图中一个联系表示三个实体的关系。虽然老师可以开设多门课,并且可以教授多名学生,但是对于特定的学生和课程,只有一个老师教授,这就构成了一个三元联系。
+
+
+
+一般只使用二元联系,可以把多元关系转换为二元关系。
+
+
+
+## 表示子类
+
+用 is-a 联系来表示子类,具体做法是用一个三角形和两条线来连接类和子类。与子类有关的属性和联系都连到子类上,而与父类和子类都有关的连到父类上。
+
+
+
+# 一些概念
+
+**数据模型** 由数据结构、数据操作和完整性三个要素组成。
+
+**数据库系统** 包括了数据库,数据库管理系统,应用程序以及数据库管理员和用户,还包括相关的硬件和软件。也就是说数据库系统包含所有与数据库相关的内容。
+
+# 参考资料
+
+- 史嘉权. 数据库系统概论[M]. 清华大学出版社有限公司, 2006.
+- [MySQL 乐观锁与悲观锁 ](https://www.jianshu.com/p/f5ff017db62a)
diff --git a/pics/292b4a35-4507-4256-84ff-c218f108ee31.jpg b/pics/292b4a35-4507-4256-84ff-c218f108ee31.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..38e0905b3ff5f470d16c362fb7d3c9fb92d4b2dc
GIT binary patch
literal 7168
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
literal 0
HcmV?d00001
diff --git a/pics/785806ed-c46b-4dca-b756-cebe7bf8ac3a.jpg b/pics/785806ed-c46b-4dca-b756-cebe7bf8ac3a.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a94698124fb7498b965a877ffd39888d3ff17495
GIT binary patch
literal 106496
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