数据库表的规范化:从基础到高级应用
1. 数据库表的基本规范化
1.1 CLASS 表的规范化分析
CLASS 表有两个候选键:CLASS_CODE 和 CRS_CODE 1 CLASS_SECTION。该表处于第一范式(1NF),因为键属性已定义,且所有非键属性都由键决定,两个候选键都满足这一条件。它也处于第二范式(2NF),因为它在 1NF 的基础上,两个候选键都不存在部分依赖。对于单个属性的候选键 CLASS_CODE,不存在部分依赖问题;而对于复合候选键 CRS_CODE 1 CLASS_SECTION,经评估也不存在部分依赖。最终,该表处于第三范式(3NF),因为不存在传递依赖。
1.2 高级范式概述
虽然处于 3NF 的表在业务事务数据库中表现良好,但更高的范式有时也很有用。接下来将介绍 Boyce - Codd 范式(BCNF)、第四范式(4NF)和第五范式(5NF)。
1.3 Boyce - Codd 范式(BCNF)
当一个表处于 3NF 且表中的每个决定因素都是候选键时,该表处于 Boyce - Codd 范式(BCNF)。如果一个表只有一个候选键,那么 3NF 和 BCNF 是等价的。只有当表包含多个候选键时,才可能违反 BCNF。
例如,有一个表结构如下:
| A | B | C | D |
| — | — | — | — |
其函数依赖关系为:A 1 B → C, D;A 1 C → B, D;C → B。该结构有两个候选键 (A 1 B) 和 (A 1 C),无部分依赖和传递依赖,满足 3NF 要求,但由于 C → B 这
超级会员免费看
订阅专栏 解锁全文

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



