问题标签 [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 投票
3 回答
383 浏览

entity-relationship - 关于第三范式的问题

下表:

不是第 3 范式,因为 State 可传递地依赖于主键(EmpId)。

所以,如果我这样打破它: (EmpId,State) (State,PIN)

它在 3NF 中。

我也可以打破它: (EmpId,State) (EmpId,PIN) 它将再次处于 3NF 中。

但在第二种情况下,存在信息冗余,例如

第二次分解违反了哪个性质?

0 投票
5 回答
1991 浏览

database - 邮政编码和邮政编码是否违反第三范式?

鉴于邮政编码中隐含了状态信息,是否没有将它们都存储在某些违反第三范式的地方?您可以或应该将它们简单地组合成一个领域吗?

0 投票
3 回答
1282 浏览

normalization - 您如何使一对一或其他关系正常化?

我正在存储有关棒球统计数据的数据,并希望使用三个表来存储:players、battingStats 和 pitchingStats。出于问题的目的,每个球员都会有击球数据或投球数据,但不能同时拥有。

我将如何在 3NF 中规范这种关系?

0 投票
4 回答
473 浏览

database-design - 数据库和第三范式

您是否总是至少以第三范式 (3NF) 设计数据库?为什么?

0 投票
2 回答
186 浏览

database-design - 是第三范式上的设计吗?

我有一个具有属性类别的表。例如,我保存具有 Genre 属性的歌曲的表格:

表格是第三范式吗?

我的意思是我知道最好将其保存Genre在另一个表中,并且表之间有如下关系:

哪里Songs.Genre_ID = Genre.ID

但我无法确定第一种情况(有一个表)是否违反了第三范式的任何规则!

可以?如果是,是哪一个?

谢谢,迈克

0 投票
2 回答
4690 浏览

database - 确定关系的函数依赖关系及其范式

我正在为数据库测试而学习,学习指南中有一些(很多)DB规范化和功能依赖的练习,但是老师没有做任何类似的练习,所以我希望有人帮助我理解这个攻击其他 16 个问题。

1) 给定以下逻辑模式:关系 product_sales

假设: • 销售点被分组到区域中。• 每个销售点都有代理。• 每个代理都在一个 POS 中运行。• 同一销售点的两个代理商不能销售同一产品。• 对于代理商销售的每种产品,根据产品和销售数量为其分配一个资格。

a) 指出存在 4 个功能依赖关系。
b) 这个结构的正常形式是什么。

0 投票
1 回答
709 浏览

database - 2NF 和 3NF 中的关系

这是我已经完成的作业,我只需要确认它是否正确完成或提示如何解决它。谢谢。
这是问题:

关系疫苗旨在记录有关婴儿及其疫苗接种的信息:特定婴儿何时接种了特定疫苗;接种疫苗的地点;谁接种了疫苗。下面给出了关系标题:
Vaccine( VaccineCode, InfantId, Date , InfantName, InfantAddress, MedicalCentreCode,MedicalCentreName, MedicalCentreAddress,NurseId, NurseName)

除了以主键作为决定因素的函数依赖之外,Vaccine 还具有以下重要的函数依赖:
FD1:InfantId -> InfantName
FD2:InfantId -> InfantAddress
FD3:MedicalCentreCode -> MedicalCentreName
FD4:MedicalCentreCode -> MedicalCentreAddress
FD5:NurseId - > 护士姓名

首先在 2NF 中给出这个关系,然后在 3NF 中给出。

我的解决方案:
2NF:
Infant( InfantID , InfantName,InfantAddress)
Rest( VaccineCode, InfandID, Date , MedicalCentreCode, MedicalCentreName, MedicalCentreAddress, NurseId, NurseName)

现在婴儿在 2NF 和 3NF 中,但休息关系不在 3NF 中。所有这些关系的 3NF 看起来像这样(当然根据我的说法):
VaccinationDetails( VaccineCode, InfantID, Date ,MedicalCentreCode NurseId)

婴儿(婴儿ID、婴儿姓名、婴儿地址)

医疗中心(医疗中心代码,医疗中心名称,医疗中心地址)

护士( NurseId , NurseName)

我的解决方案是 2NF 和 3NF 吗?

0 投票
2 回答
2569 浏览

mysql - 在验证数据库逻辑模式是否符合第三范式时需要一些帮助

这原本是对此处另一个问题中提出的逻辑模式的“更新”:在 MySQL 中出现错误 1701、错误 1452 和错误 1305 - 需要一些专业知识......

我想我已经成功地将这个模式验证为第一和第二范式,但我不确定这是否符合第三范式。这是有问题的模型:

对第三范式的逻辑数据库模型的尝试

这是相关代码(注意:由于某种原因,我无法在 sql 代码中重新创建 1:1 关系,如上面的逻辑模型所示):

从下面的这些链接:

这是我对规范化到 3NF 的理解:

  • 第一范式意味着不允许重复值
  • 第二范式意味着 1NF 和属性依赖于整个主键而不是主键的一部分(如果该表中的值需要以某种方式相互关联并进行比较,我认为这是分区表)。
  • 第三范式表示 2NF 且没有传递值(例如,如果 x = y 和 y = z,x = z)

将理论知识付诸实践对我来说非常困难,尤其是将“实践”转化为工作的、规范化的 MySQL 代码。如果有人能够帮助我完成模型并给我一些关于将模型规范化为 3NF 的指示,我将非常感激。

提前致谢!

0 投票
2 回答
418 浏览

database - 更新 1nf 数据库表的问题

我有两个数据库表:
reportid,description)(key:id)和
registrationab,id_report)(key:(ab));

id_report 是引用报告id的外键。
在表注册中有功能依赖 a -> id_report。

所以表注册是1nf而不是2nf。

尽管如此,我在表注册中找不到插入/更新/删除问题。是否可以?

谢谢

0 投票
1 回答
1829 浏览

database - Laravel 和实体关系模型 - 我应该走多远?

有些人可能知道 ER-Diagrams?数据库的模型

例如: http ://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

所以这是我的数据库模型:( 在此处输入图像描述 翻译:Werkstatt = Garage,Dienstleistung = Service,Kategorie = Category,Bewertung = Rating,bewerten = rate,besitzt = owns,hat = has)

我的问题是:

1)我可以建模多对多关系,一对一,一对多。我应该在需要时为他们使用自己的桌子吗?例如 MANY-to-MANY 关系需要一个自己的表。还是 Laravel 会通过其 Eloquent ORM 来处理这种关系?

2)您可以设计一个很好的数据库,例如不能有NULL值。或者它以适当的方式处理依赖关系或冗余(参见http://en.wikipedia.org/wiki/Database_normalization#Normal_forms)。我应该处理冗余和依赖关系,还是 Laravel 会再次处理这些问题?

所以总的来说,我只想知道,我的数据库设计应该走多远?我应该让它尽可能好,还是仅仅创建基本实体就足够了?

信息:在这里您可以看到如果数据库未标准化可能发生的后果: http ://en.wikipedia.org/wiki/Database_normalization#Free_the_database_of_modification_anomalies

问候