数据库的三大范式分别具体阐述

网站编辑2023-07-20 11:06:13287

  1. 第一范式(1 table named collection,简称1.0)

第一范式是关系型数据库设计的基础,它的目标是建立数据表之间的完整性约束,包括键、值和它们之间的关系。在关系型数据库中,数据的唯一性是通过定义一对键(Key和Value)来实现的。关系型数据库的表格是一张表格,其中每个列都对应着一个数据实体。每个实体都有一个唯一的索引来表示它在数据库中的位置。

在1.0范式中,数据元素之间的依赖关系被认为是关系的范式。这意味着表格的每个元素都应该满足下列约束条件:

  • 数据元素之间的主键关系。
  • 数据元素之间的非主键关系。
  • 数据元素之间的相对索引关系。
  • 数据元素之间的唯一性关系(包括唯一的列和主键)。

例如,对于一个名为"my_collection"的表格,其中有两个数据列,分别为id和name,它们之间的关系被定义为:

  • id是唯一的值。
  • name是唯一的值。
  • id和name之间没有主键关系。
  • name和id之间有一个非主键关系。

这表明在这个表格中,所有的元素都有唯一的键和值。此外,该表格还定义了一个非空列collection,其中的数据元素可以包含null值。

  1. 第二范式(2 table named collection,简称2.0)

第二范式是关系型数据库设计的扩展版,它的目标是建立数据表之间的相互约束关系,包括键和值之间的关系。在2.0范式中,数据元素之间的依赖关系被认为是键的范式。在键的范式中,所有数据元素必须有一个唯一的主键,该主键在表格中被定义为键的索引,用于确定数据元素之间的关系。在键的范式中,每个数据元素必须满足下列约束条件:

  • 如果表格中没有数据元素,则主键必须唯一。
  • 如果表格中没有主键,则非主键列必须包含该主键的键值对。
  • 如果表格中有一个唯一的主键,但是该主键在其他地方也存在,则该主键不能被其他数据元素包含。
  • 如果表格中存在一个唯一的主键,但是该主键和其他表中的非主键重复,则该主键不能被其他数据元素包含。

例如,对于一个名为"my_collection"的表格,其中有两个数据列,分别为id和name,它们之间的关系被定义为:

  • id是唯一的值。
  • name是唯一的值。
  • id和name之间没有主键关系。
  • name和id之间有一个非主键关系。
  • id和id之间的主键关系是"abc",它在"abc"中也存在,但是"abc"不是表格的唯一主键。
  • 如果"abc"中存在一个唯一的主键,但是该主键和其他表中的非主键重复,则该主键不能被其他数据元素包含。

这表明在这个表格中,所有的元素都必须满足下列约束条件:

  • 如果表格中没有数据元素,则主键必须唯一。
  • 如果表格中没有主键,则非主键列必须包含该主键的键值对。
  • 如果表格中有一个唯一的主键,但是该主键和其他表中的非主键重复,则该主键不能被其他数据元素包含。
  • 如果表格中存在一个唯一的主键,但是该主键和其他表中的

最新推荐

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

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

    3000.00/月

    等保合规

  • 云数据库 ClickHouse

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

    1473.40/月

    1年85折

  • 云数据库 RDS

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

    88.00/年

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

右侧广告图2