目录
1. 数据库设计阶段
1.1 数据库设计过程

其中,虚线代表产出。即需求分析阶段生成数据流图、数据字典、需求说明书;概念介绍设计阶段生成ER图;逻辑结构设计阶段生成关系模型。
E-R图:系统分析阶段数据建模的产物,代表实体-关系。
关系模型:二维表,具体关系代数在第2点中详细介绍。
规范化理论:第3点中详细介绍。
DBMS特性:数据库管理系统的控制特性,具体在第4点中详细介绍。
分布式数据库的四个特性:
分布性:不同场地存储
共享性:数据共享
自治性:具有局部数据库管理系统
可用性:某场地故障,系统仍然可用
1.2 概念结构设计

集成方法:1. 多个局部ER图一次集成;2. 逐步集成
1.3 逻辑结构设计
目或度(关系模式中属性个数)、候选码/键(唯一标识元组,且无冗余,属性集合,可以有一/多个)、主码/键(实体完整性,候选码中任选一个,主键唯一且非空)、主属性与非主属性、外码/键(参照完整性,其他关系的主键)、全码。
2. 关系代数
2.1 一元运算符
投影(Π):select、选择列
选择(σ): where、选择行
2.2 二元运算符
笛卡尔积:列数是二者之和,行数是二者的乘积 select * from S1,S2 where ……
自然连接:列数是二者之和减去重复列数,行数是同名属性列取值相等 select (S1、S2去除重复列) from S1,S2 where S1.a=S2.a
性能问题:运算对象尽可能先压缩,理论上自然连接的性能优于笛卡尔积。
3. 规范化理论
3.1 规范化理论基本概念
R(U,F), X->Y:X函数决定Y,Y函数依赖于X。
部分函数依赖:某个/些属性依赖候选键的一部分。
传递函数依赖:A->B, B->C => A->C
ArmStrong公理:
1)自反律:Y⊆X⊆U,则X->Y
2)增广律:Z⊆U且X->Y,则XZ->YZ
3)传递律:X->Y且Y->Z, 则X->Z
4)合并规则:X->Y,X->Z,则X->YZ
5)伪传递规则:X->Y,WY->Z, 则WX->Z
6)分解规则:X->Y且Z⊆Y, 则X->Z
3.2 候选键
关系模式可以用有向图表示。
入度:有箭头指向该节点。
出度:有箭头指向其他节点。
中间节点:既有入度又有出度。
候选键识别方法:1)入度为0的属性集合。 2)如果无法遍历所有节点,增加中间节点。
3.3 范式
范式从低到高(1NF->2NF->3NF->BCNF) 逐步优化,去解决 插入异常、删除异常、数据 冗余的问题。
1NF:属性值都是不可分的原子值
2NF:消除非主属性对候选键的部分函数依赖
3NF:消除非主属性对候选键的传递依赖
BCNF:消除主属性对候选键的部分和传递依赖
如果候选键是单个属性,满足1NF的前提下,至少能达到2NF(不存在对候选码的部分函数依赖)。
3.4 模式分解
保持函数依赖分解:{R1,R2,……,Rk}是关系模式R的一个分解,F是R的函数依赖集,如果{F1,F2,……,Fk}与F是等价的,即为保持函数依赖分解。
无损分解:指将一个关系模式分解成若干个关系模式后,通然连接和投影等运算仍能还原到原来的关系模式。
如果没有同名属性列,则一定是有损分解。
可以推导得出的函数依赖是冗余的函数依赖,在考虑是否保持函数依赖的时候可以忽略。
R分解为{R1,R2},是无损连接分解的充分必要条件:
R1∩R2 -> (R1-R2) 或 R1∩R2 -> (R2-R1)
4. 数据控制
4.1 安全性
用户标识和鉴定:用户账户和密码、基于角色的分组
存取控制:对用户进行授权,包括操作类型和数据对象的权限
密码存储和传输:对远程终端信息用密码传输,数据脱敏
视图保护:对视图进行授权(视图不可修改)
审计:使用专用文件或数据库,自动将用户对数据库的所有操作记录下来,方便追溯。
存储过程可以以封装逻辑的方式保障数据安全。
4.2 完整性
实体完整性约束:主键唯一且非空。
参照完整性约束:外键。
用户自定义完整性约束:应用环境决定(CHECK)。
触发器:在某个数据对象上添加监听,出现变化联动修改其他数据对象。
4.3 并发控制
事务:ACID(原子性、一致性、隔离性、持久性)
分布式数据CAP特性(一致性、可用性、分区容忍性)
并发产生的问题:丢失更新、不可重复读问题、脏数据
解决方案:封锁协议,S封锁(共享锁,读锁)、X锁(独占锁、排他锁),一/二/三级封锁协议,两段锁协议
死锁
569

被折叠的 条评论
为什么被折叠?



