三级模式两级映射

2.系统架构设计师-数据库_第一范式

数据库设计过程

需求分析 -> 概念结构设计(ER模型) -> 逻辑结构设计(关系模式) -> 物理设计

2.系统架构设计师-数据库_主键_02

ER模型

2.系统架构设计师-数据库_第一范式_03

2.系统架构设计师-数据库_完整性约束_04

2.系统架构设计师-数据库_主键_05

关系代数

2.系统架构设计师-数据库_完整性约束_06

投影可以理解为select、选择可以理解为where。

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

联接可以理解为inner join。

2.系统架构设计师-数据库_主键_08

规范化理论

函数依赖

2.系统架构设计师-数据库_主键_09

价值与用途

2.系统架构设计师-数据库_主键_10

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

多个属性组成的超键(学号、性别)可以唯一标识元组 -> 去掉多余属性称为侯选键(学号) ->任选一个外键成为主键(学号或者身份证号都可以成为主键,但是只能有个一个成为主键)

2.系统架构设计师-数据库_完整性约束_12

范式

2.系统架构设计师-数据库_主键_13

第一范式

不可分割

2.系统架构设计师-数据库_完整性约束_14

去掉高级职称人数即可满足第一范式(高级职称可以拆分为教授和副教授)

第二范式

满足第一范式的情况下,每一个非主属性完全依赖主键。

2.系统架构设计师-数据库_软考_15

课程学分不完全依赖主键(课程学分依赖课程号)所以不满足第二范式,会出现数据冗余、更新异常、插入异常、删除异常。只需要把课程号和课程学分单独拆出来组成一个表即可。

第三范式

2.系统架构设计师-数据库_完整性约束_16

达到第二范式,消除主属性对侯选建的传递依赖。

BCNF范式

2.系统架构设计师-数据库_软考_17

模式分解

2.系统架构设计师-数据库_软考_18

无损分解练习

2.系统架构设计师-数据库_完整性约束_19

适合一分为二的方法:交集部是主键,能推算出某一个关系模式的全部.

2.系统架构设计师-数据库_软考_20

并发控制

2.系统架构设计师-数据库_软考_21

并发产生的问题

并发产生丢失更新、不可重复度、脏读等问题。

2.系统架构设计师-数据库_第一范式_22

封锁协议

为了解决并发产生的问题,提出了封锁协议。

2.系统架构设计师-数据库_软考_23

一级封锁协议:加X排他锁。(防止丢失更新)

二级封锁协议:在一级基础上,在读取前加S共享锁。(防止丢失更新、脏数据)

三级封锁协议:在一级基础上,在读取前加S共享锁,直到事务结束(事务中可能读取多次)。(防止丢失更新、脏数据、不可重复读)

数据库完整性约束

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

实体完整性约束:不能为空、不能重复(主键)。

参照性完整性约束:要求填入的数据为对应表的主键的数据,可以为空(外键)。

用户自定义完整性约束:对数据进行自定义设置,如年龄、性别。

数据库安全

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

数据备份

2.系统架构设计师-数据库_软考_26

2.系统架构设计师-数据库_完整性约束_27

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

分布式数据库体系结构

2.系统架构设计师-数据库_主键_29

2.系统架构设计师-数据库_第一范式_30

数据库优化

2.系统架构设计师-数据库_主键_31

数据仓库与数据挖掘

2.系统架构设计师-数据库_完整性约束_32

联邦数据库

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

2.系统架构设计师-数据库_主键_33

NoSQL

2.系统架构设计师-数据库_完整性约束_34

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

反规范化技术

2.系统架构设计师-数据库_完整性约束_36

大数据

2.系统架构设计师-数据库_第一范式_37


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