第一范式

数据表中的所有字段都是不可分割的。
例如:我们创建一个地址表,我们插入地址信息:中国陕西省西安市长安区。
这种信息就可以进行拆分,我们称其不满足第一范式。所以我们可以将其进行划分。
例如:我们可以将地址细分为:国家,省份,市区,

例如上述的字段已经不能再进行拆分,所以我们称其为第一范式。

第二范式

在满足第一范式前提下,除主键外每一列都完全依赖主键。如果要出现不完全依赖,只能发生在联合主键下。
例如:

黄色标识的为主键:我们发现产品名称只依赖于产品ID这个主键,客户名称只依赖于客户ID这个主键,所以我们发现其不满足第二范式。
解决方法:表进行拆分。我们可以将该表分为两个,一个是产品表,一个是客户表。

第三范式

必选满足第二范式的前提下,除开主键的其他列不能有传递依赖的关系。
例如:我们在一张表里面有多个字段之间有传递关系,这样不满足第三范式。

上述表中就有传递依赖:我们可以通过电话找到学生姓名,我们也可以通过宿舍号找到学生姓名,所以我们需要对上述表进行拆分。

注意:范式的设计不是越详细越好,因为有的范式,我们设计出来发现基本不使用,所以范式的设计需要结合实际。

数据库---三大设计范式相关推荐

  1. 【转】关系型数据库的设计范式 1NF 2NF 3NF BCNF

    本文转载自:https://www.cnblogs.com/langdashu/p/5924082.html 一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理 ...

  2. MySQL - 数据库表设计 - 范式

    目录 一.数据库设计的重要性 二.范式 - 简介: 1.什么是范式? 第一范式 - 单一列 第二范式 - 中间表 - 一对多 第三范式 - 不产生中间表 - 一对一.多对一 三.数据库表设计的注意要点 ...

  3. Java学习日志Day29_数据库的约束_备份和还原_三大设计范式_多表查询

    -- 数据库的约束 -- 就是约束用户操作表的行为 -- 针对一些字段设置用户的限制!-- 默认约束 :default(当用户没有插入指定的这个字段,启用默认约束--->默认值)-- 创建一个张 ...

  4. 12、数据库的设计范式

    设计的数据表一般都是根据实际业务实体模型进行创建,为了提高存储的效率,设计数据表时一般按着几个标准进行设计 第一范式 每个字段的数据具有原子性,使用字段的数据时不用再解析,可直接使用 第二范式 表的每 ...

  5. 数据库设计范式实例解析

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范 ...

  6. 数据库三大范式(重要)

    转自微信 上周四下午的VIP试听课是由芒果给大家介绍的MySQL的一些基础知识,在这里芒果给大家分享其中的一部分内容--对数据库三大范式做个小介绍: 范式(数据库的设计范式)是符合某一种级别的关系模式 ...

  7. SQL Server 进阶 01 数据库的设计

    SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...

  8. (三) 数据库的设计

    2.为什么需要规范的数据库设计 您也许会问,在第一阶段,根据业务需求,我们直接建库.建表,插入测试数据,然后再查询数据,为什么现在需要强调先设计再建库.建表呢? 原因非常简单,正如我们修造建筑物一样, ...

  9. Java学习笔记:数据库中的范式和反范式

    范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.数据库的设计范式是数据库设计所需要满足的规范.只有理解数据库的设计范式,才能设计出率.优雅的数据库,否则可能会设计出 ...

最新文章

  1. 【Harvest源码分析】NuttallWindow
  2. Python入门100题 | 第068题
  3. 不满俄欧“北溪-2”项目 美驻德大使威胁制裁德国企业
  4. c# 操作oracle数据库,C#连接oracle数据库增删改查实例
  5. java中函数_java中的函数
  6. vsftpd增加用户 linux,Ubuntu Linux中vsFTP添加用户
  7. 雷军恭喜苏炳添全运会夺冠:你是小米精神的最好代言
  8. Js中动态追加代码后,之前定义的Js不再起作用
  9. SQLServer 2000中,存储过程和用户自定义函数具体的区别??
  10. 接口报params province error_Python接口测试实践之用例封装及测试报告生成
  11. controller层要写什么_别再写满屏的try-catch了,真丑,全局异常处理不会吗?
  12. java 23中设计模式
  13. Spring中的@Autowired,@Qualifier和@Primary注解
  14. 人人都说风口的二次元还是门好生意吗?——动漫市场分析
  15. ubuntu安装teamview
  16. IOS 混合开发 手势返回控制
  17. 网站原创文章被盗用怎么办?
  18. 计算机在化学中论文3000字,计算机在化学中的应用
  19. 认识Python(python起源、设计、特点及编译型语言、解释型语言)
  20. 【ML】关于什么是概率图模型?

热门文章

  1. 力扣算法题—076最小覆盖子串
  2. Vue源码解析:虚拟dom比较原理
  3. (十七)Java springcloud B2B2C o2o多用户商城 springcloud架构-消息驱动 Spring Cloud Stream...
  4. cocos2dx[3.2](11)——新回调函数std::bind
  5. windows下用php开发类似百度文库应用需要的工具和问题
  6. Mathematica实现微分算子功能
  7. SQL SERVER 数据库导入,导出之Bcp命令示例
  8. 【转】HTML5杂谈 概念与现行游戏 割绳子 宝石迷阵
  9. 7、监控和管理Linux进程
  10. 11、doCreateBean中的initializeBean