希赛考试网
首页 > 软考 > 软件设计师

数据库第一二三范式例题

希赛网 2024-06-20 12:26:57

数据库范式是指在数据库设计中,通过一系列的规范或要求,对数据表设计的合理性、正确性和高效性进行保证。其中,第一二三范式是最基本的三种范式,也是最常用的三种范式。

一、第一范式

第一范式强调的是每个属性不可再分。也就是说,数据库表中的每个属性都是最基本的数据单位,不可以被继续拆分。只要表中的每个属性都满足这个条件,就可以认为该表是符合第一范式的。下面以一个教学班级信息表为例,来说明第一范式的概念:

班级信息表

| 班级号 | 姓名 | 学号 | 性别 |

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

| 101001 | 张三 | 100101 | 男 |

| 101001 | 李四 | 100102 | 男 |

| 101001 | 王五 | 100103 | 女 |

| 101002 | 赵六 | 100104 | 男 |

| 101002 | 钱七 | 100105 | 女 |

| 101002 | 孙八 | 100106 | 男 |

可以看出,表中的每个属性都不能再继续拆分,每一列都是最基本的数据单位,所以符合第一范式。

二、第二范式

第二范式强调的是非主属性对于主键要完全依赖。也就是说,在一个表中,任何非主属性都必须完全依赖于主键。因此,如果一个表中存在多个主键,则需要将其拆分成符合第二范式的多个表。下面以一个订单信息表为例,来说明第二范式的概念:

订单信息表

| 订单编号 | 商品编号 | 商品名称 | 商品单价 | 商品数量 | 顾客编号 | 顾客姓名 | 顾客联系方式 |

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

| 001 | 001 | 洗面奶 | 19.9 | 2 | 001 | 张三 | 13512345678 |

| 001 | 002 | 牙刷 | 6.5 | 3 | 002 | 李四 | 13812348765 |

| 002 | 003 | 浴巾 | 39.9 | 1 | 003 | 王五 | 13576543210 |

可以看出,在这个表中,非主属性包括商品名称、商品单价、商品数量、顾客姓名和顾客联系方式都是对于主键订单编号的完全依赖,因此符合第二范式。

三、第三范式

第三范式强调的是任何非主属性都不能相互依赖。也就是说,如果一个表中存在非主属性之间的依赖关系,那么在设计表结构时,需要将其拆分成符合第三范式的多个表。下面以一个学生信息表为例,来说明第三范式的概念:

学生信息表

| 学号 | 姓名 | 学院 | 院长 | 学院地址 |

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

| 100101 | 张三 | 计算机学院 | 王五 | 华南路3号 |

| 100102 | 李四 | 电子信息工程学院 | 赵六 | 中山路8号 |

| 100103 | 王五 | 机械工程学院 | 孙八 | 金湖路12号 |

可以看出,在这个表中,学院和院长之间存在依赖关系,因为任何一个学院的院长都是唯一的,而且一个院长只能管理一个学院。因此,表结构需要拆成两个表才符合第三范式,即学生基本信息表和学院基本信息表,其中学生基本信息表中包含学号、姓名和所在学院的外键,学院基本信息表中包含学院名称、院长和学院地址。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件