摘要:
主要是SQL学习中一些琐碎知识点的梳理和记录(一般以MySQL为例)。
1、数据库约束(Constraint)
常用的数据库约束条件大概有以下6种:
- Primary Key(主键约束),唯一且非空,用以保证数据库表中记录的唯一性;
- Foreign Key(外键约束),用以保证外键字段值与主键字段值的一致性;
- Unique(唯一性约束),用以保证表中的某个字段不重复(一张表中此约束可有多个);
- Not Null(非空约束),用以保证表中的字段值不为空(NULL);
- Check(检查约束),用以检查字段的输入值是否满足指定的条件;
- Default(默认值约束),用以指定一个字段的默认值。
2、数据库范式
数据库中比较常见的一般有三大范式:1NF、2NF、3NF:
- 1NF(第一范式),在一张表中,同类字段不重复出现(即属性不重复);
- 2NF(第二范式),在满足1NF的基础上,每个“非关键字”字段仅仅函数依赖于主键;
- 3NF(第三范式),在满足2NF的基础上,不存在“非关键字”字段函数依赖于其他任何“非关键字”字段。
函数依赖:在一张表内,两个字段值之间的一一对应关系成为函数依赖。比如,在一个数据库内,如果字段A的值能够唯一确定字段B的值,那么字段B函数依赖于字段A。
小结:
目前的记录有:约束、范式;学习要一步一步来,持续更新中...