0、数据库设计范式

设计范式是数据库表的设计依据,如何进行数据库表的设计。

设计数据库表时按照三范式进行,可以避免表中数据的冗余,空间的浪费。

1、第一范式

要求任何一张表必须有主键,每一个字段原子性不可再分。【最核心最重要的范式】

2、第二范式

建立在第一范式的基础上,要求所有非主键字段完全依赖主键,不要产生部分依赖。

多对多关系表怎么设计: 多对多,三张表,关系表两个外键

eg:

学生表(stu_id, stu_name) ;  教师表(teacher_id, teacher_name) ; 关系表(id, stu_id, teacher_id)

3、第三范式

建立在第二范式的基础之上,要求所有非主键字段直接依赖主键,不要产生传递依赖。

一对多关系表怎么设计:一对多,两张表,多的表加外键

eg:

班级表(class_id, class_name) ; 学生表(stu_id, stu_name, class_id)

一对一关系表怎么设计:一对一,外键唯一

在实际开发中,可能存在一张表字段太多,太庞大,这时候要拆分表

eg:一张表存登录信息,一张表存用户详细信息

设计策略:外键唯一策略(Foreign Key + Unique) ————外键加一个唯一性约束

ps:

【在sql中,连接次数越多,效率越低(笛卡尔积)】

【为了减少表的连接次数,有时会用空间冗余换执行速度,sql语句的编写难度也会降低】

MySQL——数据库设计三范式相关推荐

  1. MySQL之数据库设计三范式

    目录 一.简介 第一范式 第二范式 第三范式 结语 学习计划: 一.简介   我们数据库表设计的时候需要尽可能的遵循三范式,具体是 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列, ...

  2. [数据库03]-约束(唯一性-主键-外键/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式

    [数据库03]-约束(唯一性-主键-外键)/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式 一.约束 1.1 唯一性约束(unique) 1.2 主键约束 1.3 外键约束 二.存储引擎 2 ...

  3. MySQL面试题 数据库设计三范式

    第一范式 属性(字段)的原子性约束,要求属性具有原子性,不可再分割: 比如个人信息,个人信息不能作为一个字段,它可以再分为姓名.name.age等: 第二范式 记录的惟一性约束,要求记录有惟一标识,每 ...

  4. 深入浅出数据库设计三范式

    设计良好结构的数据库,可以有效减小数据冗余,减少增删改中出现的问题.深入理解数据库设计的三范式,对于设计"健壮的数据库"十分有必要.数据库三范式是设计数据库 时参考的准则,接下来我 ...

  5. 浅析数据库设计三范式

       在学习数据设计的时候,N种专业术语,看的头疼.但又不能不学,所以只好把它们整理整理出来,好让自己对它们有一个更深的理解.特别是对三范式(Normal Formal)的理解.     三范式指的是 ...

  6. 数据库设计三范式(3NF)

    问:当时你数据库是如何设计的? 答:当时是按照三范式规范设计的: 第一范式: 1:数据库的原子性,即保证数据库表的每一列都不可分割的 第二范式: 1:原子性,即保证数据库表的每一列都不可分割 2:表中 ...

  7. 数据库设计三范式的举例及四大特性说明

    更多免费教学文章请关注这里 前言 数据库课本上都把范式写到五范式了,但是实际应用中,满足三范式已经足够了,五范式太多余了. 三种范式是条件递增的联系(即后一个范式是在前一个条件满足的情况下引入新的条件 ...

  8. 【数据库】数据库设计三范式

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

  9. 数据库设计三范式详细介绍--数据库设计规范之数据库设计三范式

    为什么需要数据库设计 1. 我们在设计数据表的时候要考虑很多问题问题,比如: 用户都需要什么数据?需要在数据表中保存哪些数据? 如果保证数据表中数据的正确性,当插入.删除.更新的时候该进行怎么样的约束 ...

最新文章

  1. k8s系列~mgr的应用
  2. 机器学习(MACHINE LEARNING)MATLAB蚁群算法解决TSP问题
  3. GIS基本知识学习PDF文档
  4. vegas9.0合成计时器
  5. MySQL中事物的详解
  6. pannel添加的子窗体很大_超简单的地瓜粉焖子做法全解,零失败
  7. 利用 %20 替换 空格
  8. 案例 自动办公_办公自动化案例教程(双色)(含微课)
  9. 安装linux系统收费标准,LINUX操作系统安装标准规范.doc
  10. 理解numpy数组中的各个维度代表的具体意思(axis)
  11. 《Cisco防火墙》一8.7 通过NAT规则定义连接限制
  12. 用三层交换机实现大中型企业VLAN
  13. mysql 驱动包 mysql-connect-java
  14. 微软应用商店microsoft store 打不开
  15. matlab两矩阵乘除,MATLAB矩阵乘法
  16. 数字人民币的基础-共识与信任
  17. SCSI与USB的关系
  18. Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部
  19. 彻底关闭自带杀毒软件windows defender,Antimalware Service Executable
  20. must be of typexxx解决方法

热门文章

  1. 7.Excuse me/thanks|/Help/ask/some/祈使句
  2. SpringBoot——druid监控中心
  3. python批量修改图片的exif信息,增加GPS信息。
  4. 微信开发 | 配置微信公众号关键域名(一)
  5. html 获取class节点,jquery获取class元素
  6. 已知矩形的三个顶点坐标,求最后一个的顶点坐标(向量求法)
  7. IOS中Socket详解
  8. 【转发】思华SDN技术在盛大游戏G云2.0中的应用
  9. 云管理员、云架构师和云应用开发人员的职位描述与工作职责介绍
  10. 如何去除hao123或者百度主页劫持?