• 数据库的三大范式以及五大约束


                                                                        数  据   库

         今天小编来讲一下数据库的相关知识点,数据库的三大特性可谓是:实体属性和关系。

         实体:表; 属性:表中的数据(字段); 关系:表与表之间的关系;

         数据库设计三大范式(重点):

    第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;

                                    例如:userInfo:山东省烟台市  131777368781           userAds:山东0省烟台市  userTel:131777368781

    第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情;

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

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

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

    【如何更好的区分三大范式】

             第 一范式和第二范式在于有没有分出两张表,第二范式是说一张表中包含了所种不同的实体属性,那么要必须分成多张表, 第三范式是要求已经分成了多张表,那么一张表中只能有另一张表中的id(主键),而不能有其他的任何信息(其他的信息一律用主键在另一表查询)。

    【数据库五大约束】

    1.primary KEY:设置主键约束;
    2.UNIQUE:设置唯一性约束,不能有重复值;
    3.DEFAULT 默认值约束,height DOUBLE(3,2)DEFAULT 1.2 height不输入是默认为1,2
    4.NOT NULL:设置非空约束,该字段不能为空;
    5.FOREIGN key :设置外键约束。

    【主键】
    1.主键的注意事项?
    主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定自动增长;
    2.设置主键的方式?
    在定义列时设置:ID INT PRIMARY KEY
    在列定义完之后设置:primary KEY(id)

    【外键】

    1.设置外键的注意事项:   

    只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB    外键必须与参照列的数据类型必须相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)。

    2设置外键的语法:

       CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段)    ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性

    3.外键约束的参照操作?  

      参照表的完整性操作:当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对;   

    参照操作可选值:

          RESTRICT拒绝参照表删除或更新参照字段;               

          RESTRICT和NO ACTION相同,但这个指令只在mysql生效;                

          CASCADE删除或更新参照表的参照字段时,外键表的记录同步删除更新;               

          SET NULL 删除或更新参照表的参照字段时,外键表的外键设为NULL;

           感觉不错!手动点赞鼓励一下!!!

  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/waj6511988/p/7027127.html
Copyright © 2020-2023  润新知