• 数据库设计——范式


    第一范式(1NF)

    • 它是否有主码
    • 每一个域的名字是否唯一
    • 数据是否原子性
    • 是否有重复或冗余的域

    非原子性的实例:

    一个人的全名;一个完整的地址;一个更大数据集的部分数据;

    例:

    下面哪个数据表不符合第一范式?

    1. TitleFirstnameSurnameFull nameAddressCity
      Mr Tom Smith Tom Smith 42 Mill Street London
    2. ID[主码]IP Addressusernamelast accessedActivityResultactive
      1003[主码] 198.168.1.5 Smith 20081021:14.10 Save file success y
    3. ItemID[主码]ProductDescriptionSizeColourColourColour
      234 Shoe High Heel 6 red blue brown

          4.

    StudentID[主码]FirstnameSurnameSchoolID*ClassID*
    354 Tom Smith 6 5F

    说明:

    表一:不属于1NF,没有定义主码,因此每一条记录不能保证是唯一的。Full name 是冗余的——数据并非原子性,因为它是 Firstname和Surname的简单组合。 表二:至少属于1NF,它有一个主码。数据是原子性的。每一个域都有唯一的名字。没有重复数据。

    表三:不属于1NF,它有主码,数据是原子性,但是color域重复了,并且这些域的名字也是相同的!

    表四:属于1NF,符合1NF的所有规则

    第二范式(2NF)

    • 表必须已经符合第一范式
    • 非关键属性必须依赖主码的每一部分

    第三范式(3NF)

    • 它已经是2NF
    • 没有任何非关键属性依赖其他非关键属性
  • 相关阅读:
    开心网注册详解和邀请码发放
    3COM 905TX 配置
    SQL使用
    JDBC的使用
    kiko日记几个月以来工作总结2010 1124
    talk about the history of JAZZ
    这几个月的工作任务
    工作间期的不足
    转: mac使用nvm管理多个版本node
    负载均衡与ssl证书
  • 原文地址:https://www.cnblogs.com/xiaomayizoe/p/5054719.html
Copyright © 2020-2023  润新知