数据库的设计
-
多表之间的关系
1, 一对一(了解)
* 如:人和身份证
* 分析:一个人只有一个身份证,一个身份证只能对应一个人
2,一对多(多对一)
* 如:部门和员工
* 分析:一个部门有多个员工,一个员工只能对应一个部门
* 实现方式:在多的一方建立外键,指向一的一方的主键
3,多对多
* 如:学生和课程
* 分析:一个学生可以选择很多门课程,一个课程一个课程也可以被很多学生选择
* 实现方式:多对多关系实现需要借助第三张中间表,中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键
* -
数据库设计的范式
1,概念:设计数据库是,要遵循一些规范。要遵循后面的范式要求,必须先遵循前边的所有范式要求设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。2,分类
- 第一范式(1NF):每一列都是不可分割的原子数据项
- 第二范式(2NF):在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)
- 第三范式(3NF):在2NF基础上,任何非主属性不依赖于其他非主属性(在2NF的基础上消除传递依赖)