关系模式求精
2021-6-3
课程笔记
0. Mind
1. 求精目的
我们学习一门知识,首先要明白它能用来做什么,它解决的问题是什么,应用场景是什么?下面将简单介绍下关系模式求精解决的问题以及使用方法,并且还简单讨论了该方法过程中可能出现的问题并如何优化。
1.1 问题
1.1.1 数据冗余
一个好的关系模式,首先要解决数据冗余的问题,即同一个信息在数据库中保存了多个副本。这会带来许多问题!
①冗余存储:信息被重复存储,第一个就是存储空间的浪费
**②更新异常:**由于数据有不同的副本,倘若你想更新数据的时候,你需要到每个副本处更新,想想都觉得麻烦…
1.2 改善方法
出现数据冗余的原因是因为属性之间的依赖关系,依赖关系不合理导致数据重复存放,因此我们使用函数依赖理论来优化依赖关系,采取把依赖关系分解的关系模式分解来改善依赖关系。
1.3 优化
实际上使用关系模式分解的时候会容易出现信息损失甚至依赖关系缺失,你不能乱分。因此我们还分解的时候应该保证无损分解和保持依赖分解。
2. 模式规范
要判断一个关系范式好不好,首先要有一个标准,下面则给出了评价关系范式的标准,其中第一范式为基本标准,各个范式之间是逐层递进且向下兼容的。
2.1 第一范式
第一范式是基本的要求,它要求所有属性不可分,课本中提到第一范式为码。