数据库设计规范(三大范式)

1、第一范式*(确保每列保持原子性)

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式。

第一范式的合理遵循需要根据系统给的实际需求来确定。比如某些数据库系统中需要用到"地址"这个属性,本来直接将"地址"属性设计成为一个数据库表的字段就行,但是如果系统经常访问"地址"属性中的"城市"部分,那么一定要把"地址"这个属性重新拆分为省份、城市、详细地址等多个部分来进行存储,这样对地址中某一个部分操作的时候将非常方便,这样设计才算满足数据库的第一范式。

2、第二范式(确保表中的每列都和主键相关)

第二范式在第一范式的基础上更进一层,第二范式需要确保数据库表中每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

3、第三范式(确保每列都和主键列直接相关,而不是间接相关)

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系,而不可以在订单表中添加关于客户其他信息(比如姓名、所属公司)的字段

相关推荐
圆内~搁浅37 分钟前
langchain本地知识库问答机器人集成本地知识库
数据库·langchain·机器人
早起的年轻人1 小时前
Docket Desktop 安装redis 并设置密码
数据库·redis·缓存
xlxxy_2 小时前
ABAP数据库表的增改查
开发语言·前端·数据库·sql·oracle·excel
清水加冰2 小时前
【MySQL】索引
数据库·mysql
qw9492 小时前
Redis(高阶篇)03章——缓存双写一致性之更新策略探讨
数据库·redis·缓存
IT猿手2 小时前
2025最新智能优化算法:鲸鱼迁徙算法(Whale Migration Algorithm,WMA)求解23个经典函数测试集,MATLAB
android·数据库·人工智能·算法·机器学习·matlab·无人机
m0_748234083 小时前
SQL Server 导入Excel数据
数据库
Ciderw3 小时前
MySQL日志undo log、redo log和binlog详解
数据库·c++·redis·后端·mysql·面试·golang
CT随4 小时前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全