什么叫数据库范式
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
范式的分类
第一范式,第二范式,第三范式,BCNF范式(巴斯-科德范式),第四范式,第五范式。
第一范式(1NF)
第一范式强调的是列的原子性,即列不能够再分成其他几列。
例如下面这个表,包含userid和userintroduce两列,如果将用户姓名,用户手机号码,用户生日……全部放入userintroduce列中是不符合第一范式的
create table userinfo(userid number,userintroduce varchar2(100));
insert into userinfo values(1,'张三|15356784321|20000101');
优化:将userintroduce进行拆分,变成多个列,下面这个表基本满足第一范式。
create table userinfo2(userid number,
username varchar2(20),
phone number,
birthday date
);
进一步优化:根据需求来决定,姓名是否需要拆分,号码是否需要拆分成手机号和座机号。
create table userinfo3(userid number,
firstname varchar2(20),