范式书上讲解太拗口,自己总结一下:
第一范式:数据表中的每一列(每个字段)必须是不可拆分的最小单元,不允许存在隐藏字段,属性保持“原子性”(最大细分的二维表)
第二范式:第一范式基础上要有主键,所有列都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情(相当于这行阐述的是一个人时,你不能加一列说明天气)
第三范式:满足第二范式,表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键)
正规化范式(BCDF):所有表中的决定因素必须是一个候选键,如果只有一个候选键,那么就和第三范式是一样的。
有第四第五范式,更高的范式是为了解决数据冗余问题,但可以通过其他办法达到。所以一般用不到
五大约束:
1 primary KEY :设置主键约束;
2 UNIQUE :设置唯一性约束,不能有重复值;
3 DEFAULT 默认值约束,height DOUBLE(3,2)DEFAULT 12 height不输入是默认为1,2
4 NOT NULL :设置非空约束,该字段不能为空;
5 FOREIGN key :设置外键约束。
1 建表时加上唯一性约束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增
`username` varchar(18) NOT NULL unique, -- 唯一性约束
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
2给已经建好的表加上唯一性约束
ALTER TABLE `t_user` ADD unique(`username`);
参考资料
csdncsdn[引用时间2018-1-9]
以上就是关于简述数据库的三大范式和五大约束全部的内容,包括:简述数据库的三大范式和五大约束、数据库中怎么设置字段的唯一约束、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)