导图社区 数据库规范化设计
这是一篇关于数据库规范化设计的思维导图,主要内容包括:基本概念,函数依赖理论,关系模式分解,范式理论,高级范式,模式设计原则。
这是一篇关于结构化查询语言(SQL)的思维导图,主要内容包括:SQL概述,数据定义,数据查询,数据更新。
这是一篇关于第3章 关系运算的思维导图,主要内容包括:关系数据模型,关系代数,关系演算,查询优化。内容全面且逻辑清晰。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据库规范化设计
基本概念
1.1 关系模式的设计问题
外延(Extension):关系、表或当前值,随时间变化
内涵(Intension):数据定义和完整性约束,包括静态约束(数据依赖、主键设计)和动态约束(操作影响)
1.2 泛关系模式与数据库模式
泛关系模式:现实问题所有属性组成的关系模式R(U)
数据库模式:分解后的关系模式集合ρ={R₁, R₂, ..., Rₖ},满足R₁∪R₂∪...∪Rₖ=U
1.3 关系模式的冗余和异常问题
数据冗余:同一数据多次重复出现
操作异常:
修改异常:数据冗余导致修改不一致
插入异常:无主键值时出现空值
删除异常:删除操作导致信息丢失
函数依赖理论
2.1 函数依赖定义
函数依赖(FD):形如X→Y的命题,表示X值决定Y值
平凡FD:Y⊆X
非平凡FD:Y⊈X
2.2 FD的推理规则
Armstrong公理系统:
A1自反性:若Y⊆X,则X→Y
A2增广性:若X→Y,则XZ→YZ
A3传递性:若X→Y且Y→Z,则X→Z
实用推理规则:合并性、分解性、伪传递性等
2.3 属性集闭包和最小依赖集
属性集闭包X⁺:从F能推出的所有满足X→A的属性A集合
最小依赖集Fₘᵢₙ:无冗余FD、右边为单属性、左边无冗余属性
关系模式分解
3.1 模式分解的定义
用ρ={R₁, R₂, ..., Rₖ}代替R的过程
3.2 无损分解
定义:r = πᵣ₁(r) ⨝ ... ⨝ πᵣₖ(r)
测试方法:chase算法
二元分解定理:ρ={R₁, R₂}是无损分解⇔(R₁∩R₂)→(R₁-R₂)或(R₁∩R₂)→(R₂-R₁)
3.3 保持函数依赖
定义:∪πᵣᵢ(F) ⊨ F
重要性:保持数据语义完整性
范式理论
4.1 范式层次结构
1NF ⊃ 2NF ⊃ 3NF ⊃ BCNF ⊃ 4NF ⊃ 5NF
4.2 各范式具体要求
1NF:属性值为不可分的原子值
2NF:消除非主属性对候选键的局部依赖
3NF:消除非主属性对候选键的传递依赖
BCNF:消除主属性对候选键的传递依赖
4NF:消除非平凡多值依赖
5NF:消除非平凡连接依赖
4.3 分解方法
BCNF分解:消除非平凡FD X→Y中X不包含超键的情况
3NF分解:基于最小依赖集构造,保证无损分解和保持FD
高级范式
5.1 多值依赖(MVD)
定义:X→→Y表示属性间的一对多联系
推理规则:补规则、增广性、传递性等
与FD关系:若X→Y,则X→→Y
5.2 连接依赖(JD)
定义:模式可无损分解为多个模式的约束
模式设计原则
1. 6.1 三个基本原则
I. 表达性:数据等价(无损分解)和语义等价(保持依赖)
II. 分离性:清除冗余和异常现象
III. 最小冗余性:模式个数和属性总数最少
2. 6.2 设计权衡
I. 优先考虑BCNF,必要时降为3NF以保持函数依赖
II. 实际应用中可适当保留冗余以提高查询效率