软件架构师--数据库系统

一、分布式数据库

1.分片透明性

分片透明性:分不分片,用户感受不到(不关心如何分片存储)。
位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)
复制透明性:不关心结点的复制情况。
局部数据模型透明性(逻辑透明):用户或应用程序无需知道局部场地使用的是哪种数据模型。

2.两阶段提交协议2PC

2PC事务提交的两个阶段
表决阶段,目的是形成一个共同的决定
执行阶段,目的是实现这个协调者的决定

两条全局提交规则
①只要有一个参与者撤销事务,协调者就必须作出全局撤销决定。
②只有所有参与者都同意提交事务,协调者才能作出全局提交决定。

3.数据库设计过程

需求分析:数据流图、数据字典、需求说明书
概念结构设计:ER模型(实体-关系图)
逻辑结构设计:关系模式(规范化理论,转换规则)
物理设计:硬件、OS特性

数据库设计各阶段任务和产物
注意:软件工程中ER模式是需求分析和数据建模的产物,数据工程中ER模式是概念结构设计的产物
软件架构师--数据库系统_第1张图片
##4. 集成产生的冲突及解决方法
属性冲突: 包括属性域冲突和属性取值冲突(如性别既用男女,又用0和1);
命名冲突: 包括同名异义和异名同义(两个编号一个意思,一个名字表示不同意思)。
结构冲突: 包括同一对象在不同应用中具有不同抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同。

5.完整性约束

实体完整性约束:主键唯一且非空
参照完整性约束: 外键可以为空
用户自定义完整性约束:check 如设置年龄0到18岁
触发器::建立监听,数据同步,可解决复杂数据一致性问题,会暴露内部接口,安全性差

二、规范化理论

1.规范化理论基本概念

  • 非规范化的关系模式,可能存在的问题包括:数据冗余(影响数据性一致问题)、更新异常、插入异

你可能感兴趣的:(软件架构师,数据库,1024程序员节)