问题标签 [3nf]

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 投票
1 回答
145 浏览

database - 是3NF中的关系吗?

带 FD 的 R(ABCD)

AB -> CD BC -> D

我在一本书中发现了这个问题,它说关系在 2nf 中,但不在 3nf 中。

我找不到任何微不足道的依赖关系,也没有非素数属性在功能上依赖于另一个非素数属性,那么为什么关系不在 3nf 中?

我是否也应该将 BC 视为非主要属性?请帮我理解3NF的概念

我还有一个疑问

如果功能依赖是

AB -> CD,C -> A,A -> C

关系会在 3NF 中吗?还是会因为 A -> C 表明 C 在功能上不完全依赖于 AB 而违反 2NF?

0 投票
1 回答
100 浏览

database - 3NF标准化辅助

我有以下带 FDS 的关系数据库:R1 (ABCDEFGH) FD:AB --> D, B --> C, B --> E, B --> F, A --> H, H --> G

我认为关键是AB。

我将其分解为 R1(BCEF) 和 R2(ABDGH)。然后我将 R2 分解为 R3(AH) 和 R4(ABDG)。

我需要有人仔细检查我,因为我认为我在这里犯了一个错误,但我不确定它是什么。我好像在分解中丢失了H --> G FD。

0 投票
1 回答
1219 浏览

normalization - 如何将这些函数依赖转化为 3NF?

我如何使用 FD 的形式在 3NF 中设计方案

0 投票
1 回答
693 浏览

database - DBMS 中的第三范式

我只是在阅读 DBMS 中 3NF 的定义,它指出:

函数依赖 X --> A 在以下情况下是允许的: 1. X 是一个超级键。2. A 是某个键的一部分。

我有两个疑问:

答:我不明白第二个条件对消除异常有何用处。为什么有 BCNF 形式,相反我们可以定义 3NF 形式不具有第二个条件。

我得到了删除传递依赖的要点。如果 Y --> Z 和 X 是主键。然后有一个传递依赖,因为 X --> Y --> Z 意味着我们不能存储 (X,Y) 的值,除非我们知道 Z。

b: 请解释移除 3NF 中的第二个条件将如何移除异常和/或限制冗余。

0 投票
1 回答
5491 浏览

database-normalization - 了解 BCNF 功能依赖

我正在按照教程进行 BCNF 分解。给出的功能依赖项是:

现在,这些与关系 R(A,B,C,D) 有关。BCNF的条件包括:

关系必须在 3NF 中,当 X->Y 时,X 必须是超级键

给定的关系虽然没有传递 FD,但 D->B 是部分 FD(或)是不是三个 FD 代表 3 个独立的关系?

如果它们代表 3 个独立的关系,为什么 D 不是键,如果它们都处于相同的关系中,那么 D->B 是部分功能依赖。

我完全糊涂了。请帮助我度过难关。

0 投票
2 回答
534 浏览

database-design - 如何使用具有多个日期字段和两个不同用户的数据库实现 3NF?

我希望我的数据库制作得不是特别好但功能还可以达到 3NF...我主要关心的是是否需要完美的 3NF,如果有这样的事情,以及我是否应该对其中的任何一个进行调整表达到足够好的 3NF?!帮助我了解这个数据库的规范化级别是否为 3NF 并且足以作为 3NF 传递... *请多多包涵,这是我的第一个 Web 项目,因此是我的第一个数据库! 更改项目数据库

0 投票
1 回答
5156 浏览

database - 3NF 的综合算法

我正在学习数据库,显然我必须处理范式。现在我想出了这个非常简单的例子;给定具有属性{A, B, C}和函数依赖关系的关系R {A,B -> C , A -> C}

此关系的候选键K必须是{A, B}(不讨论如何找到候选键)。该关系不在 2NF 中,因为非关键属性C仅取决于A,它是K的真子集。(我假设给出了 1NF,即使我不知道属性的域)。

现在要达到 3NF,我将不得不使用综合算法,所以我首先找到函数依赖项的规范集,即{A -> C}(也不涉及如何找到规范集)。现在为了获得 3NF 中的关系,我形成了包含属性{A,C}的新关系R1。由于K不包含在R1中,我必须创建一个新的关系R2,其中包含一个候选键(此处为K)。

这导致了两个关系R1 (A,C)R2 (A,B),我完成了,因为R1R2都在 3NF 中。

我的工作正确吗?还有什么我需要注意的吗?非常感谢您的任何建议!

编辑:正如评论指出的那样,我的例子是错误的。稍微不同的关系是正确的,即R (A,B,C,D)与 FD 的 {A,B -> C, B -> D} .. 我不会再经历其余的,因为我即使示例是错误的,我也认为我正确地执行了算法。

0 投票
0 回答
33 浏览

relational-database - 不确定以下关系中是否违反 3NF

我有以下关系,但我不确定是否违反 3NF:
R={A,B,C,D,E,F,G}
FDs:
{AF-->BCG, B-->DE, CG-->EF, E-->G}

{{A,F}},{{A,C,G}},{{A,C,E}},{{A,B,C}}
根据Wiki,我的密钥具有以下定义:

X 是一个超键,或者
YX 的每个元素,Y 和 X 之间的集合差,是一个素属性(即 AY 中的每个属性都包含在某个候选键中)

那么唯一的违规行为是B-->DECG-->EF因为如果 X 不是超键,因此右侧的每个元素都必须是键的一部分?那是对的吗?

0 投票
1 回答
166 浏览

database - 了解数据库规范化。给定的表 3NF 怎么样?

这是对 3NF 和 BCNF 之间的简单回答差异的跟进(必须能够向 8 岁的孩子解释)。为什么下表在 3NF 中?Pizaa,Topping 是候选键,Topping 类型部分依赖于 Topping,因此它甚至不在 2NF 中。

请详细说明。

0 投票
0 回答
655 浏览

sql - SQL——实体关系图

我必须为 SQL 数据库创建实体关系图。这个问题与我之前发布的一个问题有关:Normalization - SQL - 3NF

做过下面的实体关系图,想知道是否正确(比如表之间的关系),如下:

在此处输入图像描述

上面的实体关系图是基于3NF中的如下数据:

TBLCrew(CrewID[PrimaryKey]、CrewType、CreweTitle、名字、姓氏、性别、CAALicenceNum)

TBLFlight(FlightID[PrimaryKey]、FlightNum、IATADep、IATAArr、Date、SchArr、评论)

TBLAircraft (AircraftId[PimaryKey], A/CType, A/C Rep, A/C Manuf)

TBLCrewFlight (CreweID[composite/compoundKey], FlightID[composite/compoundKey])

AircraftFlight (CraftId, FlightId) [复合键]

这是UNF中的原始数据:

在此处输入图像描述

实体关系图在 3NF 内的关系方面是否正确?