- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,作为我作业的一部分,我必须证明具有两个属性的任何关系都在 BCNF 中。
根据我的理解,如果对于一个关系,我们有第三范式并且一个非关键属性在功能上确定关键属性,则它违反了 BCNF。
假设我的关系由两个属性 A1、A2 组成
场景1(只有一个功能依赖)
A1 -> A2 (so A1 is the key, and A2 does not FD A1 : so no violation)
同样适用于
A2 -> A1
但是如果
A1->A2 and A2->A1
这里的key可以是A1,A2。而另一个非键属性在功能上决定了键。
最佳答案
在每个函数依赖X -> Y
中,X
和Y
是属性集。当 X
或 Y
是空集1 时,这需要特别注意。因此,在只有两个属性 A1
和 A2
的示例中,我们拥有所有可能的重要依赖项:
1. {} -> {A1}
2. {} -> {A2}
3. {} -> {A1 A2}
4. {A1} -> {A2}
5. {A2} -> {A1}
所有其他可能的依赖关系都是微不足道的依赖关系,即右集是左集的子集(例如 {A1} -> {}
、{} -> {}
、{A1} -> {A1}
、{A1 A2} -> {A1}
等)。我们知道这些依赖关系始终成立,因此在范式的定义中不考虑它们。
<强>1。当从依赖项中排除空集时,定理成立
考虑依赖关系 4 和 5。我们有四种可能的情况:
1. Only 4 holds, so we have: {A1} -> {A2}
这意味着 {A1}
是一个候选键(因为从 {A1} -> {A2}
我们可以推导出 {A1}-> {A1 A2}
),BCNF 条件满足,因为每个依赖项都有一个超键作为决定因素;
2. Only 5 holds, so we have: {A2} -> {A1}
等价于上例,只是A1
和A2
的角色互换;
3. Neither 4 nor 5 hold (no functional dependencies),
因此 BCNF 正式满足(因为没有依赖项违反 BCNF);最后:
4. both hold, so we have {A1} -> {A2} and {A2} -> {A1}
在这种情况下,关系也在 BCNF 中,因为 {A1}
和 {A2}
都是候选键,因为它们确定所有属性(简单地放在一起上面的 1 和 2)。
<强>2。当我们在函数依赖中允许空集时,定理不成立
考虑一个关系R(A1, A2)
,其依赖项覆盖F
F = { {}-> {A1} }
{} -> {A1}
的含义,通过记忆函数依赖的定义,就是 A1
列有一个常量值。所以我们与两列有关系,其中一列始终具有相同的值。在这种情况下,唯一的候选键是 {A2}
,因为 {A2}+ = {A1 A2}
,{A1 A2}
是 super 键,并且该关系不在 BCNF 中,因为非平凡的函数依赖性 ({} -> {A1}
) 具有一个不是 super 键的行列式。
1 请注意,在有关该主题的科学文献(以及有关数据库的书籍)中,有时会明确排除函数依赖中出现空集的可能性(例如,参见:Tsou, Don -Min 和 Patrick C. Fischer。“将关系方案分解为 Boyce-Codd 范式。”ACM SIGACT 新闻 14,第 3 期(1982 年 7 月 1 日):23–29。https://doi.org/10.1145/990511.990513 ),而有时它允许,或不讨论。
关于database-normalization - 每个二元关系BCNF如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33455459/
这两种方法似乎都完成了从字符串中删除重音符号的相同工作,但我不确定是否存在一些内部差异,可以使一种方法优于另一种方法 最佳答案 分解处理的不仅仅是重音(在 Unicode 中称为标记),例如韩文音节
我在尝试绘制一些数据时收到此错误: findfont: Font family ['STIXGeneral'] not found. Falling back to DejaVu Sans. Trac
我理解规范化和规范化意味着删除数据表示中任何无意义或模棱两可的部分,将有效相同的数据转换为实际相同的数据。 例如,如果您想获取某些输入数据的哈希值,并且其他任何人对规范的相同数据进行哈希处理都获得相同
#!/usr/local/bin/perl use warnings; use 5.014; use Unicode::Normalize qw(NFD NFC compose); my $strin
我正在尝试将包含“áéíóú”等字符的字符串规范化为“aeiou”以简化搜索。 在对 this question 的回复之后我应该使用 Normalizer 类来完成它。 问题是 normalize
我正在尝试获取外语文本并输出人类可读、文件名安全的等效文本。环顾四周后,似乎最好的选择是 unicodedata.normalize(),但我无法让它工作。我试过将一些答案的确切代码放在这里和其他地方
我是 pymc 和贝叶斯统计的新手。在这里,我试图实现一个极其简单的 pymc 模型,以便与理论结果进行比较。在我的测试用例中,我假设正常先验为 mu~N(20,20) 并且可能性假设为 data~N
我正在编写一个 XPath 表达式,但我修复了一个奇怪的错误,但是以下两个 XPath 表达式之间有什么区别? "//td[starts-with(normalize-space()),'Posted
tf.random.normal 和 tf.distributions.Normal 有什么区别?或者 tf.distributions.Multinomial 和 tf.random.multino
第一步: xcodebuild -project Pods/Pods.xcodeproj build 第二个: xcodebuild archive -project 'test.xcodeproj'
我正在将 Adobe Xd 中的设计转换为 HTML 模板,其中一个元素建议使用以下 css 规则。 top: 149px; left: 54px; width: 463px; height: 2
我正在与另一位数据库设计人员就规范化进行有趣的讨论。在这个例子中,我们有一个 GameTitles 表,每条记录都必须包含游戏发布的年份。他说 2NF 要求所有内容都必须规范化,因此,要符合要求,年份
我正在尝试在 python 中加载文件。如果您运行下面的代码并加载仅包含英文单词的文件,它将加载得很好。 Listado.txt 是一个西类牙语文件,包含以下单词:abacá、abadí、abadía
我一个月前完成了这个游戏,直到今天一切都很好。我在线收到错误: odgovorNormalized = Normalizer.normalize(konResenje, Normalizer.Form
我正在使用gnutls aes加密,这是我的代码 const gnutls_datum_t * key; *key = (const char*)"tZOVP7o/u2vQB+4B/0O0ZqLWvy
我正在尝试训练一个用于面部性别和年龄检测的 cnn 模型。我的训练集包含彩色和灰度的面部图像。我如何标准化这个数据集?或者如何处理混合了灰度和彩色图像的数据集? 最佳答案 请记住,网络只会尝试了解您的
这是 DB 规范化理论中的一个概念: Third normal form is violated when a non-key field is a fact about another non-ke
我正在存储有关棒球统计数据的数据,并希望使用三个表来存储:players、battingStats 和 pitchingStats。就问题而言,每个球员都会有击球统计数据或投球统计数据,但不会两者都有
我现在正在学习推力。我有一个问题:如何用推力进行归一化? 我有一个有效的代码,但我想知道这是否是最佳方法。 struct square { __host__ __device__ float oper
所以我知道我自己可以如何解决这个问题,但是有人知道任何可以处理这个问题的现有库吗? (无论什么语言)? 最佳答案 此 API 仅支持英文,并具有职称规范化:http://api.dataatwork.
我是一名优秀的程序员,十分优秀!