三范式,面试重点

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

第一范式:

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

第二范式

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

第三范式

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

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

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
m0_49393453几秒前
Chrome 75 不支持 arrayBuffer() 方法:替代方案详解
jvm·数据库·python
qq_37290693几秒前
MySQL数据库提示表损坏怎么修复_使用REPAIR TABLE修复方案
jvm·数据库·python
Absurd5871 分钟前
golang如何实现错误预算Error Budget计算_golang错误预算Error Budget计算实现实战
jvm·数据库·python
Yushan Bai1 分钟前
ORACLE数据库从WINDOWS环境迁移到LINUX环境并升级的方案步骤
数据库·oracle
2301_764150563 分钟前
HTML5中结合IDBKeyRange限制游标扫描的数据范围
jvm·数据库·python
Polar__Star5 分钟前
mysql如何快速判断两个数据库结构差异_使用mysqldiff工具.txt
jvm·数据库·python
雪碧聊技术5 分钟前
mysql表级锁的介绍
数据库·mysql
1368木林森6 分钟前
字节 / 美团二面高频题:订单 30 分钟未支付自动取消?3 种进阶方案拆解 + 面试满分回答
面试·职场和发展
weixin_424999368 分钟前
Golang怎么写基准测试benchmark_Golang基准测试教程【完整】
jvm·数据库·python
升鲜宝供应链及收银系统源代码服务8 分钟前
系统菜单与按钮国际化升鲜宝多语言数据库设计演进对比文档(一)
数据库·多语言·生鲜配送·生鲜供应链管理系统·门店收银