`
tangzongyun
  • 浏览: 183849 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

三范式解释

阅读更多
三范式最简单最易记的解释

1NF:字段不可分;
2NF:有主键,非主键字段依赖主键;
3NF:非主键字段不能相互依赖;

解释:
1NF:原子性 字段不可再分,否则就不是关系数据库;
2NF:唯一性 一个表只说明一个事物;
3NF:每列都与主键有直接关系,不存在传递依赖;

不符合第一范式的例子(关系数据库中create不出这样的表):

表:字段1, 字段2(字段2.1, 字段2.2), 字段3 ......

存在的问题: 因为设计不出这样的表, 所以没有问题;

不符合第二范式的例子:

表:学号, 姓名, 年龄, 课程名称, 成绩, 学分;

这个表明显说明了两个事务:学生信息, 课程信息;

存在问题:

数据冗余,每条记录都含有相同信息;
删除异常:删除所有学生成绩,就把课程信息全删除了;
插入异常:学生未选课,无法记录进数据库;
更新异常:调整课程学分,所有行都调整。

修正:

学生:Student(学号, 姓名, 年龄);

课程:Course(课程名称, 学分);

选课关系:SelectCourse(学号, 课程名称, 成绩)。

满足第2范式只消除了插入异常。


不符合第三范式的例子:

学号, 姓名, 年龄, 所在学院, 学院联系电话,关键字为单一关键字"学号";

存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话)

存在问题:

数据冗余:有重复值;

更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况

删除异常

修正:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 地点, 电话)。
作者:sunxing007
分享到:
评论

相关推荐

    Java面试中数据库三范式详解

    在 Java 面试中,数据库三范式是常见的考察点,本文将对三范式进行详细的解释,并以实例来讲解怎样将这些范式应用于实际工程。 一、第一范式(1NF) 第一范式的定义是:关系 R 中的每个属性都是不可分割的项。也...

    MySQL三大范式详解.docx

    MySQL 三大范式是关系型数据库设计的基础,它们分别是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。下面我们将详细介绍 MySQL 三大范式的定义、特点和应用。 第一范式(1NF) 第一范式(1NF)是指数据库表...

    通俗易懂,实例讲解数据库范式,三范式,六范式

    ##### 第三范式(3NF): 消除非主属性的传递依赖 - **前提条件**:符合2NF。 - **定义**:在符合2NF的基础上,要求非主属性既不部分依赖于码,也不传递依赖于码。 - **示例**:如果一个课程的教材由教师决定,而教师...

    数据库三范式最简单最易记的解释.docx

    下面是对数据库三范式的详细解释: 第一范式(1NF) 第一范式的要求是:字段不可分。也就是说,一个字段不能再被分割成更小的字段。如果一个字段可以被分割成更小的字段,那么这种数据库设计就不符合第一范式。 ...

    SQL 第三范式 规范化设计数据库范例 数据库设计示例

    本资源摘要信息将围绕 SQL 第三范式规范化设计数据库范例进行详细的解释和分析,从标题、描述、标签和部分内容中提炼出相关的知识点。 标题和描述解释 本资源的标题和描述都是“SQL 第三范式 规范化设计数据库范例...

    数据库三范式.pdf

    数据库三范式经典实例解析 数据库设计范式是数据库...通过对数据库三范式的解释,我们可以看到数据库设计范式的重要性,它可以使数据库结构更加简洁、明晰,避免数据冗余、更新异常、插入异常和删除异常等问题的发生。

    数据库设计第三范式详解

    在众多的规范化理论中,第三范式(3NF)是数据库设计中的一个重要概念,它有助于消除数据冗余,提高数据一致性,降低更新异常,从而优化数据库性能。本文将深入探讨第三范式,并通过具体的案例分析来帮助理解其应用...

    mysql三范式.doc

    MySQL三范式是数据库设计中遵循的重要原则,用于构建高效、规范化的数据库模式,避免数据冗余和操作异常。这三范式分别是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。让我们逐一详细解释。 1. 第一范式(1...

    数据库范式以及范式的级别

    三、第三范式(3NF) 3NF要求所有非主属性不仅不依赖于主键的一部分,而且也不依赖于其他非主属性。也就是说,如果存在非主属性之间的函数依赖,需要将这些属性分离到不同的表中,以确保每个表的每个非主属性都只...

    数据库 三范式最简单最易记的解释

    以下是对三范式的详细解释: 1. 第一范式(1NF:First Normal Form)——原子性 第一范式要求数据库中的每一列(字段)都是不可分割的原子性数据,即每个字段不能再细分为更小的部分。例如,如果一个字段包含了多...

    学案之数据库三范式.pdf

    本文将对数据库设计三范式进行通俗的解释,并以实例来讲解怎样将这些范式应用于实际工程。数据库设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除和更新...

    db设计之第三范式讲解

    以下是第一范式、第二范式和第三范式的详细解释: **第一范式(1NF)**: 1NF 是最基本的要求,它规定数据库表的每一列都应是不可分割的基本数据项。这意味着每个字段只存储单一值,不允许有复合字段。例如,在员工...

    数据库设计三大范式1

    例如,在订单表中,如果包含客户编号作为外键,而不在订单表中直接存储客户的其他信息,如姓名和公司,这样就满足了第三范式。当需要查询客户信息时,通过客户编号去引用专门的客户信息表,避免了数据冗余和更新异常...

    数据库范式详解+实例

    数据库范式主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF(Boyce-Codd范式)。下面我们详细介绍这些范式及其相互之间的转换方法。 ##### 第一范式(1NF) - **定义**:如果关系模式R属于第...

    从0范式到3范式模型设计视频介绍

    配合《三范式 3NF 3范式 视频讲解 胡艺友 灰太狼.xlsx》这个文件,可能是视频讲解的补充资料,包含具体的案例分析或练习,帮助学习者巩固所学知识。 了解和掌握这些范式,不仅可以帮助数据库设计人员创建出逻辑清晰...

    数据库的---三大范式

    3. 第三范式(3NF):3NF 在2NF的基础上更进一步,要求不存在非关键字段对关键字段的传递函数依赖。这意味着,如果A→B→C,那么C不能直接依赖于A,否则就存在传递函数依赖。例如,如果“学号”是主键,“学院”、...

    数据库范式化教程 - 订单数据实例速成.pdf

    首先,文档提到了三个范式:第一范式、第二范式、第三范式。每个范式都有其特定的标准和要求,确保数据库中的数据结构合理化。 第一范式(First Normal Form,1NF)要求关系模型中的每个表的属性值必须是原子性的,...

    数据库考试题 模式分解例题 范式规范化 3NF BCNF

    3NF 和 BCNF 是数据库设计中的两个重要概念,分别表示第三范式和 Boyce-Codd 范式,它们都是数据库设计中的重要原则和方法。 本文将对数据库考试题中的每个问题进行详细的解释和分析,帮助读者更好地理解数据库的...

Global site tag (gtag.js) - Google Analytics