题目
如果数据满足第三范式,它会自动属于第一和第二范式。A. 正确B. 错误
如果数据满足第三范式,它会自动属于第一和第二范式。
A. 正确
B. 错误
题目解答
答案
B. 错误
解析
考查要点:本题主要考查对数据库范式(第一范式、第二范式、第三范式)的理解,特别是不同范式之间的包含关系。
核心思路:
- 第三范式(3NF)要求非主键列必须直接依赖主键,消除传递依赖。
- 第二范式(2NF)要求非主键列必须完全依赖主键,消除部分依赖。
- 第一范式(1NF)要求所有字段的值都是原子性的,不可再分。
关键点:
虽然3NF的条件比2NF更严格,但满足3NF的数据不一定满足1NF或2NF。例如,若表中存在非原子字段(违反1NF)或非主键列之间存在依赖关系(违反2NF),即使满足3NF,也可能不符合前两范式。
范式定义回顾
-
第一范式(1NF):每个字段的值都是不可分割的原子项,且唯一标识记录的主键必须存在。
示例:若某字段为["苹果,香蕉"],则违反1NF。 -
第二范式(2NF):所有非主键列必须完全依赖主键,不能存在部分依赖。
示例:若主键为组合键(A,B),非主键列C仅依赖于A,则违反2NF。 -
第三范式(3NF):所有非主键列必须直接依赖主键,消除传递依赖。
示例:若存在A→B→C的传递依赖,则违反3NF。
为什么3NF不自动满足前两范式?
- 与1NF无关:3NF未涉及字段的原子性要求。例如,若某字段包含重复数据(如
["张三,李四"]),即使满足3NF,仍违反1NF。 - 与2NF的矛盾:3NF要求消除传递依赖,但若非主键列之间存在部分依赖(如非主键列
C仅依赖主键的一部分),则可能同时违反2NF和3NF。
结论:3NF是独立的范式,需在满足前两范式的基础上进一步优化,但不自动包含前两范式的要求。