zoukankan      html  css  js  c++  java
  • 数据库三大范式最通俗解释

    第一范式

    • 列不能够再分

    这是不符合第一范式的(红色代表主键)——地址列可以再分

    学生表

    id 姓名 性别 地址
    001 闪客sun 中国,吉林,长春

    这是符合第一范式的

    学生表

    id 姓名 性别 国家 省份 城市
    001 闪客sun 中国 吉林 长春

    第二范式

    • 首先要符合第一范式
    • 表必须有主键
    • 非主键列不能只依赖于主键的一部分 

    这是不符合第二范式的(红色代表主键)---商品名称依赖了主键的一部分商品ID

    订单表

    订单ID 商品ID 商品名称
    001 251 直升机

    这是符合第二范式的

    订单表

    订单ID 商品ID
    001 251

    商品表

    商品ID 商品名称
    251 直升机

    第三范式

    • 首先满足第二范式
    • 非主键列必须直接依赖于主键,不能存在传递依赖

    这是不符合第一范式的(红色代表主键)——学校描述没有直接依赖于主键,而是直接依赖于学校,学校直接依赖于主键,所以存在传递依赖

    学生表

    id 姓名 学校 学校描述
    001 闪客sun 氢化大学 中国最牛逼的学校

    这是符合第一范式的

    学生表

    id 姓名 学校id
    001 闪客sun 001

    学校表

    id 名称 描述
    001 氢化大学 中国最牛逼的学校

    PS:本文仅帮助你理解三大范式,深入了解还需要咬定义和具体例子

  • 相关阅读:
    三、git管理修改
    二、git版本回退
    一、git创建版本库及提交
    24格栅格系统
    vue项目报错webpackJsonp is not defined
    vue登录注册及token验证
    react native踩坑之旅
    js判断数组是否有重复值
    react native环境搭建(含错误处理)
    python Token加密解密方式
  • 原文地址:https://www.cnblogs.com/flashsun/p/9254880.html
Copyright © 2011-2022 走看看