当前位置:网站首页>【系统架构设计师】第三章 数据库系统
【系统架构设计师】第三章 数据库系统
2022-08-02 23:18:00 【313YPHU3】
【系统架构设计师】第三章 数据库系统
文章目录
数据库模式()
分布式数据库()
数据库设计阶段()
概念结构设计-ER模型()
逻辑结构设计-关系模式()
关系代数()
规范化理论()
并发控制()
数据库的安全性()
数据库备份与恢复技术()
数据库性能优化()
一、数据库模式
外模式和概念模式保证逻辑独立性,概念模式和内模式保证物理独立性
关系的 3 种类型
- 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示
- 查询表:查询结果对应的表
- 视图表:由基表或其他视图表导出来的表,本身不独立存储,数据库只存放它的定义,常称为虚表
数据库视图
他是一个虚拟表(逻辑上的表),其内容由查询定义(仅保存 SQL 查询语句)。同真实的表一样,示图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。因此视图的查询比较慢,性能较差
视图的优点
- 视图能简化用户操作
- 视图使用户能以多种角度看待同一数据
- 视图对重构数据库提供了一定程度的逻辑独立性
- 视图可以对机密数据提供安全保护
物化视图
它不是传统意义上的虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。但是当数据更新时,原表和物化视图都需要修改,导致整个系统变慢
二、分布式数据库
分布式数据库的特点
- 数据独立性:除了数据的逻辑独立性与物理独立性外,还有分布独立性(分布透明性)
- 集中与自治共享结合的控制结构:各局部的 DBMS 可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部 DBMS 的工作,执行全局应用
- 适当增加数据冗余度:在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能
- 全局的一致性、可串行性和可恢复性
三、数据库设计过程
四、概念结构设计
集成的方法
- 多个局部 E-R 图一次集成
- 逐步集成,用累加的方式一次集成两个局部 E-R
集成产生的冲突
- 属性冲突:包括属性冲突和属性取值冲突
- 命名冲突:包括同名异义和异名同义
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部 E-R 图中所包含的属性个数和属性排列次序不完全相同
五、关系模型基本概念
关系模型是一种数据模型,数据模型包含三要素:数据结构、数据操作、数据的约束条件
六、逻辑结构设计
E-R 图向关系模式的转换
- 实体向关系模式的转换
- 联系向关系模式的转换
关系模式的规范化
确定完整性约束(保证数据的正确性)
用户视图的确定(提高数据的安全性和独立性)
- 根据数据流图确定处理过程使用的视图
- 根据用户类别确定不同用户使用的视图
应用程序设计
七、关系代数
八、规范化理论
非规范化存在的问题
数据冗余、更新异常(修改操作一致性问题)、插入异常、删除异常
基本概念
设 R(U,F) 是属性 U 上的一个关系模式,X 和 Y 是 U 的子集,r 为 R 的任一关系,如果对于 r 中的任意两个元组 u,v,只要有 u[X]=v[X],就有 u[Y]=V[X],则称 X 函数决定 Y,或称 Y 函数依赖于 X,记为 X→Y
1.求候选键的过程
- 将关系模式的函数依赖用“有向图”的方式表示
- 找入度为 0 的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有节点,则该属性集即为关系模式的候选键
- 若入度为 0 的属性集不能遍历图中所有结点,则需要尝试性地将一些中间节点(既有入度,也有出度的结点)并入入度为 0 的属性集中,直至该集合能遍历所有结点,集合为候选键
2.Armstrong 公理
3.范式判断
第一范式
在关系模式 R 中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式 R 是第一范式
第二范式
当且仅当实体 E 是第一范式,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称实体 E 是第二范式
第三范式
当且仅当实体 E 是第二范式,且 E 中没有非主属性传递依赖于候选键时,则称实体 E 是第三范式
BC 范式
设 R 是一个关系模式,F 是它的依赖集,R 属于 BCNF 当且仅当其 F 中每个依赖的决定因素必定包含 R 的某个候选码
九、模式分解
保持函数依赖分解
无损分解
不能还原就是有损,可以还原就是无损。无损联接分解:指将要给关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式
十、并发控制
ACID
原子性、一致性、隔离性、持久性
并发读写问题
脏读、不可重复读、幻读
封锁协议
十一、数据库的安全性
十二、数据库备份与恢复技术
- 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
- 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来
- 完全备份:备份所有数据
- 差量备份:仅备份上一次完全备份之后变化的数据
- 增量备份:备份上一次备份之后变化的数据
- 撤销事务(UNDO):故障发生时未完成的事务,放入 Undo 撤销
- 重做事务(REDO):故障发生前已提交的事务,放入 Redo 重做
十三、数据库性能优化
边栏推荐
- 微信小程序实现lot开发09 接入微信登录
- js基础知识整理之 —— Date和定时器
- matplotlib中的3D绘图警告解决:MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure
- Numpy数组中d[True]=1的含义
- 1 - vector R language self-study
- 无代码开发平台表单样式设置步骤入门课程
- 十年架构五年生活-03作为技术组长的困扰
- Based on two levels of decomposition and the length of the memory network multi-step combined forecasting model of short-term wind speed
- 十三、数据回显
- Cholesterol-PEG-Amine,CLS-PEG-NH2,胆固醇-聚乙二醇-氨基脂两亲性脂质衍生物
猜你喜欢
随机推荐
js基础知识整理之 —— 五种输出方式
年近30 ,4月无情被辞,想给划水的兄弟提个醒...
[论文总结] 深度学习在农业领域应用论文笔记10
B站回应HR称用户是Loser:涉事面试官去年底已被劝退
用了 TCP 协议,数据一定不会丢吗?
js基础知识整理之 —— 全局作用域
用了TCP协议,就一定不会丢包吗?
反弹shell原理与实现
语音合成模型小抄(1)
停止使用 Storyboards 和 Interface Builder
resubmit 渐进式防重复提交框架简介
Jmeter secondary development to realize rsa encryption
秒懂网络拓扑中的下一跳地址
如何突破测试/开发程序员思维?一种不一样的感觉......
即席查询—— Kylin使用
APT级全面免杀拿Shell
Day117.尚医通:生成挂号订单模块
Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
MySQL的多表查询(1)