问题标签 [functional-dependencies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2281 浏览

database-normalization - 将关系分解为 3NF?

考虑具有集合函数依赖关系 F 的关系为: R(ABCDE)

将 R 分解为 3NF 会是什么?

请帮我解释从给定 FD 导出范式的方法。

我尝试在谷歌搜索,阅读没有。PDF,但找不到从给定 FD 进入正常形式的一般过程。我知道推理规则,但不能应用它们。有人可以帮帮我吗。请解释(仅)上述场景的一般过程,我有答案,但我想了解该方法。任何链接/文档可能会有所帮助。

提前致谢。

PS:准备竞争性考试,还有一周的时间。

0 投票
4 回答
538 浏览

haskell - 为 N 乘 N 元素矩阵和 N 元素列向量的乘法声明类型类

在 Haskell 中,如果您有一个“族”类型(例如,N 乘 N 元素矩阵,对于 N 的某些值),以及一个并行的“相关”类型族(例如,N 元素向量,对于N 的相同值),以及需要每个族中的一种特定类型的操作(例如,将 N 乘 N 元素矩阵和 N 元素列向量相乘),是否可以为该类型声明类型类手术?

对于这个具体的例子,我想它看起来像这样:

但是,我不知道如何限制 type v。有可能做这样的事情吗?

请注意,我欢迎对声明多个相关类型的类型类的一般问题的回答,以及对为矩阵向量乘法声明类型类的具体问题的回答。在我的具体情况下,只有一小部分已知的 N 值(2、3 和 4),但我通常有兴趣了解在 Haskell 的类型系统中可以编码的内容。

编辑:我使用MultiParamTypeClassesFunctionalDependencies按照下面的 Gabriel Gonzalez 和 MFlamer 的建议实现了这一点。这就是我实现的相关部分最终的样子:

这是 的类型签名vmul,其本身和部分应用:

我觉得这一切都非常优雅。感谢您的回答!:)

0 投票
0 回答
140 浏览

database - 关于创建具有函数依赖关系的最小闭包的几个问题

所以我有以下功能依赖:

现在我想做的是分离出 FD,这样它们的右侧只有一个元素:

接下来我会在左边找到每个元素的闭包:

现在我感到困惑的部分是我将如何减少冗余并获得最小的关闭?我可以用这些信息摆脱哪些?

0 投票
4 回答
562 浏览

haskell - Data.Map中键/值关系的静态保证

我想为 Data.Map 创建一个特殊的智能构造函数,对键/值对关系的类型有一定的约束。这是我试图表达的约束:

对于每个字段,只有一种类型的值应该与之关联。就我而言,将Speed字段映射到ByteString. 一个Speed字段应该唯一地映射到一个Float

但我收到以下类型错误:

使用-XKindSignatures

我明白为什么我会得到 Kind 不匹配,但是我该如何表达这个约束,以便toPair在不匹配的FieldValue.

#haskell 建议我使用 a GADT,但我还没有弄清楚。

这样做的目标是能够写

这样我就可以Map在尊重键/值不变量的地方制作安全的 s。

所以这应该类型检查

但这应该是编译时错误

编辑:

我开始认为我的具体要求是不可能的。使用我原来的例子

为了在Fooand上强制执行约束,必须有某种方法在类型级别Bar区分 a FooIntand并且类似地 for 。因此我需要两个 GADTFooFloatBar

现在我可以编写一个实例Pair,仅当FooBar都被标记为相同类型时才成立

我有我想要的属性

但我失去了写作的能力,xs = [FooInt, FooFloat]因为那需要一个异构的列表。此外,如果我尝试使用Map同义词type FooBar = Map (Foo ?) (Bar ?),我会坚持使用Map只有Int类型或只有Float类型,这不是我想要的。它看起来相当绝望,除非有一些我不知道的强大的类型类魔法。

0 投票
1 回答
674 浏览

database - 学习数据库规范化,对2NF感到困惑

我在 youtube 上看这个关于标准化的视频,我不得不说我现在很困惑,我可能在视频中有错误,即使它有 25 个喜欢和只有 1 个不喜欢。

正常化

特别是关于可以在 5 分钟标记处找到的 2NF 部分。

作者说“作业描述”列取决于作业 ID 列......但是对于相同的作业 ID,有不同的作业描述。然后,他将该表“规范化”为 2NF,方法是将其分成两个表……其中一个仅包含分配 ID 和分配描述。而且这个表甚至不在 1NF(非唯一主键)中,那么它怎么可能是 2NF?

有人能告诉我这个视频关于 2NF 是正确还是错误?

0 投票
1 回答
133 浏览

haskell - 哈斯克尔:| 在班级声明中

我正在逐步阅读 Monad Transformers。在第 6 页,Monad作者在介绍 的一些子类的同时,给出了以下代码示例:

部分是什么| m -> e意思?

0 投票
1 回答
874 浏览

normalization - 跟踪已完成手术的医疗保健数据库表的规范化

我有一张桌子来跟踪一家医院的手术,Surgery_Record如下所示。

我的假设是:

  1. 不复诊患者
  2. 每个病人只做一次手术
  3. 一个特定的手术室一天只使用一次

我想出了以下功能依赖项:

  1. Patient_ID, Theatre_ID---> Surgery_Date
  2. Surgery_Record_ID---> Patient_ID
  3. Patient_ID---> Surgery_ID, Surgery_Record_ID, Theatre_ID
  4. 患者_ID、手术_ID--->剧院_ID
  5. Surgery_Record_ID, Patient_ID, Surgery_ID, Theatre_ID---> Surgery_Date

从上面的依赖中,我发现候选键是 {Patient_ID, Theatre_ID} {Patient_ID, Surgery_ID} 和 {Surgery_Record_ID, Patient_ID, Surgery_ID, Theatre_ID}

那么我的表格是否违反了第二范式?请帮助检查我的 FD 是否正确,因为我在这方面非常陌生。非常感谢提前

0 投票
1 回答
47 浏览

functional-dependencies - 需要帮助找出功能依赖关系

我有一个问题,他们要求我获取功能依赖项,但我不完全确定我是否正确理解了它们,这个话题似乎有点令人困惑,我想知道你们是否可以再次检查我或纠正我,如果我是错了请!

这些是我想出的FD:

0 投票
3 回答
163 浏览

database - 从一组功能依赖项中识别 relvar 的键

目前在读数据库理论课,在讲解函数依赖时生病了。这门课程没有教科书,所以到目前为止我不得不使用谷歌。我有一个任务,给定一个 relvar 和一个函数依赖项列表,它要求:

  • 识别 relvar 的键
  • 将 revlar 分解为 3NF 中的 relvar

这是作业中的几个问题

至少密钥似乎是一个简单的过程,但我没有算法!任何帮助表示赞赏。

0 投票
2 回答
448 浏览

database - 功能依赖是 DBMS - 关键

我正在阅读 Ramakrishnan 的《数据库管理系统》一书,在与模式细化和范式相关的章节中,我看到一句话说:

我们还有分解规则:

然后,我的问题是,例如让 R=XABCDE 和 X 成为关键。然后,由于 X--->XABCDE,重复使用第二条规则,我们可以说 X-->A,X--->B,等等。那么这意味着 X 决定了所有的属性。但是我在这里很困惑:那么我们不能在表中存在一行,使得对于相同的 X 值,有不同的 A 值。例如,设 X 为人员属性的 id 号,A 为该人员所拥有汽车的型号。那么一个人不能有两辆车,但我们没有这样的限制,它必须能够拥有两辆或更多辆汽车。

我在这里做错了什么?任何人都可以帮忙吗?

谢谢