三范式,面试重点

三范式都是拿来解决数据冗余的问题

第一范式:

表必须有主键,它确保表中的每一列都是原子性的,

第二范式

定义:数据库表必须满足第一范式,且表中的非主属性完全依赖于主键。非主属性是指除了主键之外的其他属性。完全依赖指的是非主属性只能由主键决定,而不能由主键的一部分来决定(不能部分依赖)
多对多关系?三张表,关系表

第三范式

定义:数据库表必须满足第二范式,且表中的非主属性不传递依赖于主键。传递依赖指的是某个非主属性依赖于另一个非主属性,而这个非主属性又依赖于主键。

一对多?两张表,多的表加外键

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
百度安全4 分钟前
HugeGraph 晋升 Apache 顶级项目 百度安全持续筑牢 AI 时代图数据基础设施
数据库·人工智能·安全·知识图谱
_376271535 分钟前
JavaScript中闭包结合代理模式Proxy实现数据监听
jvm·数据库·python
ShiJiuD66688899912 分钟前
综合练习(Javaweb)
数据库
User_芊芊君子16 分钟前
从 0 到 1 学 MySQL:索引原理、事务特性、视图用法与 JDBC 实操全解析
大数据·数据库·mysql
八月瓜科技25 分钟前
豆包启动付费会员测试,承诺基础服务永久免费,免费AI时代是否终结?
数据库·人工智能·科技·深度学习·机器人
人道领域26 分钟前
【黑马点评日记】社交平台用户关注功能全解析Feed流相关操作
java·开发语言·数据库·redis·python
zhoutongsheng39 分钟前
mysql如何处理表空间碎片问题_执行OPTIMIZE TABLE整理
jvm·数据库·python
lifewange1 小时前
如何查看本地的数据库里信息
数据库
PSLoverS1 小时前
Python如何实现测试场景编排_基于pytest的数据驱动组合策略
jvm·数据库·python
HalvmånEver1 小时前
MySQL事务(一)
linux·数据库·学习·mysql