Java教程

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

本文主要是介绍2.系统架构设计师-数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

三级模式两级映射

image

数据库设计过程

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

ER模型

image

image
image

关系代数

image
投影可以理解为select、选择可以理解为where。
image
联接可以理解为inner join。
image

规范化理论

函数依赖

image

价值与用途

image

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

范式

image

第一范式

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

第二范式

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

第三范式

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

BCNF范式

image

模式分解

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

并发控制

image

并发产生的问题

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

封锁协议

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

数据库完整性约束

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

数据库安全

image

数据备份

image
image
image

分布式数据库体系结构

image
image

数据库优化

image

数据仓库与数据挖掘

image

联邦数据库

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

NoSQL

image
image

反规范化技术

image

大数据

image

这篇关于2.系统架构设计师-数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!