数据库设计三大范式

第一范式

确保每列保持原子性

即数据库表中的所有字段值都是不可分解的原子值

如果地址这个字段频繁访问, 则将地址这个属性重新划分为 省份 城市,详细地址等部分进行存储,这样才算是满足数据库的第一范式

第二范式

确保表中的每列都和主键相关

即数据库表中,一个表只能保存一种数据,不可以把多种数据保存在同一张表中。

比如订单信息表中。有商品名称,单位商品价格 就与订单表的主键不相关, 即违反了第二范式设计原则。因此需要将订单表中的商品信息分离到一张表中,把订单项目也分离到另一种表中。 就很完美 这样设计在很大程度上减小了数据库的冗余。

第三范式

确保每列都和主键列直接相关,而不是间接相关

比如一张订单数据表, 可以将客户编号作为外键和订单表建立相应的关系。而不可以在订单表中添加客户的其他信息。

这样在查询订单的时候,可以使用订单编号来引用客户信息表中的记录。也不必在订单信息表中多次输入客户信息的内容

相关推荐
GoppViper34 分钟前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
2601_962174171 小时前
Redis 简介
数据库·redis·wpf
夜雪一千1 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
Highcharts.js2 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
翼龙云_cloud2 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
进阶的小木桩3 小时前
mysql 安装问题解决方案记录
数据库·mysql
2601_962071573 小时前
如何利用SpringSecurity进行认证与授权
java·服务器·数据库
山峰哥3 小时前
数据库工程与查询优化案例深度复盘‌
数据库·sql·oracle·编辑器·深度优先·宽度优先
IT大白鼠3 小时前
MSF数据库与资产管理——专业渗透测试流程
数据库·安全·msf
IvorySQL4 小时前
PostgreSQL 日报|内核多项缺陷修复与数据校验补丁推进(8 月 27 日)
数据库·postgresql·区块链