Mysql范式设计原则介绍

1.第一范式

定义:数据表中每个字段的值必须具有原子性(不可以再次拆分)

错误示例:

用户ID、用户名、用户密码、用户信息这几个字段中,用户信息就不符合第一范式的设计原则。

2.第二范式

定义:在第一范式的基础中,确保数据表中除主键之外的每个字段都依赖主键

错误示例:

商品类别主键id(字段名)

商品类别名称(字段名)

商品名称(字段名)

商品价格(字段名)

上述蓝色字段不符合第二范式定义,商品名称和商品价格并不依赖于商品类别主键id。可以拆分成如下设计

正确示例:

表1:

商品类别主键id

商品类别名称

表2:

商品主键id

商品类别id

商品名称

商品价格

3.第三范式

定义:第三范式是在第二范式的基础上,确保数据表中的每一列都和主键字段直接相关,也就是说,要求数据表中的所有非主键字段不能依赖于其他非主键字段

4.反范式化

定义:数据库中数据量巨大,访问频次高,如果按照三大范式设计数据库表,会产生大量关联查询。会影响数据库的读性能。采用反范式化给数据库表增加冗余字段来解决这个问题。

相关推荐
这个DBA有点耶1 分钟前
异构数据集成方案:跨平台同步的完整指南与工具选型(含实测)
数据库·sql·程序人生·架构·数据库架构·dba
小白学大数据3 分钟前
Python 项目实战:用 Flask 构建生产级 MySQL 增删改查 REST API
开发语言·人工智能·python·mysql·flask
蓝速科技11 分钟前
会议室门牌显示模板选型与品牌视觉适配落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
minebmw713 分钟前
第 02 讲 基础架构:一条 SQL 查询语句是如何执行的?
mysql
jaysee-sjc26 分钟前
【苍穹外卖】Day01:从零认识企业级项目开发
java·开发语言·数据库·mysql·spring·intellij-idea·mybatis
智购科技自动贩卖机27 分钟前
自动售货机嵌入式系统时钟同步与时间管理实战:从RTC校准到断网时间保持的工程实践
大数据·linux·数据库·人工智能·yolo
Y38153266227 分钟前
SEO 周报自动化:从采集数据到一页报告
数据库·搜索引擎
雨辰AI28 分钟前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
念何架构之路44 分钟前
beego ORM 源码(下):SQL 生成与方言
数据库·sql·beego
livemetee1 小时前
MySQL联合唯一索引(code,deleted)与逻辑删除问题
java·数据库