第一范式:
要求保证数据表中的每一列都是原子的,不可再拆分。
举个例子:我们可以将address列拆分成:省、市、区 三列。那这里的address其实就不符合第一范式规范要求。
第二范式:
首先得满足第一范式。其次要求数据表中的每一个非关键属性列(普通列)都和主键唯一相关,而不是和主键的一部分相关。
举个例子:联合主键就不符合第二范式。
比如:使用下图中sql创建表,并添加联合索引。
看上面的SQL就知道联合主键并不符合第二范式的定义,其中age、stu_name列仅和联合主键中的部分student_id相关。而score列仅和course_id相关。
第三范式:
首先得满足第二范式。其次是:与主键没有直接关系的列要干掉。
举个例子:下表中的username其实就和主键没有直接的关系。所以第三范式要求我们将它T出去。
标签:列仅,范式,id,数据表,举个,水文,主键,三大 From: https://blog.51cto.com/u_15311508/6923223