官方的解释就不放了,想看的可以去百度!

通俗的理解:

第一范式就是属性不可分割,每个字段都应该是不可再拆分的。

比如一个字段是姓名(NAME),在国内的话通常理解都是姓名是一个不可再拆分的单位,这时候就符合第一范式;

但是在国外的话还要分为FIRST NAMELAST NAME,这时候姓名这个字段就是还可以拆分为更小的单位的字段,就不符合第一范式了。

第二范式就是要求表中要有主键,表中其他其他字段都依赖于主键,因此第二范式只要记住主键约束就好了。

比如说有一个表是学生表,学生表中有一个值唯一的字段学号,那么学生表中的其他所有字段都可以根据这个学号字段去获取,依赖主键的意思也就是相关的意思,因为学号的值是唯一的,因此就不会造成存储的信息对不上的问题,即学生001的姓名不会存到学生002那里去。

第三范式就是要求表中不能有其他表中存在的、存储相同信息的字段,通常实现是在通过外键去建立关联,因此第三范式只要记住外键约束就好了。

比如说有一个表是学生表,学生表中有学号,姓名等字段,那如果要把他的系编号,系主任,系主任也存到这个学生表中,那就会造成数据大量的冗余,一是这些信息在系信息表中已存在,二是系中有1000个学生的话这些信息就要存1000遍。因此第三范式的做法是在学生表中增加一个系编号的字段(外键),与系信息表做关联。

一般地,在进行数据库设计时,应遵循上面的三大原则,也就是我们通常说的三大范式。

第一范式要求确保表中每列的原子性,也就是不可拆分(表里面的每个属性都是具有独立性即独立的,不能再分为!);

第二范式要求确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依赖关系,也就是完全依赖;

如果一个表中存在(在满足第一范式的情况下)一个主键对应多个其他属性的情况,即一对多的存在,那么我们就应该把主键和属性分离出来成多个表,分离出来的两个表是一对多的关系;

第三范式确保主键列之间没有传递函数依赖关系,也就是消除传递依赖。简而言之就是把表忘你认为最合适的最细化去分,三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。

如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库

数据库三大范式通俗理解相关推荐

  1. 数据库逻辑设计之三大范式通俗理解

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

  2. 数据库三大范式通俗解析

    三大范式 一.三大范式通俗解释: 二.详解 一.三大范式通俗解释: (1)简单归纳: 第一范式(1NF):字段不可分: 第二范式(2NF):有主键,非主键字段依赖主键: 第三范式(3NF):非主键字段 ...

  3. 浅谈数据库三大范式的理解

    首先声明一下,我的这个回答是个人工作总结,不适合考试答题昂. 欢迎关注我的博客. 前言:数据库设计其实不仅仅限制于三个范式,往下其实还有很多种,但对于大多数人来说,你又不搞科研,不造飞机大炮,掌握三大 ...

  4. 数据库三大范式的理解

    一: 引言 作为一个数据库的学习者,搞懂关系数据库的三大范式是很有用的.然而教科书上有关数据库范式的介绍都是采用学术性的定义,语法羞涩,让人难懂,故写下自己对数据库范式的理解,给初学者提供帮助,也备日 ...

  5. 数据库三范式通俗理解 -数据库三范式官方定义

    数据库三范式 官方定义 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分. 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖 第三范式(3NF):在第二范式的 ...

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

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

  7. 数据库三大范式的理解(大白话篇)

    第一范式:列的原子性,即每一列(每一个属性,字段)都不可分割. 举例:销售成本=成本的单价*销售的数量,所以这里就不可以以销售成作为字段. 第二范式:非主属性必须完全依赖于主属性,不能存在只依赖于主属 ...

  8. mysql三大范式 答案_数据库三大范式定义与理解

    数据库三大范式定义与理解 发布时间:2018-06-04 10:24, 浏览次数:291 一.第一范式(1NF) 要求: 要求:每一个分量必须是不可分的数据项. 特点: 1)有主键,且主键不能为空. ...

  9. 数据库设计的三大范式通俗解释

    一.三大范式通俗解释: (1)简单归纳: 第一范式(1NF):字段不可分: 第二范式(2NF):有主键,非主键字段依赖主键: 第三范式(3NF):非主键字段不能相互依赖. (2)解释: 1NF:原子性 ...

最新文章

  1. libuv 高性能 事件驱动 跨平台 i/o库 简介
  2. UVA11729突击战(汇报和执行任务)
  3. mysql5.5源码包安装_mysql的源码包方式安装(mysql5.5)
  4. python perl 日本的应用_将perl-soap应用程序移植到python
  5. Spring Boot中使用Ribbon软负载
  6. labview linux 内核 不匹配,Linux CentOS7(或Ubuntu)中安装NI-VISA后一打开范例Simple Serial.vi就闪退,LabVIEW就崩溃。...
  7. 河外动态:疑似UFO的编队在太阳附近徘徊
  8. win10 python 3.7 pip install tensorflow
  9. 解决:An HTTP error occurred when trying to retrieve this URL.
  10. 高仿精仿快播应用android源码下载
  11. i印通校园自助打印系统
  12. 制作bt种子(非pt站私有种)
  13. 电脑W ndoWs未能启动怎么办,电脑出现windows未能启动怎么办
  14. 投稿流程以及审稿状态
  15. PHPCMS模块分析之广告模块详解----北冥神功破解法(二)
  16. 闲置台式机+文件服务器,闲置电脑打造NAS:安装群晖NAS系统
  17. fiddler——插件下载——js文件格式、图片等
  18. 内行看门道:看似“佛系”的《QQ炫舞手游》,背后的音频技术一点都不简单
  19. 【数据篇01】什么是PowerPivot?和PowerBI什么关系?
  20. EMC isilon 磁盘更换手册

热门文章

  1. centos php 启动命令
  2. 已解决java.util.concurrent.ExecutionException异常的正确解决方法,亲测有效!!!
  3. Idea解决SVN的代码冲突
  4. Python 函数用法之(eval函数)
  5. php微信地理位置,php,微信公众号,获取用户地理位置 定位 经纬度
  6. 品牌床垫的数字与服务之路
  7. AndroidStudio简单计算器的实现
  8. 苹果6访问限制密码4位_Mac笔记本简单4步查看已经连接的Wi-Fi密码!
  9. [翻译]辉煌帝传说 第一章 太阳和黑水晶(3)
  10. 线程处理任务超时处理