关系型数据库的主键、唯一键、域、外键
主键: 一个或多个字段的组合,用于唯一确定一个记录的字段,一张表只有一个主键,主键字段不能为空NULL
唯一键:一个或多个字段的组合,用于唯一确定一个记录的字段,一张表可以有多个唯一键,阻断可以为NULL
域: 属性的取值范围,如年龄范围,性别
外键: 表达表和表之间的关联关系,如学生表依赖于班级表,班级表的某个字段被学生表的某个字段所依赖,不能超出范围,学生表所依赖的班级表的字段必须是主键或者唯一键
数据库的正规化分析
第一范式:
1、无重复的列
2、不允许在一个列上有多个值
关系数据库的基本要求,不满足第一范式的数据库就不是关系型数据库
第二范式:必须先满足第一范式
1、属性完全依赖于主键,表中的每行必须可以被唯一区分
2、非主键字段不能依赖于部分主键
复合主键:如果每一个字段都有重复的值,但其中有两个字段结合起来值不重复,便把这两个字段设置为复合主键
第三范式:必须先满足第二范式
1、非主键属性不依赖于其他非主键属性
第一范式和第二范式、第三范式优点是减少冗余,缺点增加表,性能慢
规矩是死的,人是活的,所有范式是否必须遵循,要看业务需要而定,掌握范式的目的是为了在合适的场景下违反范式