三范式,面试重点

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

第一范式:

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

第二范式

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

第三范式

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

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

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
可涵不会debug1 分钟前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom4 分钟前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*9 分钟前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Cyan_RA910 分钟前
计算机网络面试题 — TCP连接如何确保可靠性?
前端·后端·面试
Slaughter信仰13 分钟前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*15 分钟前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
uhakadotcom15 分钟前
Rollup 从0到1:TypeScript打包完全指南
前端·javascript·面试
南北是北北19 分钟前
详解flowOn 与背压
面试
南北是北北22 分钟前
让转换并发起来的两个核心手段:flatMapMerge(concurrency = N)和channelFlow { ... }
面试