
数据库
陈浩learning
熟悉java、东北大学软件学院毕业生,曾任职于美团, 目前聚焦于AR VR领域, 任职于Presence
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL与隔离级别
图画得有点丑… 引言 对于数据库的事务ACID特性我在之前的一篇文章中写过: 链接,用一张图表示可以如下所示。 图中的两个矩形表示为两个事务。在一个事务中可以体现 原子性(右侧中的select update select三个操作都成功或都不成功) 一致性: 如果有多个表的话,多表之间的约束,比如外键关系要保证不被破坏 持久性: 持久性表示数据库的修改都要落到磁盘上,往往在机房断电,崩溃等重大不可中断的问题发生时体现。 除此之外,还有再不同事务间体现的"隔离性"。 事务三大伴生问题 1. 脏读 读取到未原创 2020-10-10 22:12:58 · 1465 阅读 · 0 评论 -
数据库范式 一范式 二范式 三范式 BC范式
范式 理解 相关定义: 范式定义:数据表设计时所符合的设计标准的级别 函数依赖理论 函数依赖: 属性集 α 决定属性集 β ,则称有函数依赖 α→βα→βα \to β 函数依赖的闭包 F^+^: 由关系模式R直观得到的函数依赖F所推出的所有隐含的或未隐含的函数依赖的集合 逻辑蕴含: F能推出 原不直观存在于 函数依赖集F 中的函数依赖 α ...原创 2018-05-28 19:50:34 · 1665 阅读 · 0 评论 -
数据库保持依赖算法
数据库保持依赖算法 存在一个关系模式R,将此关系模式分解成{RiRi R_i },且i ∈∈ \in{1,2,3,4,……n} 此关系模式对应有函数依赖 F 有如下算法(伪代码)判断是否该关系模式分解为保持依赖的: for each (α→β)∈F(α→β)∈F(α \to β) \in F //计算F中α在所有Ri上的属性闭包α+Ri上的属性闭包α+R_i 上 的属性...原创 2018-05-28 19:51:50 · 2020 阅读 · 0 评论 -
BCNF分解算法
BCNF分解算法 存在一个关系模式R,并且此关系模式中存在α→βα→βα \to β 违反了BC范式分解条件 设 将此关系模式R 分解为 {R_i} ,其中 i 为1,2,3,4…..n BC分解算法如下所述: result = R R_1 = 空集 for i in 1,2,3,4....n if R_i 关系模式中有 α --> β 违反了 BC范式 ...原创 2018-05-28 19:53:35 · 7734 阅读 · 0 评论 -
三范式分解算法
三范式是BC范式的放宽 三范式条件(满足一个即可): 1. α–>β是平凡的函数依赖,除了子集和父集的函数依赖,大多的函数依赖都是非平凡的 2. α是关系模式R的一个超码 3. (β-α)属性集里的所有属性都被包含在 R的candidate key里,注意 (β-α)的属性集里的所有元素,可以 分别被包含在多个 candidate key中 三范式分解算法伪代码如下: //在关...原创 2018-05-28 20:21:00 · 10569 阅读 · 1 评论 -
关系数据库设计 函数依赖 逻辑蕴含
范式定义:数据表设计时所符合的设计标准的级别 函数依赖理论 函数依赖: 属性集 α 决定属性集 β ,则称有函数依赖 α→βα→βα \to β 逻辑蕴含: F能推出 原不直观存在于 函数依赖集F 中的函数依赖 α →→\to β,则成α→→\toβ被函数依赖集F逻辑蕴含 函数依赖的闭包 F+F+F^+: 由关系模式R直观得到的函数依赖F所推出的所有隐含的或未隐含的(直观...原创 2018-05-29 20:51:49 · 12709 阅读 · 4 评论 -
数据库事务 ACID
数据库事务 事务的四大性质(ACID) Atomicity原子性 事务中的所有的读写操作,要么全执行,要么全都不执行 Consistecy一致性 举例说明:有A账户400元,B账户200元,A账户转100到B账户,结果为A(300),B(300)。其中400+200=300+300,这就是一致性 Isolation隔离性 举例说明:有两个事务T1和T2;T1内的所有的读写操作和T2...原创 2018-05-30 20:59:54 · 522 阅读 · 0 评论