一、结构设计三范式
第一范式:对属性的原子性,要求属性具有原子性(不可再分的最小单元)
create table Student --学生表 ( StuId varchar(20) primary key, --学号 StuName varchar(20) not null, --学生姓名 StuContant varchar(50) not null, --联系方式 ) insert into Student(StuId,StuName,StuContant) value('001','刘备','QQ:185699887;tel:13885874587') select * from Student --上述不符合第一范式,联系方式这一列并不是不可再分的最小单元 create table Student --学生表 ( StuId varchar(20) primary key, --学号 StuName varchar(20) not null, --学生姓名 Tel varchar(50) not null, --联系电话 QQ varchar(50), not null, --QQ ) insert into Student(StuId,StuName,Tel,QQ) value('001','刘备','185699887','3885874587') select * from Student第二范式:对记录的唯一性,要求记录有惟一标识,即实体的唯一性,不存在部分依赖;
第三范式:要求任何字段不能由其他字段派生出来,他要求字段没有冗余,即不存在传递关系。
通常,在实践中,满足3范式只要做到“一个表只存一种数据”基本就可以实现
二、表关系(一对一,一对多,多对多)