宋玥珂的突然更新~
范式:设计数据库表时所依据的规范
第一范式:一张表内字段不重复出现 如课程数学 课程英语。又比如联系方式中既有邮箱又有电话。
![](https://img.haomeiwen.com/i14261054/6bb6b004ae7a8f9d.png)
第二范式:建立在第一范式基础上 要求非主键字段完全依赖主键,不能产生部分依赖。尽量不使用联合主键。
![](https://img.haomeiwen.com/i14261054/e44e473799055024.png)
解决方式:一共建立三个表。建一个学生表字段为学生编号和姓名 一个教师表字段为教师编号和姓名。 再建一个关系表 ,把学生编号(外键 来自学生表)和教师编号(外键 来自教师表)做联合主键, 这就是一个典型的多对多的设计。
第三范式:在满足第二范式基础上,非主键字段不能依赖与主键字段(不要产生传递依赖)。
![](https://img.haomeiwen.com/i14261054/e35bffeaced6e338.png)
解决方式:一对多,在多的一方表中添加指向一的一方的主键字段的外键。分两张表存储。
![](https://img.haomeiwen.com/i14261054/2acc9486c7e25520.png)
一对一有两种方案:
1.分两张表储存 共享主键
2.分两张表储存 外键唯一
设计时尽量遵循三范式,但是还是要看具体需求。
emmmm 希望自己写的是对的..
网友评论