软考 - 数据库

一、数据库的模式

在数据模型中有“型”(Type,T)和“值”的概念
型:是指对某一类数据的结构和属性的说明。
值:是型的一个具体赋值
模式和实例:
★模式:是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。
★实例:模式的一个具体值称为一个实例,同一个模式可以有很多实例。

三级模式两级映射

ANSI规范对数据库的使用,将数据库结构分为3级:
1.面向用户或应用程序员的用户级
2.面向建立和维护数据库人员的概念级
3.面向系统程序员的物理级
软考 - 数据库_第1张图片
软考 - 数据库_第2张图片
外模式—模式映射:(逻辑数据独立性)
用户应用程序根据外模式进行数据操做,经过外模式—模式映射,定义和创建某个外模式与模式间的对应关系,将外模式与模式联系起来,
当模式发生改变时,只要改变其映射,就可使外模式保持不变,对应的应用程序也可保持不变。

模式—内模式映射:(物理数据独立性)
经过模式—内模式映射,定义创建数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,
当数据存储结构发生变化时,只需改变模式—内模式映射,就能保持模式不变,所以应用程序也能够保持不变。

二、ER模型

实体-联系模型(简称E-R模型)它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。
E-R模型的构成成分是实体集、属性和联系集
其表示方法如下:
(1) 实体集用矩形框表示,矩形框内写上实体名。
(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。
因此,E-R模型也称为E-R图。
软考 - 数据库_第3张图片
集成的方法:
◆多个局部E-R图一次集成。
◆逐步集成,用累加的方式一次集成两个局部E-R。

集成产生的冲突及解决办法:
★属性冲突:包括属性域冲突和属性取值冲突。
★命名冲突:包括同名异义和异名同义。
★结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

三、关系代数

:S1 U S2
:S1 ∩ S2
:S1 —S25
笛卡尔积:S1 X S2
投影:π
选择:σ
自然连接:⋈
等值连接:RS

四、元组演算

软考 - 数据库_第4张图片
在元组演算公式中,各种运算符的优先次序为:
软考 - 数据库_第5张图片
例:元组演算表达式 R*={t│(Эu)(R(t)∧S(u)∧t[3] 表达式的意思是:找出这样的元组 t(t 是 R 中的元组),t 要满足这样的条件:存在 u(u 是 S 关系中的元组),u 第 2 列值大于 t 的第 3 列值。

五、规范化理论

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、 插入异常、删除异常
求候选键:
★将关系模式的函数依赖关系用“有向图”的方式表示。
★找入度为0的属性,并以为该属性集合为起点,尝试遍历有向图,若能正常遍历图中 所有结点,则该属性集即为关系模式的候选键。
★若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间点(既有入 度,也有出度的结点)并入入度0的属性集中,直至该集合能遍历所有结点,集合为候选键。
软考 - 数据库_第6张图片
软考 - 数据库_第7张图片
软考 - 数据库_第8张图片

保持函数依赖分解

☆ 设数据库模式 ρ = {R1,R2,…, RK}是关系模式R的一个分解,F是R上函数依赖集,ρ 中每个模式Ri上的FD集是Fi.如果{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵),
那么称分解ρ保持FD。

无损分解

☆有损分解不能还原,无损分解可以还原
☆无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影灯运算仍能还原到原来的关系模式
软考 - 数据库_第9张图片
并发控制

六、数据库完整性约束

①实体完整性约束
②参照完整性约束
③用户自定义完整性约束
★触发器

七、分布式数据库

二阶段提交(Two-phaseCommit)是指,在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。通常,二阶段提交也被称为是一种协议(Protocol))。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的 ACID 特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。因此,二阶段提交的算法思路可以概括为:参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。
所谓的两个阶段是指:第一阶段:准备阶段(表决阶段)和第二阶段:提交阶段执行阶段)。
准备阶段:事务协调者(事务管理器)给每个参与者(资源管理器)发送 Prepare 消息,每个参与者要么直接返回失败(如权限验证失败),要么在本地执行事务,写本地的 redo 和 undo日志,但不提交,到达一种万事俱备,只欠东风的状态。
提交阶段:如果协调者收到了参与者的失败消息或者超时,直接给每个参与者发送回滚(Rollback)消息;否则,发送提交(Commit)消息;参与者根据协调者的指令执行提交或者回滚操作,释放所有事务处理过程中使用的锁资源。(注意:必须在最后阶段释放锁资源)

分布式数据库 两阶段提交协议中的两个阶段是指表决阶段、执行阶段
传统集中式数据库 的两阶段提交协议是指加锁阶段解锁阶段也称为扩展阶段和收缩阶段
③开发数据库应用过程相关的阶段为获取阶段运行阶段

你可能感兴趣的:(软件架构,数据库,算法)