问题标签 [third-normal-form]

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 回答
685 浏览

database-design - 范式 - 第四范式

我有这些数据需要放入第 3 和第 4 范式。

我了解范式的基础知识,但我对第 3 和第 4 范式感到困惑,我在网上查过但仍然不明白。

我正在创建一个系统正在使用的数据库。

数据

0 投票
1 回答
59 浏览

database - 我的数据库表是否标准化为 3NF?

我需要确保我的架构在 3NF 中,但不太确定我的“学生家庭作业表”有人可以帮忙吗?

http://prntscr.com/6ry22u

0 投票
1 回答
170 浏览

normalization - 归一化 - 2NF 和 3NF

https://dba.stackexchange.com/questions/98427/normilsation-2nf-and-3nf

我经历了几个问题和 youtube 教程;我知道 2NF 正在删除部分依赖项,而 3NF 是传递的,但我无法理解以下示例在 2NF 中应该是什么样子。

学生证 | 学生姓名 | 课程代码 | 课程名称 | 模组代码 | 模组标题 | 学分 | 结果代码

对于 2NF,我的尝试如下:

学生

学生证 | 学生姓名 | 课程代码 | 模组代码 | 结果代码

课程

课程代码 | 课程名称

模块

模组代码 | 模组标题 | 学分

它是否正确?如果没有,我哪里错了,为什么。


以下是3NF:

学生

学生证 | 学生姓名 | 科目编号

课程

课程代码 | 课程名称

模块

模组代码 | 模组标题 | 学分 | 科目编号

结果

学生证 | 模组代码 | 结果代码

这也是一样;这是正确的 - 如果不是,为什么?

0 投票
1 回答
46 浏览

database - 难以分解为第三范式 (DB)

我最近开始研究数据库,但我正在努力解决这个特定的部分。

我已经阅读了每个的定义,Normal Form但我似乎仍然无法理解。这是我无法正确解决的示例:

解决方案:R1(*A*,B,E); R2(*B*,C,D); R3(*A*,*F*)

我不明白为什么R3会这样

0 投票
2 回答
646 浏览

database - 3NF什么时候出?

我很难理解 3 Normal 形式。

3 NF:2 NF + 无转换

所以,例如:如果我有,

那么上面是一种过渡关系,因此不会在 3 NF 中?我理解正确吗?

但是在这个答案中,数据库规范化到底是做什么的?, by paxdiablo, 它说,

Third normal form (3NF) - 2NF and every non-key column in a table depends on nothing but the key.据此,它将在3 NF中。我哪里错了?

0 投票
2 回答
2829 浏览

database-design - 第四范式有什么好处?

我用谷歌搜索了很多,但我没有找到这个问题的答案。

前三个范式是常识。它们用于保存一致性并避免异常。但是为什么我们需要 BCNF 和第四范式呢?

(第五个我都不敢问了,因为我连它的作用都不懂)

0 投票
0 回答
482 浏览

mysql - 3NF和多对多表mysql

作为评估的一部分,我需要用 PHP 构建一个依赖于数据库的站点,该站点可以在我们想要的任何东西上。该站点的唯一限制是数据库必须至少有七个表,必须是第三范式并且至少有一个多对多表。

以下是我到目前为止的模式,我希望人们愿意告诉我它不是第三范式的地方,或者我的多对多表(游戏)是否不起作用。

我对第三范式的理解是,每个项目都必须依赖于主键,没有候选键。

数据库模式

想法?

0 投票
1 回答
309 浏览

database - 转换为第三范式

您如何将此表转换为第三范式(以及结果表是什么):

在此处输入图像描述

0 投票
2 回答
150 浏览

sql - 关系的第三个 (?) 范式

假设我有一个网站,任何人都可以在其中买卖商品,并且 2 个注册用户可以互相发送有关产品的消息。我的数据库中的关系之一是:

当然,发件人或收件人之一应该是产品的卖方或买方。我的问题是这种关系是否处于第三范式。当然它是第二范式,因为每个非键列在功能上都完全依赖于主键。

示例:假设userB是产品的卖家(所有者)#1234并且userA是产品的卖家(所有者)#1000。我们有下表:

显然,idObject在上表中确定了产品的卖家。在每种情况下,卖方都必须在“发件人”列或“收件人”列中。关键是 [Sender] 或/和 [Recipient] 无法确定 idObject,如我们在上面的示例中所见。因此,我们有 3NF,因为所有非键列在功能上仅依赖于主键。

0 投票
2 回答
555 浏览

sql - sql 数据库:具有 2 列(id 名称)和 2 个主键的表 第三范式 Boyce-Codd 范式

想象一下下表。就我而言,我完全确定name需要uniquenot null[unique+not null = 主键]。因此name是主键。由于某些原因(可能是习惯),我很自然地创建了一个idint 类型的主键列。

其他假设:我绝对需要保留name在我的表中,并且我绝对确定name(类型varchar)永远不会超过 20 个字符。

现在我的第一个问题是[可能是肯定或否的接近问题]:如果我创建这样一个表,我是否尊重 BCNF Boyce-Codd 范式?

id第二个可选问题[可能是开放式问题]:在这种情况下创建列是一种好习惯吗?