问题标签 [bcnf]
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-design - 第四范式有什么好处?
我用谷歌搜索了很多,但我没有找到这个问题的答案。
前三个范式是常识。它们用于保存一致性并避免异常。但是为什么我们需要 BCNF 和第四范式呢?
(第五个我都不敢问了,因为我连它的作用都不懂)
database - 第 3 范式中关系的无损、依赖保持分解
我正在学习数据库的规范化,我遇到了以下问题:
我将如何找到将上述内容无损、保持依赖关系的分解为第 3 范式?
不太确定第三范式是什么,我查了一下,发现了以下要求:
读完以上内容后,我不太确定从哪里开始。另外,不确定它是否对回答问题有帮助或相关,但我发现候选键是
如果有人能指出我正确的方向,我将不胜感激。
database-normalization - 每个二元关系BCNF如何?
因此,作为我的任务的一部分,我必须证明具有两个属性的任何关系都在 BCNF 中。
根据我的理解,如果对于一个关系,我们有第三范式和一个非关键属性在功能上确定关键属性,它违反了 BCNF。
假设我的关系包含两个属性 A1,A2
场景1(只有一个函数依赖)
同样适用于
但是如果
这里的键可以是 A1,A2。而另一个非关键属性在功能上决定了关键。
database - 确定超级密钥
今天的法庭预订
- 表格中的每一行代表一个网球俱乐部的场地预订,该俱乐部有一个硬地球场(Court 1)和一个草地球场(Court 2)
- 预订由其法院和法院保留的期限定义
- 此外,每个预订都有与之关联的费率类型。有四种不同的费率类型:
- SAVER,适用于会员进行的 Court 1 预订
- 标准,适用于非会员进行的 Court 1 预订
- PREMIUM-A,适用于会员预订的 Court 2
- PREMIUM-B,适用于非会员进行的 Court 2 预订
该表的超级键是:
- S1 = {球场,开始时间}
- S2 = {法庭,结束时间}
- S3 = {速率类型,开始时间}
- S4 = {费率类型,结束时间}
- S5 = {球场、开始时间、结束时间}
- S6 = {费率类型、开始时间、结束时间}
- S7 = {球场、费率类型、开始时间}
- S8 = {法院、费率类型、结束时间}
- ST = {Court, Rate Type, Start Time, End Time},平凡的超级键
请注意,即使在上表中,Start Time 和 End Time 属性中的每一个都没有重复值,但我们仍然不得不承认,在其他一些日子里,球场 1 和球场 2 上的两个不同预订可能同时开始或结束同时。这就是为什么不能将 {Start Time} 和 {End Time} 视为表的超级键的原因。
S1 = {Court, Start Time} 是怎样一个超级键?
假设在第 1 天,会员从 11:00 到 12:00 预订球场 1,在第 2 天,非会员从 11:00 到 12:00 预订球场 1。
表中的记录将是 {1,11:00,12:00, SAVER} 和 {1,11:00,12:00, STANDARD}
显然 S1 = {Court, Start Time},不是超级键。还是我错了?
database-design - 如何将模式分解为 3NF?
模式 R = (A,B,C,D,E)
功能依赖 F1 = {A->BC , CD->E, B->D, E->A}
功能依赖 F2 = {A->D, A->E, DE->BC, B->A, D->C}
根据F1,候选键-A、E、BC、CD
根据F2,候选键-A、B、DE
模式在 3NF 中的条件:
对于所有 X->Y,以下至少一项为真:
1. X 是超键
2. X->Y 是平凡的(即 Y 属于 X)
3. YX 中的每个属性都包含在一个候选键中
我知道根据 F1,R 在 3NF 中,但根据 F2,R 不在 3NF 中。
根据 F2,R 不在 3NF 中,因为在功能依赖 D->C 中,
1. D 不是超键
2. D->C 不是平凡的
3. 作为 C 的 CD 不包含在任何候选键中。
所以根据 F2,R 不在 3NF 中。
现在如何将其转换为 3NF?
我尝试了以下方法:将
R 分解为 (A,B,D,E) (C,D) (B,C,D,E) 以同时保留依赖关系。
这是正确的,还有其他分解方法吗?
bcnf - Bcnf lossless join
Are all relations in bcnf provide lossless join or can any relation be bcnf but not lossless join at the same tiem?
Is there a way to show that a relation that is not in bcnf but NOT lossless join.
database - BCNF分解过程
这些依赖项的 BCNF 分解是什么?
得到答案的过程是什么?
database - 数据库的 BCNF 分解和无损连接
嘿,我有一个任务,上面写着:
令 R(ABCD) 是与函数依赖关系 A → B, C → D, AD → C, BC → A 下列哪一项是 R 到 Boyce-Codd 范式 (BCNF) 的无损连接分解?
我一直在 youtube 上研究和观看视频,但似乎找不到如何开始。我想我应该把它分解成子模式,然后填写一张表格来找出哪个是无损的,但我在开始时遇到了麻烦。任何帮助,将不胜感激!