数据库设计的三大范式和五大约束

三大范式

  

   第一范式(1NF):

  数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。

  例如: userInfo: '山东省烟台市 1318162008' 依照第一范式必须拆分成
                   userInfo: '山东省烟台市'   userTel: '1318162008'两个字段

   第二范式(2NF):

  满足1NF后要求表中的所有列,都必需依赖于主键,而不能有 任何一列与主键没有关系(一个表只描述一件事情)。

  例如:订单表只能描述订单相关的信息,所以所有的字段都必须与订单ID相关。
                  产品表只能描述产品相关的信息,所以所有的字段都必须与产品ID相关。
        因此在同一张表中不能同时出现订单信息与产品信息。

   第三范式(3NF):第三范式(3NF):满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)

  例如:订单表中需要有客户相关信息,在分离出客户表之后,订单表中只需要有一个用户
       ID即可,而不能有其他的客户信息,因为其他的用户信息是直接关联于用户ID,而不是关联
       于订单ID。

五大约束

      1.主键约束(Primay Key Coustraint) 唯一性,非空性;

      2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;

     3.默认约束 (Default Counstraint) 该数据的默认值;

     4.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;

     5.非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。

posted @ 2018-09-05 15:31  朱哥哥666  阅读(143)  评论(0编辑  收藏  举报