迅闻网
让更多人看到你

数据库三范式(按照三范式的方式划分数据)

  数据库三范式

数据库的三大特性可谓是:实体特点和关系。
实体:表;特点:表中的数据(字段);关系:表与表之间的关系;
榜首范式(1NF):数据表中的每一列(每个字段)有必要是不可拆分的最小单元,也就是保证每一列的原子性;
例如:userInfo:山东省烟台市131777368781userAds:山东0省烟台市userTel:131777368781
第二范式(2NF):满意1NF后,要求表中的一切列,都有必要依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描绘一件事情;
例如:订单表只描绘订单相关的信息,所以一切字段都有必要与订单id相关产品表只描绘产品相关的信息,所以一切字段都有必要与产品id相关;因此不能在一张表中一起呈现订单信息与产品信息;如下图所示:
第三范式(3NF):有必要先满意第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键);
例如:订单表中需求有客户相关信息,在分离出客户表之后,订单表中只需求有一个用户id即可,而不能有其他的客户信息。因为其他的客户信息直接关联于用户id,而不是直接与订单id直接相关。
【怎么更好的区分三大范式】
第一范式和第二范式在于有没有分出两张表,第二范式是说一张表中包含了所种不同的实体特点,那么要有必要分成多张表,第三范式是要求已经分成了多张表,那么一张表中只能有另一张表中的id(主键),而不能有其他的任何信息(其他的信息一律用主键在另一表查询)。
【数据库五大束缚】
1.primaryKEY:设置主键束缚;
2.UNIQUE:设置唯一性束缚,不能有重复值;
3.DEFAULT默许值束缚,heightDOUBLE(3,2)DEFAULT1.2height不输入是默许为1,2
4.NOTNULL:设置非空束缚,该字段不能为空;
5.FOREIGNkey:设置外键束缚。
【主键】
1.主键的注意事项?
主键默许非空,默许唯一性束缚,只要主键才干设置主动增加,主动增加一定是主键,主键不一定主动增加;
2.设置主键的方式?
在界说列时设置:IDINTPRIMARYKEY
在列界说完之后设置:primaryKEY(id)
【外键】
1.设置外键的注意事项:
只要INNODB的数据库引擎支撑外键,修正my.ini文件设置default-storage-engine=INNODB外键有必要与参照列的数据类型有必要相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度能够不同)。
2设置外键的语法:
CONSTRAINT外键名FOREIGNKEY(外键字段)REFERENCES参照表(参照字段)ONDELETESETNULLONUPDATECASCADE设置参照完整性
3.外键束缚的参照操作?
参照表的完整性操作:当对参照表的参照字段进行删去或更新时,外键表中的外键怎么应对;
参照操作可选值:
RESTRICT回绝参照表删去或更新参照字段;
RESTRICT和NOACTION相同,但这个指令只在mysql收效;
CASCADE删去或更新参照表的参照字段时,外键表的记载同步删去更新;
SETNULL删去或更新参照表的参照字段时,外键表的外键设为NULL;

 

数据库

按照三范式的方式划分数据

榜首范式:数据不行再分
数据库表的每一列都是不行分割的基本数据项,同一列中不能有多个值,即实体中的某个特点不能有多个值或许不能有重复的特点。
假如呈现重复的特点,就可能需要界说一个新的实体,新的实体由重复的特点构成,新实体与原实体之间为一对多联系。在榜首范式(1NF)中表的每一行只包括一个实例的信息。简而言之,榜首范式便是无重复的列。
说明:在任何一个联系数据库中,榜首范式(1NF)是对联系模式的基本要求,不满意榜首范式(1NF)的数据库就不是联系数据库。
第二范式:仅有性,消除部分依靠
非主键字段彻底依靠于主键字段,消除非主键字段只是依靠于部分主键值的情形(适用于2个或2个以上的主键)
非主特点彻底依靠于主键[消除非主特点对主码的部分函数依靠]。
第二范式(2NF)是在榜首范式(1NF)的基础上建立起来的,即满意第二范式(2NF)必须先满意榜首范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被仅有地区别。为完成区别一般需要为表加上一个列,以存储各个实例的仅有标识。例如职工信息表中加上了职工编号(emp_id)列,由于每个职工的职工编号是仅有的,因而每个职工可以被仅有区别。这个仅有特点列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的特点彻底依靠于主关键字。所谓彻底依靠是指不能存在仅依靠主关键字一部分的特点,假如存在,那么这个特点和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的联系。为完成区别一般需要为表加上一个列,以存储各个实例的仅有标识。简而言之,第二范式便是特点彻底依靠于主键。
第三范式:独立性,消除传递依靠
非主键字段彻底依靠于主键字段,不能依靠于另外的非主键
特点不依靠于其它非主特点[消除传递依靠]。
满意第三范式(3NF)必须先满意第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包括已在其它表中已包括的非主关键字信息。例如,存在一个部分信息表,其间每个部分有部分编号(dept_id)、部分称号、部分简介等信息。那么在的职工信息表中列出部分编号后就不能再将部分称号、部分简介等与部分有关的信息再加入职工信息表中。假如不存在部分信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式便是特点不依靠于其它非主特点。

未经允许不得转载:迅闻网 » 数据库三范式(按照三范式的方式划分数据)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

迅闻网-让更多人看到你

登录/注册返回首页