在我的 Oracle 数据库编程课程中,我们最终实验室评估的第一部分要求我们:
- 识别当前显示的表的主键
- 找到我们要使用的表的所有功能依赖项。
- 绘制表的依赖关系图
该表以 1NF 开头。
从我所做的研究来看,我似乎需要基本上组合所有可能的 FD,这不仅会消耗大量时间,而且考虑到他希望我们在依赖关系图中映射这些关系,这似乎很奇怪。这基本上会导致一切都链接到一切 - 这就是为什么我相信我不了解功能依赖关系。
我知道函数依赖在 R 中构成 X-> Y,其中 Y 不是由任何其他 X 产生的,并且应该使您能够通过此依赖确定表中的所有其他值。
我也明白“X”和“Y”可以包含多个属性。这是我不明白的,因为如果我将我的属性映射到代数变量(这似乎是这样做的方法?),我有字母 AJ;我想出的依赖项的数量似乎令人震惊,我不想浪费时间做错事。
这是否意味着我需要提供所有全功能依赖、部分依赖和传递依赖?
我的表由当前状态为 1NF 的 10 列组成 - 因此,AJ 将是我在此过程中的属性标识符。我发现 R(AD) 构成了一个强大的主键,但我不确定我是否需要从布置所有 FD 中导出 PK,或者我是否可以选择一个 PK 并从这一点找到我的 FD。如果是这样的话——考虑到我的 PK 将真正决定模型内关系的映射,我是否仍然布置每个 FD?
https://www.dropbox.com/s/3vwo1axe7a1i20s/final%20lab%20instructions.pdf?dl=0