当前位置: 首页 > 编程笔记 >

DBMS中的传递依赖

赫连俊悟
2023-03-14
本文向大家介绍DBMS中的传递依赖,包括了DBMS中的传递依赖的使用技巧和注意事项,需要的朋友参考一下

什么是传递依存关系

当间接关系引起功能依赖性时,称为传递依赖性。

如果P-> Q且Q-> R为真,则P-> R为传递依赖。

要实现3NF,请消除传递依赖性。

示例

<电影列表>

Movie_ID
Listing_ID
Listing_Type
DVD_价格($)
M08
L09
犯罪
180
M03
L05
戏剧
250
M05
L09
犯罪
180


上表不在3NF中,因为它具有传递功能依赖性-

Movie_ID-> Listing_ID
Listing_ID-> Listing_Type


因此,以下内容具有传递功能依赖性。

Movie_ID-> Listing_Type


上面指出了关系<MovieListing>违反了第三范式(3NF)。

要删除违规,您需要拆分表并删除传递函数依赖项。

<电影>

Movie_ID

Listing_ID
DVD_价格($)

M08 L09 180
M03 L05 250
M05 L09 180


<列表>

Listing_ID

Listing_Type

L09 犯罪
L05 戏剧
L09 犯罪


现在,以上关系为归一化的第三范式(3NF)。

 类似资料:
  • 本文向大家介绍DBMS中的多值依赖,包括了DBMS中的多值依赖的使用技巧和注意事项,需要的朋友参考一下 什么是多值依赖? 当表中存在一个或多个行时,意味着同一表中存在一个或多个其他行,则发生多值依赖关系。 如果表具有属性P,Q和R,则Q和R是P的多值事实。 用双箭头表示- ->-> 对于我们的示例: P->-> Q P->-> R 在上述情况下,仅当Q和R是独立属性时,才存在多值依赖关系。 具有多

  • 本文向大家介绍DBMS中的部分依赖,包括了DBMS中的部分依赖的使用技巧和注意事项,需要的朋友参考一下 什么是部分依赖? 当非素数属性在功能上依赖于候选键的一部分时,就会发生部分依赖。 第二范式(2NF)消除了部分依赖性。 让我们看一个例子- 示例 <StudentProject> 学生卡 项目编号 学生姓名 项目名 S01 199 凯蒂 地理位置 S02 120 奥利 集群探索 在上表中,我们有

  • 在应用中,您希望使用不同的类来处理不同的任务以保持代码的简洁。我们把这些类称为 依赖。如何将这些依赖关系传递给将在后台任务调用的方法呢? 当您在后台任务中调用静态方法时,仅限于应用程序的静态上下文,这需要您使用以下获取依赖关系的模式: 通过 new 手动实例化依赖 服务定位器模式 抽象工厂模式 或 建设者模式 单例模式 然而,所有这些模式使您的应用程序的单元可测试性方面变得非常复杂。为了解决这个问

  • 本文向大家介绍DBMS中的全功能依赖,包括了DBMS中的全功能依赖的使用技巧和注意事项,需要的朋友参考一下 如果一个属性在功能上依赖于该属性,而不依赖于其任何适当的子集,则该属性在功能上完全依赖于另一个属性。 例如,如果属性Q在功能上依赖于P而不依赖于P的任何适当子集,则它完全依赖于另一个属性P。 让我们看一个例子- <ProjectCost> 项目编号 工程造价 001 1000 001 500

  • 主要内容:依赖传递,依赖范围,依赖范围对传递依赖的影响,依赖调节Maven 依赖传递是 Maven 的核心机制之一,它能够一定程度上简化 Maven 的依赖配置。本节我们将详细介绍依赖传递及其相关概念。 依赖传递 如下图所示,项目 A 依赖于项目 B,B 又依赖于项目 C,此时 B 是 A 的直接依赖,C 是 A 的间接依赖。 Maven 的依赖传递机制是指:不管 Maven 项目存在多少间接依赖,POM 中都只需要定义其直接依赖,不必定义任何间接依赖,Mav

  • 我正在从一个使用Android-Maven-Plugin的Maven项目中构建一个Android应用程序。在这个项目中,我使用了新的beta版数据绑定库。 它包含在Android SDK的本地m2repository中(extras/Android/m2repository)。这个存储库中的库打包为AAR类型。 附注:对于我自己的本地构建,我有几个解决方案(例如重新打包为jar),但我更喜欢一个更