问题标签 [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.
database-normalization - 将关系分解为 3NF?
考虑具有集合函数依赖关系 F 的关系为: R(ABCDE)
将 R 分解为 3NF 会是什么?
请帮我解释从给定 FD 导出范式的方法。
我尝试在谷歌搜索,阅读没有。PDF,但找不到从给定 FD 进入正常形式的一般过程。我知道推理规则,但不能应用它们。有人可以帮帮我吗。请解释(仅)上述场景的一般过程,我有答案,但我想了解该方法。任何链接/文档可能会有所帮助。
提前致谢。
PS:准备竞争性考试,还有一周的时间。
haskell - 为 N 乘 N 元素矩阵和 N 元素列向量的乘法声明类型类
在 Haskell 中,如果您有一个“族”类型(例如,N 乘 N 元素矩阵,对于 N 的某些值),以及一个并行的“相关”类型族(例如,N 元素向量,对于N 的相同值),以及需要每个族中的一种特定类型的操作(例如,将 N 乘 N 元素矩阵和 N 元素列向量相乘),是否可以为该类型声明类型类手术?
对于这个具体的例子,我想它看起来像这样:
但是,我不知道如何限制 type v
。有可能做这样的事情吗?
请注意,我欢迎对声明多个相关类型的类型类的一般问题的回答,以及对为矩阵向量乘法声明类型类的具体问题的回答。在我的具体情况下,只有一小部分已知的 N 值(2、3 和 4),但我通常有兴趣了解在 Haskell 的类型系统中可以编码的内容。
编辑:我使用MultiParamTypeClasses
并FunctionalDependencies
按照下面的 Gabriel Gonzalez 和 MFlamer 的建议实现了这一点。这就是我实现的相关部分最终的样子:
这是 的类型签名vmul
,其本身和部分应用:
我觉得这一切都非常优雅。感谢您的回答!:)
database - 关于创建具有函数依赖关系的最小闭包的几个问题
所以我有以下功能依赖:
现在我想做的是分离出 FD,这样它们的右侧只有一个元素:
接下来我会在左边找到每个元素的闭包:
现在我感到困惑的部分是我将如何减少冗余并获得最小的关闭?我可以用这些信息摆脱哪些?
haskell - Data.Map中键/值关系的静态保证
我想为 Data.Map 创建一个特殊的智能构造函数,对键/值对关系的类型有一定的约束。这是我试图表达的约束:
对于每个字段,只有一种类型的值应该与之关联。就我而言,将Speed
字段映射到ByteString
. 一个Speed
字段应该唯一地映射到一个Float
但我收到以下类型错误:
使用-XKindSignatures
:
我明白为什么我会得到 Kind 不匹配,但是我该如何表达这个约束,以便toPair
在不匹配的Field
和Value
.
#haskell 建议我使用 a GADT
,但我还没有弄清楚。
这样做的目标是能够写
这样我就可以Map
在尊重键/值不变量的地方制作安全的 s。
所以这应该类型检查
但这应该是编译时错误
编辑:
我开始认为我的具体要求是不可能的。使用我原来的例子
为了在Foo
and上强制执行约束,必须有某种方法在类型级别Bar
区分 a FooInt
and并且类似地 for 。因此我需要两个 GADTFooFloat
Bar
现在我可以编写一个实例Pair
,仅当Foo
和Bar
都被标记为相同类型时才成立
我有我想要的属性
但我失去了写作的能力,xs = [FooInt, FooFloat]
因为那需要一个异构的列表。此外,如果我尝试使用Map
同义词type FooBar = Map (Foo ?) (Bar ?)
,我会坚持使用Map
只有Int
类型或只有Float
类型,这不是我想要的。它看起来相当绝望,除非有一些我不知道的强大的类型类魔法。
database - 学习数据库规范化,对2NF感到困惑
我在 youtube 上看这个关于标准化的视频,我不得不说我现在很困惑,我可能在视频中有错误,即使它有 25 个喜欢和只有 1 个不喜欢。
特别是关于可以在 5 分钟标记处找到的 2NF 部分。
作者说“作业描述”列取决于作业 ID 列......但是对于相同的作业 ID,有不同的作业描述。然后,他将该表“规范化”为 2NF,方法是将其分成两个表……其中一个仅包含分配 ID 和分配描述。而且这个表甚至不在 1NF(非唯一主键)中,那么它怎么可能是 2NF?
有人能告诉我这个视频关于 2NF 是正确还是错误?
haskell - 哈斯克尔:| 在班级声明中
我正在逐步阅读 Monad Transformers。在第 6 页,Monad
作者在介绍 的一些子类的同时,给出了以下代码示例:
部分是什么| m -> e
意思?
normalization - 跟踪已完成手术的医疗保健数据库表的规范化
我有一张桌子来跟踪一家医院的手术,Surgery_Record
如下所示。
我的假设是:
- 不复诊患者
- 每个病人只做一次手术
- 一个特定的手术室一天只使用一次
我想出了以下功能依赖项:
- Patient_ID, Theatre_ID---> Surgery_Date
- Surgery_Record_ID---> Patient_ID
- Patient_ID---> Surgery_ID, Surgery_Record_ID, Theatre_ID
- 患者_ID、手术_ID--->剧院_ID
- 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 是否正确,因为我在这方面非常陌生。非常感谢提前
functional-dependencies - 需要帮助找出功能依赖关系
我有一个问题,他们要求我获取功能依赖项,但我不完全确定我是否正确理解了它们,这个话题似乎有点令人困惑,我想知道你们是否可以再次检查我或纠正我,如果我是错了请!
这些是我想出的FD:
database - 从一组功能依赖项中识别 relvar 的键
目前在读数据库理论课,在讲解函数依赖时生病了。这门课程没有教科书,所以到目前为止我不得不使用谷歌。我有一个任务,给定一个 relvar 和一个函数依赖项列表,它要求:
- 识别 relvar 的键
- 将 revlar 分解为 3NF 中的 relvar
这是作业中的几个问题
至少密钥似乎是一个简单的过程,但我没有算法!任何帮助表示赞赏。
database - 功能依赖是 DBMS - 关键
我正在阅读 Ramakrishnan 的《数据库管理系统》一书,在与模式细化和范式相关的章节中,我看到一句话说:
我们还有分解规则:
然后,我的问题是,例如让 R=XABCDE 和 X 成为关键。然后,由于 X--->XABCDE,重复使用第二条规则,我们可以说 X-->A,X--->B,等等。那么这意味着 X 决定了所有的属性。但是我在这里很困惑:那么我们不能在表中存在一行,使得对于相同的 X 值,有不同的 A 值。例如,设 X 为人员属性的 id 号,A 为该人员所拥有汽车的型号。那么一个人不能有两辆车,但我们没有这样的限制,它必须能够拥有两辆或更多辆汽车。
我在这里做错了什么?任何人都可以帮忙吗?
谢谢