三范式,面试重点

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

第一范式:

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

第二范式

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

第三范式

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

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

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
光军oi27 分钟前
Mysql从入门到精通day5————子查询精讲
android·数据库·mysql
qr9j422332 小时前
Django自带的Admin后台中如何获取当前登录用户
数据库·django·sqlite
cherry52302 小时前
【PostgreSQL】【第4章】PostgreSQL的事务
数据库·postgresql
IT成长日记6 小时前
【MySQL基础】聚合函数从基础使用到高级分组过滤
数据库·mysql·聚合函数
Guarding and trust8 小时前
python系统之综合案例:用python打造智能诗词生成助手
服务器·数据库·python
夜间出没的AGUI8 小时前
SQLiteBrowser 的详细说明,内容结构清晰,涵盖核心功能、使用场景及实用技巧
数据库
牛马baby8 小时前
Java高频面试之并发编程-01
java·开发语言·面试
不再幻想,脚踏实地9 小时前
MySQL(一)
java·数据库·mysql
拉不动的猪9 小时前
刷刷题48 (setState常规问答)
前端·react.js·面试