数据库三大范式定义与理解

发布时间:2018-06-04 10:24,

浏览次数:291

一、第一范式(1NF)

要求:

要求:每一个分量必须是不可分的数据项。

特点:

1)有主键,且主键不能为空。

2)字段不能再分。

示例:(以下例子不满足第一范式)

学号年龄信息

10119湖北武汉市,电话:12345678

10120湖北

主键:学号

不满足原因:1)主键重复。2)信息字段可以再分

二、第二范式(2NF)

要求:在范式一的基础上,且每一个非主属性完全函数依赖于主键。

特点:

1)满足第一范式。

2)表中的每一个非主属性,必须完全依赖于本表主键。

3)只有当一个表中,主键由两个或以上的属性组成的时候,才会出现不符合第二范式的情况。

示例:(以下例子不符合第二范式)

学号课程号得分课程名

10100395数据库主键:学号,课程号不满足原因:课程名不完全依赖于所定义的所有主键,课程名部分依赖于主键课程号。

三、第三范式(3NF)

要求:在第二范式的基础上,且消除传递依赖性

1)满足第二范式

2)所有的非主键列依赖于主键列

注:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余,但是

没有数据冗余的数据库并不一定是最好的数据库,所以有没有冗余的设计,要综合来考虑

学生课程老师老师职称教室上课时间

小明语文王五讲师1108:30主键:学生、课程

上面的“学生上课表”符合2NF,可以这样验证:两个主属性单独使用,不用确定其它四个非主属性的任何一个。但是它有传递依赖!在“老师”和“老师职称”

这里,一个老师一定能确定一个老师职称。

如果不消除这种传递依赖,有可能会出现:

1、老师职称变了,变教授了,要改数据库,表中有N条,改了N次……(修改异常)

2、没人选这个老师的课了,老师的职称也没了记录……(删除异常)

3、新来一个老师,还没分配教什么课,他的职称记到哪?……(插入异常)

所以为了解决这些问题应把表拆分成:

学生课程老师教室上课时间

小明语文王五1108:30

老师老师职称

大宝讲师

版权声明:本博客为记录本人自学感悟,内容大多从网上学习与整理所得,若侵权请告知!

https://mp.csdn.net/postedit/80365677

mysql三大范式 答案_数据库三大范式定义与理解相关推荐

  1. mysql三大范式 答案_数据库三大范式的个人理解~!

    下面引用的是百度文库的解释,之后是我自己的理解,如果我写的理解不了可以看下百度文库的解释! 百度文库: 范式简介编辑 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求 ...

  2. mysql三大范式 答案_数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩...

    一.第一范式 1NF是对属性的原子性,要求属性具有原子性,不可再分解:表:字段1. 字段2(字段2.1.字段2.2).字段3 ...... 如学生(学号,姓名,性别,出生年月日),如果认为最后一列还可 ...

  3. 南京廖华里mysql测试题1答案_数据库原理(一)研讨、实验、作业题安排

    第4周(第四章:数据更新.视图.嵌入式SQL部分自学) 一.实验课: 1. 建立计算机学院总评不及格成绩学生的视图,包括学生学号.姓名.性别.手机.所选 课程和成绩. 2. 在E表中插入记录,把每个学 ...

  4. 3nf mysql表_数据库三大范式(1NF,2NF,3NF)及ER图

    数据库三大范式(1NF,2NF,3NF)及ER图 百度官方解释: 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据 ...

  5. mysql数据库应用与开发姜桂洪 课后答案_数据库原理及应用(SQL Server 2012) 王丽艳版 课后习题第一至六章答案...

    有很多小伙伴说在网上很难找到这本教材的答案,临近期末复习关头,特将此文章共享到知乎,希望大家考试旗开得胜! 第一章 一.填空题 1.载体 2. 数据库 3.数据库 4.数据库 5.模式 6.例行程序 ...

  6. MySQL笔记(七)数据库三范式

    这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇主要是数据库三范式.有错误的欢迎大家指出... 数据库三范式 (1)第一范式(1NF): 定义:每一列都是不可分割的原子数据项(强调的是列的 ...

  7. 【MySQL 第10章_数据库的设计规范】

    第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  8. mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?

    展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...

  9. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

最新文章

  1. iOS图片精确提取主色调算法iOS-Palette(附源码)
  2. 玻璃质感_他的玻璃质感让人佩服的五体投地
  3. weblogic 12 开启debug端口配置
  4. python串口通信_python的串口通信(pyserial)
  5. ATL--创建简单的ATL之dll工程,添加类和类的接口并在MFC中调用
  6. vmware不能resume问题,Collect Support Data,vmware.log
  7. 设计模式--中介者模式(Mediator)
  8. lbochs模拟器最新版_Bochs模拟器
  9. 计算机基础知识刷题app,计算机考试刷题app
  10. 网络无法访问互联网是什么原因
  11. 19校招华为笔试 Code3
  12. Log Robust 日志异常检测
  13. 热点drcom 破解
  14. 《一切都是最好的安排》之感想
  15. 磨金石教育是正规的吗?插画好学吗?学习插画有哪些小技巧?
  16. 走近“领域特定语言”(Domain-Specific Languages)
  17. (完结项目)fpga采集双路CCD摄像头1000帧图像上传到上位机显示
  18. 【Web开发】Python实现Web服务器(Ubuntu下Flask使用MySQL数据库)
  19. 在Windows系统上使用WSL和Docker
  20. 仿照(小米官网首页轮播图)特效js代码

热门文章

  1. PacBio软件总览 - 初级分析
  2. 函数重载和 函数模板
  3. 二十七、连续分配管理方式
  4. 图像拼接--Seam Carving for Content-Aware Image Resizing
  5. Java 内存泄漏监控检测与分析
  6. java xftp_IDEA使用Xshell利用Xftp部署javaweb项目
  7. 堆叠柱形图上自定义数字_柱形图的类别标签太长太宽,倾斜起来了怎么办?
  8. C语言如何实现随机打印24个母,菜鸟求助,写一个随机输出26个英文字母的程序...
  9. 计算机对文字信息交流方式案例,《信息交流的方式》题本梳理_教师资格面试初中信息技术...
  10. VMware虚拟机三种网络模式(桥接、NAT、仅主机)的区别