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

网站编辑2023-05-21 16:35:40734

第一范式(1NF)是指关系模式中的所有属性都是原子性的,即不可再分解的。

考虑一个学生信息表,其中包含学生的姓名、性别、出生日期和家庭地址等信息。其中,家庭地址包含省、市、区、街道和门牌号等多个属性,如下所示:

| 学生姓名 | 性别 | 出生日期 | 家庭地址 |

| -------- | ---- | -------- | -------- |

| 张三 | 男 | 1990-01-01 | 湖南省长沙市岳麓区麓谷街道xxx号 |

| 李四 | 女 | 1992-02-02 | 广东省深圳市南山区科技园xxx号 |

在上述表中,家庭地址包含多个属性,不满足第一范式的要求。

为了满足第一范式的要求,我们需要将家庭地址拆分成多个属性,如下所示:

| 学生姓名 | 性别 | 出生日期 | 省份 | 城市 | 区县 | 街道 | 门牌号 |

| -------- | ---- | -------- | ---- | ---- | ---- | ---- | ------ |

| 张三 | 男 | 1990-01-01 | 湖南 | 长沙 | 岳麓 | 麓谷街道 | xxx号 |

| 李四 | 女 | 1992-02-02 | 广东 | 深圳 | 南山 | 科技园 | xxx号 |

在上述表中,家庭地址被拆分成了多个属性,每个属性都是原子性的,满足第一范式的要求。

第二范式(2NF)是指关系模式中的非主属性必须完全依赖于主属性,而不能只依赖于主属性的一部分。

考虑一个订单信息表,其中包含订单号、商品编号、商品名称、商品单价和商品数量等信息。其中,商品名称和商品单价只与商品编号有关,与订单号无关,如下所示:

| 订单号 | 商品编号 | 商品名称 | 商品单价 | 商品数量 |

| ------ | -------- | -------- | -------- | -------- |

| 001 | 001 | 苹果 | 5.00 | 10 |

| 001 | 002 | 香蕉 | 3.00 | 20 |

| 002 | 001 | 苹果 | 5.00 | 5 |

| 002 | 003 | 葡萄 | 8.00 | 15 |

在上述表中,商品名称和商品单价只与商品编号有关,与订单号无关,不满足第二范式的要求。

为了满足第二范式的要求,我们需要将订单信息表拆分成两个表,一个是订单表,一个是商品表,如下所示:

订单表:

| 订单号 | 商品编号 | 商品数量 |

| ------ | -------- | -------- |

| 001 | 001 | 10 |

| 001 | 002 | 20 |

| 002 | 001 | 5 |

| 002 | 003 | 15 |

商品表:

| 商品编号 | 商品名称 | 商品单价 |

| -------- | -------- | -------- |

| 001 | 苹果 | 5.00 |

| 002 | 香蕉 | 3.00 |

| 003 | 葡萄 | 8.00 |

在上述表中,订单表中的商品编号是商品表的主键,商品名称和商品单价只与商品编号有关,与订单号无关,满足第二范式的要求。

第三范式(3NF)是指关系模式中的非主属性不依赖于其他非主属性。

考虑一个学生选课信息表,其中包含学生姓名、课程名称、授课教师和教师所在学院等信息。其中,教师所在学院只与授课教师有关,与课程名称无关,如下所示:

| 学生姓名 | 课程名称 | 授课教师 | 教师所在学院 |

| -------- | -------- | -------- | ------------ |

| 张三 | 数据库 | 李四 | 计算机学院 |

| 李四 | 数据结构 | 王五 | 电子信息学院 |

| 王五 | 计算机网络 | 张三 | 通信工程学院 |

在上述表中,教师所在学院只与授课教师有关,与课程名称无关,不满足第三范式的要求。

为了满足第三范式的要求,我们需要将学生选课信息表拆分成三个表,一个是学生表,一个是课程表,一个是教师表,如下所示:

学生表:

| 学生姓名 |

| -------- |

| 张三 |

| 李四 |

| 王五 |

课程表:

| 课程名称 |

| -------- |

| 数据库 |

| 数据结构 |

| 计算机网络 |

教师表:

| 授课教师 | 教师所在学院 |

| -------- | ------------ |

| 李四 | 计算机学院 |

| 王五 | 电子信息学院 |

| 张三 | 通信工程学院 |

在上述表中,学生表中的学生姓名是主键,课程表中的课程名称是主键,教师表中的授课教师是主键,教师所在学院只与授课教师有关,与课程名称无关,满足第三范式的要求。

最新推荐

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

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

    3000.00/月

    等保合规

  • 轻量应用服务器

    轻量应用服务器是面向网站建设、开发测试、小型应用等轻量应用场景的云服务器产品。通过轻量化、贴近应用、账单确定性强、可进化四大产品特点,帮助中小企业及开发者快速构建应用程序和网站,即刻迈出上云第一步。

    68.00/月

    折扣优惠,新人专享,限时秒杀

  • 云数据库 ClickHouse

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

    1473.40/月

    1年85折

右侧广告图2