2.系统架构设计师-数据库

三级模式两级映射

2.系统架构设计师-数据库

数据库设计过程

需求分析 -> 概念结构设计(ER模型) -> 逻辑结构设计(关系模式) -> 物理设计
2.系统架构设计师-数据库

ER模型

2.系统架构设计师-数据库

2.系统架构设计师-数据库
2.系统架构设计师-数据库

关系代数

2.系统架构设计师-数据库
投影可以理解为select、选择可以理解为where。
2.系统架构设计师-数据库
联接可以理解为inner join。
2.系统架构设计师-数据库

规范化理论

函数依赖

2.系统架构设计师-数据库

价值与用途

2.系统架构设计师-数据库

2.系统架构设计师-数据库
多个属性组成的超键(学号、性别)可以唯一标识元组 -> 去掉多余属性称为侯选键(学号) ->任选一个外键成为主键(学号或者身份证号都可以成为主键,但是只能有个一个成为主键)
2.系统架构设计师-数据库

范式

2.系统架构设计师-数据库

第一范式

不可分割
2.系统架构设计师-数据库
去掉高级职称人数即可满足第一范式(高级职称可以拆分为教授和副教授)

第二范式

满足第一范式的情况下,每一个非主属性完全依赖主键。
2.系统架构设计师-数据库
课程学分不完全依赖主键(课程学分依赖课程号)所以不满足第二范式,会出现数据冗余、更新异常、插入异常、删除异常。只需要把课程号和课程学分单独拆出来组成一个表即可。

第三范式

2.系统架构设计师-数据库
达到第二范式,消除主属性对侯选建的传递依赖。

BCNF范式

2.系统架构设计师-数据库

模式分解

2.系统架构设计师-数据库
无损分解练习
2.系统架构设计师-数据库
适合一分为二的方法:交集部是主键,能推算出某一个关系模式的全部.
2.系统架构设计师-数据库

并发控制

2.系统架构设计师-数据库

并发产生的问题

并发产生丢失更新、不可重复度、脏读等问题。
2.系统架构设计师-数据库

*协议

为了解决并发产生的问题,提出了*协议。
2.系统架构设计师-数据库
一级*协议:加X排他锁。(防止丢失更新)
二级*协议:在一级基础上,在读取前加S共享锁。(防止丢失更新、脏数据)
三级*协议:在一级基础上,在读取前加S共享锁,直到事务结束(事务中可能读取多次)。(防止丢失更新、脏数据、不可重复读)

数据库完整性约束

2.系统架构设计师-数据库
实体完整性约束:不能为空、不能重复(主键)。
参照性完整性约束:要求填入的数据为对应表的主键的数据,可以为空(外键)。
用户自定义完整性约束:对数据进行自定义设置,如年龄、性别。

数据库安全

2.系统架构设计师-数据库

数据备份

2.系统架构设计师-数据库
2.系统架构设计师-数据库
2.系统架构设计师-数据库

分布式数据库体系结构

2.系统架构设计师-数据库
2.系统架构设计师-数据库

数据库优化

2.系统架构设计师-数据库

数据仓库与数据挖掘

2.系统架构设计师-数据库

联邦数据库

联邦数据库区别于分布式数据库,联邦自治程度高,各个系统自治性比较高,只需要用公共标准的统一接口交互就可以了。
2.系统架构设计师-数据库

NoSQL

2.系统架构设计师-数据库
2.系统架构设计师-数据库

反规范化技术

2.系统架构设计师-数据库

大数据

2.系统架构设计师-数据库