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

  • 相关阅读:
    POJ 1401 Factorial
    POJ 2407 Relatives(欧拉函数)
    POJ 1730 Perfect Pth Powers(唯一分解定理)
    POJ 2262 Goldbach's Conjecture(Eratosthenes筛法)
    POJ 2551 Ones
    POJ 1163 The Triangle
    POJ 3356 AGTC
    POJ 2192 Zipper
    POJ 1080 Human Gene Functions
    POJ 1159 Palindrome(最长公共子序列)
  • 原文地址:https://www.cnblogs.com/jilly324/p/9267105.html
Copyright © 2011-2022 走看看