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