数据库范式第一第二第三范式的区别例题讲解

网站编辑2023-05-11 14:29:56522

数据库范式是一种规范化的设计方法,用于减少数据冗余和提高数据的一致性和完整性。范式分为第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

第一范式是指数据库表中的每个字段都是原子性的,即不可再分解。例如,一个订单表中的“订单号”字段应该是一个单一的值,而不是一个包含多个订单号的列表。

第二范式是指数据库表中的每个非主键字段都完全依赖于主键。例如,一个订单表中的“订单号”字段是主键,而“客户姓名”字段只与“订单号”相关,而不与其他字段相关。

第三范式是指数据库表中的每个非主键字段都不依赖于其他非主键字段。例如,一个订单表中的“客户地址”字段只与“客户姓名”相关,而不与“订单号”或其他字段相关。

假设有一个订单表,包含以下字段:

- 订单号

- 客户姓名

- 客户地址

- 产品名称

- 产品价格

- 产品数量

该表不符合第一范式,因为“产品名称”字段可以包含多个产品名称。为了符合第一范式,我们可以将该表拆分成两个表:

订单表:

- 订单号

- 客户姓名

- 客户地址

订单详情表:

- 订单号

- 产品名称

- 产品价格

- 产品数量

现在,订单详情表符合第一范式,但不符合第二范式,因为“产品名称”字段不完全依赖于主键“订单号”。为了符合第二范式,我们可以将该表再次拆分:

订单表:

- 订单号

- 客户姓名

- 客户地址

产品表:

- 产品名称

- 产品价格

订单详情表:

- 订单号

- 产品名称

- 产品数量

现在,所有表都符合第二范式和第三范式,数据冗余得到了最小化,数据的一致性和完整性得到了保证。

最新推荐

右侧广告图1
  • 数据库审计

    在满足等保2.0‘安全审计’相关要求的同时,智能解析数据库通信流量,细粒度审计数据库访问行为,通过对数据库全量行为的审计溯源、危险攻击的实时告警、风险语句的智能预警,提供敏感的数据库资产安全的监控保障

    3000.00/月

    等保合规

  • 云数据库 ClickHouse

    开箱即用,高吞吐写入,秒级实时分析、自动弹性优势。 广泛应用于流量分析、广告营销分析、行为分析、人群划分、客户画像、敏捷BI、数据集市、网络监控、分布式服务和链路监控等业务场景。

    1473.40/月

    1年85折

  • 云数据库 RDS

    高性价比、稳定安全可靠的云数据库 RDS 即开即用、“自动驾驶”,助您免除数据库运维烦恼

    88.00/年

    折扣优惠,高性价比,安全稳定

右侧广告图2