数据库规范化与物理设计全解析
1. 数据库规范化
数据库规范化是评估和修改表结构以减少数据冗余的一系列步骤,其目的主要有两个:一是消除冗余数据,避免同一数据在多个地方存储;二是确保表内数据相互关联。下面详细介绍不同的规范化形式。
1.1 第三范式(3NF)
当一个数据库表满足以下两个条件时,它就处于第三范式:
- 它处于第二范式(2NF)。
- 表中不包含任何非键依赖。非键依赖也称为传递依赖,当一个非键属性决定另一个非键属性的值时就会出现。为了符合 3NF,每个属性必须仅依赖于主键。
例如,考虑一个 WAREHOUSE 表,其中 whse_id 是主键,用于标识公司内的每个仓库。而 city 和 state 列依赖于 zip 列,因为邮政系统通过邮政编码来确定城市和州。为了满足 3NF 的第二个规则,可将 WAREHOUSE 表拆分为 WAREHOUSE 和 ZIP 两个表。
再看 ORDER 表,除了 total_amt 列外,其他列都依赖于主键。 total_amt 的值是通过 quantity 乘以 unit_price 计算得出的,因此它不依赖于主键。为了满足 3NF,将 total_amt 列从
超级会员免费看
订阅专栏 解锁全文

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



