`

关系型数据库三范式解释

阅读更多
数据库 三范式最简单最易记的解释,整理一下方便大家记忆。
书上讲了好多, 归结起来3句话:

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

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

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

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

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

不符合第二范式的例子:

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

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

存在问题:

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

修正:

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

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

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

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


不符合第三范式的例子:

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

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

存在问题:

数据冗余:有重复值;

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

删除异常

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

相关推荐

    关系型数据库设计范式

    尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。

    25.关系型数据库的三范式?.avi

    25.关系型数据库的三范式?.avi

    关系型数据库范式

    关系型数据库范式.doc

    Java面试题25.关系型数据库的三范式.mp4

    Java面试题25.关系型数据库的三范式.mp4

    数据库三范式

    设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。

    关系型数据库---第一范式

    关系型数据库---第一范式 关系型数据库---第一范式

    数据库三大范式

    为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。

    关系型数据库的设计三范式

    在关系型数据库的设计中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。  所谓第一范式是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不...

    详解MySQL 数据库范式

    要想设计一个结构合理的关系型数据库,必须满足一定的范式。 范式的英文名称是 Normal Form ,简称 NF 。它是英国人 E.F.Codd 在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也

    数据库设计三大范式简析

    在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。  在实际开发中最为常见的设计范式有三个: 1.第一范式(确保每列保持原子性) 第...

    MySQL数据库:关系规范化.pptx

    关系模式设计的好坏直接影响关系型数据库设计的成败。将关系模式规范化是设计好关系型数据库的唯一途径。 未经规范化的数据库一般都有下述缺点: 较大的数据冗余,数据一致性差,数据修改复杂,对表进行更新,插入,...

    关系型数据库性能体系设计和效率提升.docx

    关系型数据库性能体系,设计和效率提升 1 1 前言 2 1.1目的 2 1.2预期的读者和阅读建议 2 2 数据库模型设计规范 2 2.1 数据库建模原则性规范 2 2.2 实体型之间关系认定规范 2 2.3 范式化1NF的规范 3 2.4 范式化2NF的...

    Mysql数据库设计三范式实例解析

    即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF。数据库表的每一列都是不可分割的原子数据项,而不能是集合,...

    数据库范式

    关系型数据库设计时是要遵循一定的规则的,尤其是数据库的设计范式。现简单介绍一下1NF(第一范式)、2NF(第二范式)、3NF(第三范式),另有第四范式和第五范式(第四范式和第五范式属于范式中的较高要求的范式)...

    数据库设计三大范式.pdf

    数据库设计三⼤范式 数据的概念 数据的概念 对象object,也称为实体型。在现实世界中具有相同性质、遵循相同规则的⼀类事物的抽象称为对象。对象是实体集数据化的结果,⽐如学 ⽣、⽼师、课程等是对象。 实例...

    “做中学”在计算机理论教学中的应用——以Oracle数据库设计范式教学为例.pdf

    “做中学”在计算机理论教学中的应用——以Oracle数据库设计范式教学为例.pdf

    关系型数据库+mysql复习资料+资料

    内容概要:整理了mysql知识点,sql规范、SQL语言分类、DQL语句、DML语句、DLL语句、索引、TCL、存储引擎、mysql锁、视图、存储过程和函数、三范式

    详谈数据库泛型:第一、二、三、四和BCN范式

    目录 1 什么是数据库泛型? 2 第一范式:无重复的列 ...目前,关系型数据库最常用的四种范式分别是第一范式、第二范式、第三范式和BCN范式。 应用数据库范式可以带来许多好处,但是最重要的好处归结为三点: 1)减少

    数据库范式:容易忽略的关键知识

    文章目录数据库范式:容易忽略的关键知识第一范式(1...不满足1NF的数据库一定不是关系型数据库 第二范式(2NF) 定义:2NF在1NF的基础上,消除了非主属性对于主键的部分函数依赖 在1NF的基础上,增加两点 表必须有一个

    云计算与数据库.docx

    1 传统关系型数据库 1970年,Edgar Frank Codd首次提出了数据库的关系模型,随后又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准。IBM的Ray Boyce和Don Chamberlin将这12条准则用简单的关键字语法...

Global site tag (gtag.js) - Google Analytics