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

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

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

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

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

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

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

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

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

相关推荐

  1. 数据库设计规范范式

    2024-04-03 06:48:06       6 阅读
  2. 数据库设计范式

    2024-04-03 06:48:06       8 阅读
  3. 数据库设计范式

    2024-04-03 06:48:06       26 阅读
  4. 数据库设计范式(数据库设计规则)

    2024-04-03 06:48:06       30 阅读
  5. 【MySQL】范式

    2024-04-03 06:48:06       25 阅读
  6. 数据仓库】-- 数据库设计范式

    2024-04-03 06:48:06       28 阅读
  7. 数据库范式

    2024-04-03 06:48:06       17 阅读

最近更新

  1. leetcode705-Design HashSet

    2024-04-03 06:48:06       5 阅读
  2. Unity发布webgl之后打开streamingAssets中的html文件

    2024-04-03 06:48:06       5 阅读
  3. vue3、vue2中nextTick源码解析

    2024-04-03 06:48:06       6 阅读
  4. 高级IO——React服务器简单实现

    2024-04-03 06:48:06       5 阅读
  5. 将图片数据转换为张量(Go并发处理)

    2024-04-03 06:48:06       4 阅读
  6. go第三方库go.uber.org介绍

    2024-04-03 06:48:06       6 阅读
  7. 前后端AES对称加密 前端TS 后端Go

    2024-04-03 06:48:06       7 阅读

热门阅读

  1. 第八章:k8s如何使用 Service 暴露你的应用

    2024-04-03 06:48:06       4 阅读
  2. 【Vue】创建vue3项目

    2024-04-03 06:48:06       6 阅读
  3. Python可视化概率统计和聚类学习分析生物指纹

    2024-04-03 06:48:06       4 阅读
  4. LeetCode //C - 1146. Snapshot Array

    2024-04-03 06:48:06       7 阅读
  5. 利用pandas进行数据行转列和列转行

    2024-04-03 06:48:06       4 阅读
  6. Vue组件基础详细介绍

    2024-04-03 06:48:06       6 阅读