数据库规范化:第三范式及其实践应用
1. 第三范式的定义
在数据库设计中,为了确保数据的质量和减少冗余,常常需要对数据库进行规范化处理。其中,Boyce - Codd 范式(BCNF)是一种较为严格的规范化标准,但在某些情况下,可能无法实现 BCNF。例如,有这样一个关系:
| Manager | Project | Branch |
| ---- | ---- | ---- |
| Brown | Mars | Chicago |
| Green | Jupiter | Birmingham |
| Green | Mars | Birmingham |
| Hoskins | Saturn | Birmingham |
| Hoskins | Venus | Birmingham |
该关系存在以下函数依赖:
- Manager → Branch :每个经理在特定的分支机构工作。
- Project Branch → Manager :每个项目在不同的分支机构可能有多个负责的经理,但对于每个分支机构,一个项目只有一个负责的经理。
由于 Manager → Branch 这个依赖的左边不是超键,所以该关系不满足 BCNF。同时,由于 Project Branch → Manager 涉及所有属性,无法进行无损分解来保留该依赖。
为了解决这种情况,引入了第三范式(3NF)。一个关系 r 属于第三范式,当且仅当对于定义在它上面的每个(非平凡)函数依赖
超级会员免费看
订阅专栏 解锁全文

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



