DBMS 中的部分依赖关系
dbmsdatabasemysql
什么是部分依赖关系?
当非主属性在功能上依赖于候选键的一部分时,就会发生部分依赖关系。
第二范式 (2NF)消除了部分依赖关系。
让我们看一个例子 −
示例
<StudentProject>
StudentID | ProjectNo | StudentName | ProjectName |
S01 | 199 | Katie | Geo Location |
S02 | 120 | Ollie | Cluster Exploration |
在上表中,我们有部分依赖关系;让我们看看如何 -
主要关键属性是StudentID和ProjectNo,并且
StudentID = Unique ID of the studentStudentName = Name of the studentProjectNo = Unique ID of the projectProjectName = Name of the project |
如前所述,非主要属性,即 StudentName 和 ProjectName 应该在功能上依赖于候选键的一部分,即部分依赖。
StudentName 可以通过 StudentID 确定,这使得关系部分依赖。
ProjectName 可以通过 ProjectNo 确定,这使得关系部分依赖。
因此,<StudentProject>关系违反了规范化中的 2NF,被认为是一种糟糕的数据库设计。
要消除部分依赖和对 2NF 的违反,请分解表格 −
<StudentInfo>
StudentID | ProjectNo | StudentName |
S01 | 199 | Katie |
S02 | 120 | Ollie |
<ProjectInfo>
ProjectNo | ProjectName |
199 | Geo Location |
120 | Cluster Exploration |
现在该关系处于数据库规范化的第二范式。