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:本文仅帮助你理解三大范式,深入了解还需要咬定义和具体例子

  • 相关阅读:
    前后端分离的坑
    appscan 对于csrf漏洞扫描的坑
    appscan执行过程
    app scan状态码的坑
    linux修改jdk版本
    软件测试之性能测试
    jmeter 从文件中读取内容 CSV数据文件设置(CSV Data Set Config)
    robotframework基本操作
    robotframework生成随机数
    RobotFramework获取table的行数
  • 原文地址:https://www.cnblogs.com/flashsun/p/9254880.html
Copyright © 2011-2022 走看看