【问题标题】:Problems identifying mutivalued dependencies识别多值依赖的问题
【发布时间】:2018-11-21 19:00:40
【问题描述】:

请帮我理解这个关于关系数据库设计中多值依赖的练习的答案,好的,问题如下:

考虑 StudentInfo(sID, dorm, courseNum) 的关系。学生们 通常住在几个宿舍,并在大学期间学习许多课程。 假设数据没有捕捉到学生住在哪个宿舍 参加特定课程时,即所有宿舍课程组合 为每个学生记录。什么是多值 关系 StudentInfo 的依赖项?

这些是可能的答案:

a) sID ->> 宿舍

b) sID ->> courseNum

c) sID ->> dorm, sID ->> courseNum ->> 正确

d) sID ->> dorm, sID ->> courseNum, dorm ->> courseNum

现在,正确答案是 c。

我无法掌握的是:

dorm ->> courseNum 是多值依赖吗?

为什么dorm ->> courseNum 暗示每个宿舍的所有学生都学习相同的课程?

非常感谢,对不起我的英语,最后,问题来自Stanford Lagunita

【问题讨论】:

  • 总的来说,我认为如果你正在上课,你应该和你的教授谈谈。你们俩都会从中得到更多。
  • 是的,但相信我,这不是我的选择。
  • @Hogan 这是免费的在线课程。但是@byronperez 这并不意味着你不能联系教授重新帮助或帮助者。
  • 所以给出基本的定义 & 事实你已经获得的可能适用的MVD。用你自己的话给出关系中的一行所说的内容和关系的约束。请参阅How to Ask 并点击谷歌搜索“stackexchange 作业”——展示您可以做什么或认为可能相关的内容。例如:你能用较小的关系来表示关系吗?一个基本的 MVD 事实是,当有一个 MVD 时,就会有一定的分解。因此分解表明可能的 MVD。找到对应于 MVD 的分解。 PS A MVD 不是关系——所以改写“宿舍->> courseNum 关系”才有意义。
  • 嗨。 定义 & 事实。除了您或任何人解决问题所必需的内容外,我们还需要在回答帖子中证明/解释解决方案时参考它们。所以请不要指望我们会在你不去的时候去拿它们。同样,我们再次批发展示它们也没有任何用处,那只是我们重写您的教科书或以 pdf 格式在线免费提供的几十个。如果您不理解(已发表的学术)演示文稿的定义或事实或如何应用它,请引用它并询问/解释被困在那里。

标签: database database-design database-normalization relational


【解决方案1】:

dorm 和 courseNum 之间没有关系——它们是独立的。

我不知道如何回答您的第二个问题。如果我要把这个问题翻译成英文,你似乎是在问是否定义了宿舍中的每个学生都上课,为什么这会定义宿舍中的每个学生都上课。

dorm ->> courseNum 

每个宿舍的方法都将其映射到一个班级。

【讨论】:

  • 是的,对不起,我的解释不好,在斯坦福网站上说:The third multivalued dependency in Answer 4 says all students in each dorm take the same set of courses.,我想这是理解这个问题的一个重要考虑因素。不是吗?非常感谢您的帮助。
  • @byronperez 这里有一个“宿舍和 courseNum 之间的关系”。它是“对于某些 [sID],学生 [sID] 住在宿舍 [dorm] 并在大学期间参加了课程 [courseNum]”。它由project dorm, courseNum (StudentInfo) 表示。这个答案也与“->>”和“MVD”的意思不一致。这里的“dorm ->> courseNum”表示该关系中的每个 {sID,dorm} 子行值与该关系中具有相同 sID 的每个 {sID, course} 子行值一起出现。 (反之亦然。)这与某些事情是“独立的”有关,但这里没有什么清楚得足以提供帮助。
  • @byronperez -- 这正是我所理解的。这是一个重要的考虑因素,我正在努力。我的观点是,如果宿舍里的所有学生都上同一门课,那么这意味着宿舍和班级之间存在关系。
  • @byronperez & Hogan 问题/作业的构思和措辞非常糟糕。例如,它们不是指“所有课程”,而是指给定学生上的表中的所有课程。 “所有宿舍”同上。问题是,如果一个人理解 MVD 并且一个人容忍考虑不周和措辞不当的写作,那么人们可以猜测很多糟糕的问题陈述应该说什么,如果一个人对 MVD 的理解薄弱,那么一个人很容易错误地归因难以理解或回答自己糟糕的问题陈述。 (我的答案还在草稿中。)
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 2014-06-15
  • 2011-08-12
  • 1970-01-01
  • 2021-03-27
  • 2018-04-24
相关资源
最近更新 更多