本文章探讨了在关系数据库模型中计算属性集闭包和函数依赖闭包的方法与技巧,深入解析其重要性及其在数据库规范化中的应用。
以下仅为个人观点,请指正。
关键点:
1. 使用`multimap`来存储函数依赖关系,因为存在一对多的情况(例如:A->X,A->Y)。多重映射可以处理这种需求,而一一映射则无法实现一对一以上的数据关联。
2. 熟练掌握全排列组合的算法,即生成所有可能的Cnk结果(从Cn1到Cnn的所有可能性),并充分利用递归方法。
3. 掌握计算属性集闭包的方法,在课件中有详细的说明。这种方法虽然简单但用文字描述起来较为抽象,不再赘述。
4. 计算函数依赖的闭包。尽管此步骤不是强制要求掌握的内容,但仍需了解其具体操作方式和原理。
总结:将所有属性元素构成一个集合(记为R);求出该集合的所有子集(需要用到第二步中的全排列方法),假设其中一个子集是Ri;对每个这样的子集计算它的闭包得到Ri+;接着找出Ri+的全部子集,标记为(Ri+)j。最后建立映射关系:Ri -> (Ri+)j。