模式分解

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

模式分解是将大关系模式分解为多个小关系模式的过程,涉及主键、候选键、外键和闭包的定义。无损连接和保持函数依赖是分解的重要准则。范式如第一范式、第二范式和BC范式确保数据库设计的合理性。

🎯

关键要点

  • 模式分解是将大关系模式分解为多个小关系模式的过程。
  • 关系模式的分解涉及主键、候选键、外键和闭包的定义。
  • 主键、候选键和超键之间存在包含关系。
  • 闭包是由属性集确定的所有属性的集合,闭包的意义在于判断超键。
  • 无损连接要求信息不丢失,保持函数依赖则要求不破坏属性间的依赖关系。
  • 无损连接的检验可以通过交集和超键的关系进行。
  • 函数依赖保持的判定可以通过检查每个函数依赖是否在分解后的关系上成立。
  • 范式如第一范式、第二范式和BC范式确保数据库设计的合理性,且是递进关系。
  • 第一范式要求每个属性都是不可再分的原子值,第二范式要求非主属性完全依赖于候选键。
  • 第三范式要求非主属性不传递依赖于候选键,BC范式是最严格的设计目标。

延伸问答

什么是模式分解?

模式分解是将大关系模式分解为多个小关系模式的过程。

模式分解中主键和候选键有什么区别?

主键是从候选键中指定的一个,用于唯一标识元组,而候选键是能唯一标识元组且不包含多余属性的属性集。

什么是闭包,它在模式分解中有什么意义?

闭包是由属性集确定的所有属性的集合,闭包的意义在于判断超键。

无损连接和保持函数依赖在模式分解中有什么重要性?

无损连接确保信息不丢失,保持函数依赖则要求不破坏属性间的依赖关系,这两者是分解的重要准则。

第一范式和第二范式的主要要求是什么?

第一范式要求每个属性都是不可再分的原子值,第二范式要求非主属性完全依赖于候选键。

BC范式是什么,它有什么特点?

BC范式是最严格的设计目标,要求每个属性都不传递依赖于候选键,确保关系模式不可再分。

➡️

继续阅读