数据库范式是用于评估数据库设计的标准,旨在确保数据的一致性和完整性。 规范化的数据库可以减少冗余、提高数据访问效率,并确保语义完整性。
范式等级
数据库范式分为不同的等级,等级越高,则设计的数据库越规范化。
第一范式 (1NF)
每个表中的每一行都必须唯一。
每个属性必须原子化,即不可再分解为更小的单位。
每个属性的值都必须来自原子域。
第二范式 (2NF)
满足 1NF。
每个非主属性都必须完全依赖于主键。
第三范式 (3NF)
满足 2NF。
每个非主属性都不得依赖于其他非主属性。
范式题目及详解
题目 1:
以下表满足哪种范式?
| 订单编号 | 产品名称 | 数量 | 订单日期 |
|---|---|---|---|
| O1 | 笔记本电脑 | 1 | 2023-03-08 |
| O2 | 手机 | 2 | 2023-03-10 |
| O3 | 平板电脑 | 3 | 2023-03-12 |
详解:
此表满足 1NF,因为每行都是唯一的,每个属性都是原子化的,并且值来自原子域。
题目 2:
以下表满足哪种范式?
| 订单编号 | 产品名称 | 产品价格 | 数量 | 订单日期 |
|---|---|---|---|---|
| O1 | 笔记本电脑 | 1000 | 1 | 2023-03-08 |
| O2 | 手机 | 500 | 2 | 2023-03-10 |
| O3 | 平板电脑 | 750 | 3 | 2023-03-12 |
详解:
此表满足 2NF,因为满足 1NF,并且每个非主属性(产品价格、数量、订单日期)都完全依赖于主键(订单编号)。
题目 3:
以下表满足哪种范式?
| 订单编号 | 客户名称 | 产品名称 | 产品价格 | 数量 | 订单日期 |
|---|---|---|---|---|---|
| O1 | 张三 | 笔记本电脑 | 1000 | 1 | 2023-03-08 |
| O2 | 李四 | 手机 | 500 | 2 | 2023-03-10 |
| O3 | 王五 | 平板电脑 | 750 | 3 | 2023-03-12 |
详解:
此表不满足 3NF,因为非主属性“产品价格”依赖于另一个非主属性“产品名称”。 为了满足 3NF,需要将表拆分为两个表:
订单表:订单编号、客户名称、订单日期
产品表:产品名称、产品价格
结论
数据库范式提供了指导数据库设计的宝贵原则。 规范化的数据库可以提高数据质量、减少冗余和提高查询效率。 通过遵循这些原则,开发人员可以创建健壮、可靠的数据库系统。

点赞 (2722) 收藏 (2722)

oss存储和nas存储区别

云数据库和mysql的区别

大数据和云计算最强公司

虚拟化启动了还是不能用

存取速度最快的存储器是哪个