Kevin's blog Kevin's blog
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档

Kevin

你可以迷茫,但不可以虚度
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档
  • 基础

  • JVM

  • Spring

  • Redis

  • 消息中间件

  • 持久化

    • 数据库设计三大范式
      • 第一范式
      • 第二范式
      • 第三范式
    • 执行计划Explain
    • 索引
    • 事务
    • 数据库锁
    • Elasticsearch 杂记
  • 算法

  • 网络

  • 系统架构

  • 知识整理
  • 持久化
luoxiaofeng
2022-05-07
目录

数据库设计三大范式

# 第一范式

1、每一列属性都是不可再分的属性值,确保每一列的原子性 (如:地址字段包含了省市区,不符合原子性,应才开)

2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。(如:字段中有室号、物品1、数量1、物品2、数量2,应合并成室号、物品、数量)

# 第二范式

每一行的数据只能与其中一列相关,即一行数据只做一件事。只要数据列中出现数据重复,就要把表拆分开来。

如:一个人同时订几个房间,就会出来一个订单号多条数据,这样子联系人都是重复的,就会造成数据冗余。我们应该把他拆开来。

# 第三范式

数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。像:a-->b-->c 属性之间含有这样的关系,是不符合第三范式的。

如:学号--> 所在院校 --> (院校地址,院校电话) 应拆开为(学号,姓名,年龄,性别,所在院校)--(所在院校,院校地址,院校电话)

#数据库
上次更新: 2022/06/02, 11:20:10
RabbitMQ
执行计划Explain

← RabbitMQ 执行计划Explain→

最近更新
01
AI是如何学习的
06-05
02
chatGpt提示原则
06-05
03
提示词工程实践指南
06-05
更多文章>
| Copyright © 2022-2025 Kevin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式