【个人技术经验及开发技巧分享】 【个人技术经验及开发技巧分享】
首页
  • 操作系统初识
  • JAVA基础
  • JVM
  • 开发框架
  • Redis
  • Zookeeper
  • 消息中间件
  • 持久化
  • 算法
  • 网络
  • 系统架构
  • 并发编程
  • 框架
  • 开发杂货
  • 线上排查
  • 技巧备忘
  • 部署指南
  • 版本管理
  • 工作流程
  • 发版流程
  • 友情链接
  • 网站备忘
  • 在线工具
  • 学习
  • 各种云
  • 应用下载

Louis

首页
  • 操作系统初识
  • JAVA基础
  • JVM
  • 开发框架
  • Redis
  • Zookeeper
  • 消息中间件
  • 持久化
  • 算法
  • 网络
  • 系统架构
  • 并发编程
  • 框架
  • 开发杂货
  • 线上排查
  • 技巧备忘
  • 部署指南
  • 版本管理
  • 工作流程
  • 发版流程
  • 友情链接
  • 网站备忘
  • 在线工具
  • 学习
  • 各种云
  • 应用下载
  • 操作系统初识

  • JAVA基础

  • JVM

  • 开发框架

  • Redis

  • Zookeeper

  • 消息中间件

  • 持久化

    • 数据库设计三大范式
      • 第一范式
      • 第二范式
      • 第三范式
    • 执行计划Explain
    • 索引
    • 事务
    • 数据库锁
    • MySQL数据同步
    • ElasticSearch基础
    • ElasticSearch杂记
  • 算法

  • 网络

  • 系统架构

  • 学习笔记
  • 持久化
luoxiaofeng
2022-05-07
目录

数据库设计三大范式

# 第一范式

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

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

# 第二范式

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

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

# 第三范式

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

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

#数据库
RabbitMQ
执行计划Explain

← RabbitMQ 执行计划Explain→

最近更新
01
SpringBoot
10-21
02
Spring
10-20
03
Sentinel
10-14
更多文章>
Copyright © 2022-2023 Louis | 粤ICP备2022060093号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式