- 如果一个关系在2NF中并且不包含任何传递性部分依赖关系, 则它将在3NF中。
- 3NF用于减少数据重复。它还用于实现数据完整性。
- 如果非素数属性没有传递依存关系, 则该关系必须为第三范式。
- X是超级键。
- Y是素数属性, 即Y的每个元素都是某个候选键的一部分。 【DBMS第三范式(3NF)】Example:
EMPLOYEE_DETAIL table:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Harry | 201010 | UP | Noida |
333 | Stephan | 02228 | US | Boston |
444 | Lan | 60007 | US | Chicago |
555 | Katharine | 06389 | UK | Norwich |
666 | John | 462007 | MP | Bhopal |
Candidate key: {EMP_ID}
Non-prime attributes: In the given table, all attributes except EMP_ID are non-prime.
Here, EMP_STATE & EMP_CITY dependent on EMP_ZIP and EMP_ZIP dependent on EMP_ID. The non-prime attributes (EMP_STATE, EMP_CITY) transitively dependent on super key(EMP_ID). It violates the rule of third normal form.
That’ s why we need to move the EMP_CITY and EMP_STATE to the new < EMPLOYEE_ZIP> table, with EMP_ZIP as a Primary key.
EMPLOYEE table:
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Harry | 201010 |
333 | Stephan | 02228 |
444 | Lan | 60007 |
555 | Katharine | 06389 |
666 | John | 462007 |
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010 | UP | Noida |
02228 | US | Boston |
60007 | US | Chicago |
06389 | UK | Norwich |
462007 | MP | Bhopal |
Next Topic DBMS BCNF
← prev next →
推荐阅读
- DBMS Thomas的写入规则
- DBMS可串行性测试
- DBMS静态哈希解释
- DBMS事务状态介绍
- DBMS SQL中的视图
- DBMS SQL更新语句
- DBMS SQL表
- DBMS SQL子查询
- DBMS SQL集合操作