0
点赞
收藏
分享

微信扫一扫

这是一篇水文!三大范式

第一范式:

要求保证数据表中的每一列都是原子的,不可再拆分。

举个例子:我们可以将address列拆分成:省、市、区 三列。那这里的address其实就不符合第一范式规范要求。

这是一篇水文!三大范式_主键

第二范式:

首先得满足第一范式。其次要求数据表中的每一个非关键属性列(普通列)都和主键唯一相关,而不是和主键的一部分相关

举个例子:联合主键就不符合第二范式。

比如:使用下图中sql创建表,并添加联合索引。

这是一篇水文!三大范式_数据库_02

看上面的SQL就知道联合主键并不符合第二范式的定义,其中age、stu_name列仅和联合主键中的部分student_id相关。而score列仅和course_id相关。

第三范式:

首先得满足第二范式。其次是:与主键没有直接关系的列要干掉。

举个例子:下表中的username其实就和主键没有直接的关系。所以第三范式要求我们将它T出去。

举报

相关推荐

0 条评论