问题标签 [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 投票
3 回答
1118 浏览

logging - F# 应用程序结构日志/存储库等

对于我的许多家庭项目,我正在逐渐切换到 F#,但对于如何将完整的应用程序连接在一起,尤其是横切关注点,我有点困惑。

在 C# 中,如果我想记录东西,我会使用依赖注入将 ILogger 传递给每个类,然后可以从代码中轻松轻松地调用它。我可以在我的测试中验证是否写入了特定情况下的日志,方法是传入一个模拟并验证它。

在 F# 中我更多地使用模块,所以上面会变成

现在,如果我有一个名为 Logging 的模块,我可以打开它并在 y 为 0 的情况下从那里使用一个 log 函数,但是我如何将它注入到单元测试中呢?

我可以让每个函数获取一个日志函数(字符串 -> 单元),然后使用部分应用程序将它们连接起来,但这似乎是一项非常艰巨的工作,就像创建一个将实际调用包装在日志调用中的新函数一样。是否有我缺少的特定模式或一点 F# 可以做到这一点?(我见过 kprintf 函数,但我仍然不知道如何为各种测试场景指定函数,同时为完整的应用程序使用具体实现)

同样,您将如何存根提取数据的存储库?您是否需要实例化一些类并在其上设置 CRUD 函数,或者是否有办法注入您打开的模块(#define 除外)

0 投票
1 回答
1236 浏览

relational-database - 如何从记录模式和功能依赖关系中确定候选键?

如果我有一个模式说R={A,B,C,D}和功能依赖关系说{B->C, D->A}我的候选键集是{B,D}or{BD}吗?

0 投票
3 回答
6200 浏览

relational-database - 具有功能依赖关系的候选密钥识别

我无法理解如何识别功能依赖项中的键。我一直在看例子,例如:

给定关系 ABCD,找出不包括

这给出了键 C 和 A。我认为解决这个问题的方式是 BC 和 D 都依赖于 A 和 C,而 AB 依赖于 CD,这意味着它们三个都是键,但是由于 CD 是超级键(C 是一个子集也是一个键),CD 不被视为最小超键。

然而,在另一个例子中,

这里唯一的关键显然是 BE。为什么这是真的,任何人都可以澄清寻找解决这些问题的关键的步骤吗?

谢谢。

0 投票
4 回答
3758 浏览

database-design - 设计无损连接、依赖保留、3NF 数据库

我需要设计数据库来跟踪以下属性:

还列出了功能依赖项:

我需要找到无损连接、依赖保留、属性的第三范式分解
我尝试了不同的分解,但没有一个能满足所有要求(它们是:无损连接、依赖保留、第 3 范式)。
例如。如果我保留原始关系而不进行更改(表将具有所有 4 个属性),我将获得无损连接、依赖保留但不是 3NF,只有 2NF。
以下分解:

在 3NF 中,依赖保留,但不是无损连接。
我的问题有什么解决办法吗?

感谢。

0 投票
4 回答
8483 浏览

relational-database - 不保留功能依赖性的分解

什么时候 BCNF 分解不能保留功能依赖性...我试图弄清楚这个说 R=(V,W,X,Y,Z)

0 投票
2 回答
2465 浏览

database - 数据库功能依赖分解

表 - 人员 {ID, Name, Age, Line1, City, State, Zip}

FD集

1) ID -> 其他所有属性,因为它是 PK

2)我无法确定是否

在任何一种情况下,它都成为传递依赖,因为

ID -> Zip -> 其他地址(或 ID -> 地址相关 -> Zip)。

它违反了 3NF(传递依赖)。

您能否解释一下我如何分解给定的关系,以及在包含地址相关的其他关系中什么变成 PK。

0 投票
2 回答
261 浏览

database - 数据库功能依赖。

我理解数据库中函数依赖的概念,但是当它归结为这样的格式时,我似乎无法理解它。

这种关系中存在哪些功能依赖?

0 投票
2 回答
2018 浏览

database - 找到关系的所有候选键

我正在遵循PDF 中的算法,以便从给定的函数依赖关系中找到我的关系的所有候选键。

我发现我所有的属性都是中间属性,因此没有必要的属性。算法的第 4 步(第 6 页)说:Let L be the list of all non-empty subsets of M (the middle-ground attributes)。但是我有 7 个中间属性,这意味着我需要 L 中的 127 个元素。我做错了什么吗?

请有人解释一下我应该如何在给定一组功能依赖项的情况下找到候选键?

0 投票
1 回答
1440 浏览

database - 函数依赖微不足道

如果您在 LHS 和 RHS 上有一些东西,如果这是 RHS 上的唯一符号,它是否被认为是微不足道的?例如:

ABC -> C

你能像这样分解它吗:

其中 {} 是空集。或者这是无效的?

这会使这条规则变得毫无用处,可以简单地放弃它吗?

0 投票
2 回答
214 浏览

haskell - 具有功能依赖的类型类实例不起作用

玩弄类型类我想出了看似无辜的

这似乎工作正常,例如

但是我遇到了元组的麻烦。即使以下定义编译...

...我无法按预期使用它:

有没有办法正确定义实例?还是我必须求助于newtype包装?