软考系统架构设计师(二):数据库设计
- 陈大剩
- 2023-03-02 14:07:38
- 947
数据库模式
关系表类型
关系的3种类型
- 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示。
- 查询表:查询结果对应的表。
- 视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表。
数据库模式
数据库视图:它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。
视图的优点:
- 视图能简化用户操作
- 视图使用户能以多种角度看待同一数据
- 视图对重构数据库提供了一定程度的逻辑独立性
- 视图可以对机密数据提供安全保护
物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。
分布式数据库
- 数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
- 集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
- 适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性。
- 全局的一致性、可串行性和可恢复性。
分布式数据库管理系统-组成
- LDBMS
- GDBMS
- 全局数据字典
- 通信管理(CM)
局部数据库管理系统(LDBMS,Local Database ManagementSystem)
全局数据库管理系统(GDBMS,Global Database ManagementSystem)
通信管理(CM,Communication Management)
分布式数据库管理系统(DDBMS,Distributed DatabaseManagement System)
分布式数据库管理系统-结构
- 全局控制集中的DDBMS
- 全局控制分散的DDBMS
- 全局控制部分分散的DDBMS
分布透明性
- 分片透明:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。
- 复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。
- 位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的
- 局部映像透明性(逻辑透明)︰是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。
两阶段提交协议2PC
2PC事务提交的两个阶段
- 表决阶段,目的是形成一个共同的决定
- 执行阶段,目的是实现这个协调者的决定
两条全局提交规则
- 只要有一个参与者撤销事务,协调者就必须做出全局撤销决定
- 只有所有参与者都同意提交事务,协调者才能做出全局提交决定
数据库设计过程
概念结构设计
集成的方法:
- 多个局部E-R图一次集成。
- 逐步集成,用累加的方式一次集成两个局部E-R。
集成产生的冲突及解决办法:
- 属性冲突∶包括属性域冲突和属性取值冲突。
- 命名冲突:包括同名异义和异名同义。
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。
关系模型基本概念
数据模型三要素:数据结构、数据操作、数据的约束条件。
- 层次模型
- 网状模型
- 面向对象模型
- 关系模型
相关概念
- 候选键:唯一标识元组,且无冗余
- 主键:任选一个
- 外键:其它关系的主键
完整性约束
- 实体完整性约束:规定基本关系的主属性不能取空值。
- 参照完整性约束:关系与关系间的引用,其他关系的主键或空值。
- 用户自定义完整性约束:应用环境决定。、
- 触发器
逻辑结构设计
- ER 图的关系模式转换:实体向关系模式的转换;联系向关模式的转换
- 关系模式的规范化
- 确定完整性约衷(保证数据的正确性)
- 用户视图的确定(提高数据的安全性和独立性):根据数据流图确定处理过程使用的视图;根据用户类别确定不同用户使用的视图;
- 应用程序设计
关系代数
规范化理论-非规范化存在的问题
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常(修改操作—致性问题)、插入异常、删除异常。
规范化理论-基本概念
设R(U,F)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。
规范化理论-求候选键
- 将关系模式的函数依赖关系用“有向图”的方式表示
- 找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键
- 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键
规范化理论-范式判断
第一范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
简单属性和复合属性、单值属性和多值属性、NULL属性、派生属性
第二范式
第二范式(2NF) :当且仅当实体E是第一范式_(1NF).,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。
第三范式
第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖于码时,则称实体E是第三范式。
BC 范式
BC范式((BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。