技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

DBMS 中的部分依赖关系

dbmsdatabasemysql

什么是部分依赖关系?

当非主属性在功能上依赖于候选键的一部分时,就会发生部分依赖关系。

第二范式 (2NF)消除了部分依赖关系。

让我们看一个例子 −

示例

<StudentProject>

StudentIDProjectNoStudentNameProjectName
S01199KatieGeo Location
S02120OllieCluster Exploration

在上表中,我们有部分依赖关系;让我们看看如何 -

主要关键属性是StudentIDProjectNo,并且

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>

StudentIDProjectNoStudentName
S01199Katie
S02120Ollie

<ProjectInfo>

ProjectNoProjectName
199Geo Location
120Cluster Exploration

现在该关系处于数据库规范化的第二范式。


相关文章