数据库三大范式
2016-10-04 13:10
169 查看
数据库三大范式
设计范式:它是为了建立关系型数据库时,减少数据的冗余,让数据库的结构尽量的合理,那么就要满足数据库三大范式.
(1)第一范式:(原子性)1NF是对属性的原子性约束,
最基本的范式,
要求属性具有原子性,不可再分解;
通俗的理解是,字段还可以再分吗?如过不能,则是符合1NF的设计。
(2)第二范式:(完全依赖)2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;(一个表只能存一种数据)
简单的解释,比如你和一个女生约会建立一张表,不用每条约会记录都记录她的身高、体重,将身高体重单独的存在一张表中供查询即可。
(3)第三范式:(取消传递依赖)3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
打个比方,比如评论表,如果你将用户ID,用户头像都放在这留言表中,就是不合适的了。用户头像是依赖于用户ID,而不依赖该评论。
设计范式:它是为了建立关系型数据库时,减少数据的冗余,让数据库的结构尽量的合理,那么就要满足数据库三大范式.
(1)第一范式:(原子性)1NF是对属性的原子性约束,
最基本的范式,
要求属性具有原子性,不可再分解;
通俗的理解是,字段还可以再分吗?如过不能,则是符合1NF的设计。
(2)第二范式:(完全依赖)2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;(一个表只能存一种数据)
简单的解释,比如你和一个女生约会建立一张表,不用每条约会记录都记录她的身高、体重,将身高体重单独的存在一张表中供查询即可。
(3)第三范式:(取消传递依赖)3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
打个比方,比如评论表,如果你将用户ID,用户头像都放在这留言表中,就是不合适的了。用户头像是依赖于用户ID,而不依赖该评论。