多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 19.2、第二范式 第二范式是建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖 示例:![](https://img.kancloud.cn/8f/d2/8fd27631228b1926efda5b86ae29a0a0_570x113.png) 确定主键: ![](https://img.kancloud.cn/f2/1d/f21da99c900b74bae7246cc83aff13cf_570x108.png) 以上虽然确定了主键,但此表会出现大量的冗余,主要涉及到的冗余字段为“学生姓名”和“教师姓名”,出现冗余的原因在于,学生姓名部分依赖了主键的一个字段学生编号,而没有依赖教师编号,而教师姓名部门依赖了主键的一个字段教师编号,这就是第二范式部分依赖。 解决方案如下: 学生信息表 ![](https://img.kancloud.cn/f1/42/f142b48be76a71b597ce459c94c52617_570x109.png) 教师信息表 ![](https://img.kancloud.cn/d8/a0/d8a0b7c31144e67891c3208412b9fab6_571x72.png) 教师和学生的关系表 ![](https://img.kancloud.cn/c2/7a/c27a5c0fb5d3383ace105e6c370c5bae_573x110.png) 如果一个表是单一主键,那么它就复合第二范式,部分依赖和主键有关系 以上是一种典型的“多对多”的设计