三.数据库系统(60min)
1.数据库模式
1.1三级模式-两级映射
1.2数据库设计过程
2.ER模型
2.1 ER模型:实体、属性、联系
2.2 ER图集成:多个局部ER图一次集成;逐步集成,一次集成两个局部ER图
2.3 ER图和关系模式的转化
1)1:1联系:2个实体为2个关系模式,联系可以单独成1个关系模式,也可以合并到任意一个实体的关系模式中
2)1:n联系:2个实体为2个关系模式,联系可以单独成1个关系模式,也可以合并到多端实体的关系模式中
3)n:m联系:2个实体为2个关系模式,联系只能单独成1个关系模式
3.关系代数
3.1并、交、差
3.2笛卡尔积、投影、选择
3.3联接(自然联接、条件联接)
自然联接:属性列是二者之和减去重复属性列,元组行满足同名属性列取值相等的保留,取值不相等的减去。
左外联接/右外连接(在自然联接的基础上加上几个属性为空值的元组):保留所有左表,联接列所匹配的行,如果左表的某行在右表中没有匹配行,则在相关联的元组行中右表的选择列表值为空值。
完全外联接(左外联接与右外联接的并集):完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
(例题2020下,T55)
4.规范化理论
4.1 函数依赖
1)部分函数依赖
2)传递函数依赖
4.2价值和用途
非规范化的关系模式,可能存在的问题:数据冗余、更新异常、插入异常、删除异常
4.3 键
- 4种键
(1)超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
(2)候选键(candidate key):不含有多余属性的超键称为候选键(主属性:包含在任一候选码中的属性称主属性。简单来说,主属性是候选码所有属性的并集;非主属性:不包含在候选码中的属性称为非主属性。 非主属性是相对于主属性来定义的。)(全码:所有属性都为候选码)
(3)主键(primary key):用户选作元组标识的一个候选键作为主键
(4)外键(foreign key):其他关系的主键
2)求候选键
4.4范式
1)三范式
2)BCNF
3)例题
4.5 模式分解
1)保持函数依赖分解:分解后的关系模式中的所有函数依赖与分解之前的函数依赖一致
2)无损(联接)分解:无损-可以还原(通过自然联接和投影等关系代数/通过函数依赖还原到原来的关系模式);有损-不能还原
3)例题(判断是否是无损分解)
(1)方法1(通过函数依赖来还原)
(2)方法2(列表,实质上也是通过函数依赖来还原)
(3)方法3(只适用于一分为二)
5.并发控制
5.1事务:原子性、一致性、隔离性、持续性
5.2并发产生的问题:丢失更新、不可重复读问题、读“脏”数据
5.3封锁协议(S封锁-读锁、X封锁-写锁):
6.数据库完整性约束
1)实体完整性约束:主键非空唯一
2)参照完整性约束:外键为空或者为存在的值
3)用户自定义完整性约束:对属性有特别的约束
4)触发器:用脚本写约束
7.数据库安全
8.数据备份
8.1冷备份和热备份
8.2完全备份、差量备份、增量备份
8.3静/动态海/增量备份
8.4日志文件
9.数据故障与恢复
10.数据仓库与数据挖掘
10.1数据仓库
1)特点:面向主题、集成的、相对稳定的(非易失的)、反映历史变化(随着时间变化)
2)数据仓库的建立过程
10.2数据挖掘
1)方法
2)分类
11.反规范化
11.1反规范化由来(以空间换时间,增加查询速度)
11.2技术手段
12.大数据
1)4V:Volume(数据量)、Velocity(速度)、Variety(多样性)、Value(值)
2)传统数据与大数据
3)重要特征