MySQL教程视频_数据库设计三范式_第二范式

MySQL教程视频_数据库设计三范式_第二范式

更新时间:2017年04月06日

  • 网盘提取码:a1ie
  • 适合对象:Java学员、Java爱好者、开发人员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
MySQL教程视频_数据库设计三范式_第二范式

  第二范式:非主键字段完全依赖主键

20.2.1.  定丿:第二范式是建立在第一范式基础上,要求数据库中

所有非主键字段完全依赖主键,不能产生部分依赖;(严格意

义上说:尽量不要使用联合主键)

示例一:数据仍然可能重复

学生编号  学生姓名  教师编号  教师姓名

1001  张三

001  王老师

1002  李四

002  赵老师

1003  王五

001  王老师

1001  张三

002  赵老师

示例二:确定主键,学生编号、教师编号,出现冗余

学生编号(PK)  教师编号(PK)  学生姓名  教师姓名

1001  001  张三  王老师

1002  002  李四  赵老师

1003  001  王五  王老师

1001  002  张三  赵老师

综合分析:

1、  以上虽然确定了主键,但此表会出现大量冗余,主要涉及到的冗余字段为“学生姓名”和

“教师姓名”;

2、  出现冗余的原因在亍:学生姓名部分依赖了主键的一个字段学生编号,而没有依赖教师编号,

而教师姓名部分依赖了主键的一个字段教师编号,这就是第二范式部分依赖。

解决方案如下:

学生信息表:

学生编号(PK)  学生姓名

1001  张三 

1002  李四

1003  王五

教师信息表:

教师编号(PK)  教师姓名

001  王老师

002  赵老师

教师和学生的关系表:

学生编号(PK) fk学生表的学生编号  教师编号(PK) fk教师表的教师编号

1001  001

1002  002

1003  001

1001  002

结论:一种典型的“多对多”的设计


Java相关视频锦集

返回顶部