关于数据库的设计
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b1622cf9c088295b82137f0a96326d5f.png)
数据库设计的三范示
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/18a4e0314cae5da51e92ba52849c6e77.png)
》第一范示,字段的信息细化到不能够再拆分
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cd8c7dad159382b98c9c2c0d6dc17ad0.png)
例子
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b986329dff9dde421cc437fdec6b0c2a.png)
》第二范示,必需有主键,其它字段应直接依赖于主键
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9836178c4ddb5ad3ddb415fb1d8d04c9.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a18d8ec51deceb765a76e06085cd8d82.png)
》第三范示,在第二范示基础上,非主键列应直接依赖于主键,不能存在传递依赖
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f3baf1c119477ba4fb9965b883c8d79e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2d67a32e179c469479d5cf3c7fd6aacb.png)
正确的表设计应该为
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/df6896fb0f1d7ae31cb244ac66159814.png)
E-R模型
》一对一关系
一个用户的基本信息,与他的详细信息,是一对一的关联
》一对多关系
班级与学生的关系,就是一个班级会有多个学生
多对一的关系,在多的一方建立字段来记录另一个表的主键
》多对多关系
学生与科目的关系
一个学生可以学习多个科目
一个科目可以有多个学生学习
处理多对多的关系,需要新开一个表
新表中记录对应关系