问题标签 [database-theory]
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.
rdbms - ER 图到数据库的转换
假设我有两个强实体 E1 和 E2 由一对多关系 R 连接。
E1 <--------- R ---------- E2
当我将上述 ER 图转换为数据库时,将创建多少个表?
我知道当 E2 完全参与时,答案将是 2。因为,E2 的主键将完美合并。我不确定以上。我看过多个地方并找到了不同的答案。我正在寻找一些可靠的论据和答案。
答案可以是 2 或 3。我想知道哪个更正确。
database - 需要归一化理论解释
我正在查看与复合主键的关系的具体示例。基于它的功能依赖,我知道它在 1NF 中。在将其规范化为 3NF 时,我遇到了一个我还没有遇到过的情况。我遵循了所有部分依赖和传递依赖的步骤,但是规范化为 3NF 的最后一步要求您创建一个包含主键和依赖于它的所有非主属性的关系。
在我的具体情况下,我有主键,但没有完全的功能依赖。我是否制作一个只包含我的复合主键的表?还是我根本不做?
我没有混淆复合键和主键。请参阅下面的评论,了解为什么我认为我的问题与那个不同
database-theory - 函数依赖集的等价性
Fd1 = {AB --> C, D --> E, E --> C}
Fd2 = { AB --> C, D --> E, AB --> E, E --> C}
这两个FD是否相等,我认为它们是。但在答案中显示为不等价。
database-normalization - 数据库标准化为 BCNF
我在理论上的 BCNF 规范化任务上遇到了一些麻烦。
R(A, B, C, D, E, F)
与功能依赖有关系:
我的论点:
因此,让我们从寻找潜在的密钥开始,密钥必须包含BCF
,因为它们是不可获取的。而且它只是key,因为我们可以从这个key中获取所有的属性。
现在我们可以移除多余的函数依赖FB -> D
,因为我们有B -> A -> E -> D
,对吧?
这意味着这甚至不是 2 NF,因为B -> A
. 这是第一个问题。我将不得不提取A
到单独的表,但是A -> E
和FD -> A
. 这是否意味着我们必须同时进行?因此,在转换为 2NF 的第一步之后,我们有关系:{ BCF DE, B A, FD A, A E}?
如果我是对的,现在是 2 NF,但不是 3 NF,因为 FD E -> D
(E 不属于密钥),所以让我们将其提取到单独的关系:{BCEF, E D, B A, FD A,一个E}
现在是 3 NF 并且......它也是 BCNF 吗?我没有看到任何违反它的FD。或者我的整个推理是错误的?
提前致谢!
database-theory - 面向对象数据库的 k-匿名性
基于 Latanya Sweeney 关于 k-匿名性的这项理论工作:
定义 2.1(准标识符)
让我们 成为一张桌子。的准标识符 是一组 必须控制其释放 的属性 。
定义 2.2(k-匿名)
设 为一张表,并 为与之关联的准标识符。 如果对于每个准标识符in 的每个值序列 至少 出现在 中 ,则称满足 k-匿名性 。
任何人都可以在面向对象的方法上批准这些下一个假设吗?
定义 1.1(对象表)
让 and 是一个表和 从原始表 到 object-table 的映射 。
定义 1.2(对象空间)
假设有 一个对象属性 的所有更改 空间和它们之间的功能 映射空间。
定义 1.2b
非匿名功能 也是 如此 。
定义 1.3(准标识符)
让 是关于空间的 qausi-identifier 为
定义 1.4
让 成为第二个表并 成为与之关联的准标识符。 如果对于每个准标识符in 的每个值序列 至少 出现在 中 ,则称满足 k-匿名性 。
所以在k-匿名和k-匿名之间有一座桥梁,在属性空间和它们的匿名之间
database - 关系数据库理论中如何通过函数依赖确定候选键
考虑学生记录的数据库关系如下: Student (I,G,P,M,S,Y,E,L,R,C)
(a) 展示如何为 Student 派生两个候选键,或说明为什么不能这样做。
(b) Student 是什么范式?展示证明你的答案合理的工作。
(c) 如果 F 包含 MSY→LRCE 而不是 PMSY→LRCE,这对论文名称意味着什么?(即 M 的值)
(d) 为 Student 找到一个最小覆盖(即一组不可约的函数依赖)。
(e) 将 Student 分解为第三范式 (3NF)。
我坚持关于候选键的第一个问题。我知道候选键必须是 (I,P,M,S,Y,L,R) 的子集,因为它们出现在上面功能依赖项的左侧并确定所有剩余的属性。我们可以删除由 P 决定的 M,但是我有点困惑如何使这些属性最小化,尤其是来自复杂的函数依赖关系,例如 PMSY→LRCE。感谢任何解决方案和建议。
relational-database - 关系代数中的自然连接 - 数据库理论
如果我删除了黄色部分,我还能想出正确的答案吗?它甚至是必要的吗?
sql - 在任何数据库查询中总是有一个“基表”吗?
好的,这只是理论上的,所以如果一个公正的数据库爱好者发表意见,那就太好了。
为了争论,让我们同意对于查询有“基表”这样的概念,其中一个表驱动结果集的大部分信息。想象一个查询,其中存在三个关系 - TableA、TableB 和 TableC
假设 TableA 有 100 万条记录,TableC 有 500 条记录,TableC 有 10,000 条记录。
假设查询是这样的 -
好的,显然TableA 是上面的基本关系。它是最大的表,它通过“从”连接来驱动结果集,从视觉上看,列甚至在结果集的“左侧”。(左边的东西实际上是我同事的标准)。
现在,假设 TableA 再次有 100 万行,TableB 是“连接”或“桥”表,有 500,000 行,TableC 有 1,000,000 行。因此,假设查询只是一个外连接,用于获取 TableA 和 TableC 中存在如下关系的所有列......
好的,鉴于最后一个查询,谁能告诉我“基本关系”是什么?我不认为有一个,但希望另一个数据库人的意见。
database - 什么是数据库理论中的查询数量
数据库中查询的数量是多少?一个realtion是属性的数量。是所有输入关系中的属性数,还是新查询输出关系的属性数?例如。输入:数据库 D,查询 Q/k ∈ L,常量元组 t∈ adom(D)^k,其中 L 是语言。谢谢
database-design - 没有 FD 的关系的 BCNF
一个我似乎在网上找不到答案的简单问题:没有非平凡函数依赖的关系是否被认为是 BCNF 形式,如果不是,我该如何分解它?先感谢您!