三范式,面试重点

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

第一范式:

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

第二范式

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

第三范式

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

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

  • 在实际开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度(说出这个是加分),三范式只是理论
相关推荐
TF男孩8 分钟前
写代码不怕Bug,就怕合同里有“竞业陷阱”
面试
倔强的石头_12 分钟前
面向电力生产调度系统的数据库实践:从时序处理到多中心容灾
数据库
q***471816 分钟前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql
杨云龙UP17 分钟前
【MySQL逻辑备份】基于mysqldump的MySQL 8.0全量逻辑备份脚本
linux·运维·数据库·sql·mysql·mssql
沐怡旸29 分钟前
【穿越Effective C++】23.宁以non-member、non-friend替换member函数
c++·面试
一只爱学习的小鱼儿36 分钟前
QT中3D的使用
开发语言·数据库·qt
q***96581 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
k***1951 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
倔强的石头_1 小时前
openGauss进阶:使用DBeaver可视化管理与实战
数据库
GBASE2 小时前
GBASE南大通用技术分享:GBase 8c数据库集群部署服务器时间一致性配置解析(下)
数据库