DBMS中的部分依赖
什么是部分依赖?
部分依赖是指非主属性函数依赖于候选键的一部分。
第二范式 (2NF) 消除了部分依赖。第二范式 (2NF)
让我们来看一个例子:
示例
<学生项目>
学生ID | 项目编号 | 学生姓名 | 项目名称 |
S01 | 199 | Katie | 地理位置 |
S02 | 120 | Ollie | 集群探索 |
在上表中,我们有部分依赖;让我们看看如何:
主键属性为**学生ID**和**项目编号**,并且
**学生ID** = 学生的唯一ID **学生姓名** = 学生姓名 **项目编号** = 项目的唯一ID **项目名称** = 项目名称 |
如前所述,非主属性,即**学生姓名**和**项目名称**,应该函数依赖于候选键的一部分,才能成为部分依赖。
**学生姓名** 可以由 **学生ID** 确定,这使得关系成为部分依赖。
**项目名称** 可以由 **项目编号** 确定,这使得关系成为部分依赖。
因此,<学生项目> 关系违反了规范化中的 2NF,并被认为是不良的数据库设计。
为了消除部分依赖和对 2NF 的违反,分解表:
<学生信息>
学生ID | 项目编号 | 学生姓名 |
S01 | 199 | Katie |
S02 | 120 | Ollie |
<项目信息>
项目编号 | 项目名称 |
199 | 地理位置 |
120 | 集群探索 |
现在,该关系处于数据库规范化的第二范式。
广告