三范式,面试重点

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

第一范式:

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

第二范式

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

第三范式

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

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

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
Lee川11 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试
IvorySQL13 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
UrbanJazzerati13 小时前
Python Scrapling反爬虫小技巧之Referer
后端·面试
一点一一14 小时前
从输入URL到页面加载:浏览器多进程/线程协同的完整逻辑
前端·面试
NineData14 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
暮色妖娆丶17 小时前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
UrbanJazzerati17 小时前
Python Scrapling:小白也能轻松掌握的现代网页抓取工具
后端·面试
Lee川17 小时前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试
zone773917 小时前
004:RAG 入门-LangChain读取PDF
后端·python·面试