数据库范式第一第二第三范式的区别例题讲解
网站编辑2023-05-11 14:29:56522
数据库范式是一种规范化的设计方法,用于减少数据冗余和提高数据的一致性和完整性。范式分为第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

第一范式是指数据库表中的每个字段都是原子性的,即不可再分解。例如,一个订单表中的“订单号”字段应该是一个单一的值,而不是一个包含多个订单号的列表。
第二范式是指数据库表中的每个非主键字段都完全依赖于主键。例如,一个订单表中的“订单号”字段是主键,而“客户姓名”字段只与“订单号”相关,而不与其他字段相关。
第三范式是指数据库表中的每个非主键字段都不依赖于其他非主键字段。例如,一个订单表中的“客户地址”字段只与“客户姓名”相关,而不与“订单号”或其他字段相关。
假设有一个订单表,包含以下字段:
- 订单号
- 客户姓名
- 客户地址
- 产品名称
- 产品价格
- 产品数量
该表不符合第一范式,因为“产品名称”字段可以包含多个产品名称。为了符合第一范式,我们可以将该表拆分成两个表:
订单表:
- 订单号
- 客户姓名
- 客户地址
订单详情表:
- 订单号
- 产品名称
- 产品价格
- 产品数量
现在,订单详情表符合第一范式,但不符合第二范式,因为“产品名称”字段不完全依赖于主键“订单号”。为了符合第二范式,我们可以将该表再次拆分:
订单表:
- 订单号
- 客户姓名
- 客户地址
产品表:
- 产品名称
- 产品价格
订单详情表:
- 订单号
- 产品名称
- 产品数量
现在,所有表都符合第二范式和第三范式,数据冗余得到了最小化,数据的一致性和完整性得到了保证。







