database-normalization相关内容

无损分解与依存关系

它们中的任何一个都暗示着另一个吗? 我的逻辑是,如果保留了所有依赖项,则不会丢失任何信息;同样,如果分解是无损的, 因此从本质上讲,依赖项保留是确保分解无损的一种方法。 我很难接受/拒绝它。那么,这两者是互相保证的吗?还是在某些情况下没有其他可以实现? 解决方案 通常,这是两个独立的东西:您可以无损地分解 依存关系的保留,以及保留依存关系的分解,但是不是无损的。 因 ..

将关系分解为BCNF

我在确定关系何时处于Boyce-Codd范式以及如何将其分解为BCNF时遇到麻烦。给出以下示例: R(A,C,B,D,E)具有功能依赖性:A-> B,C-> D 如何分解? 我采取的步骤是: A + = AB C + = CD R1 = A + = ** AB ** R2 = ACDE(因为C +的元素仍然存在,继续分解) R3 = C + = ** CD ..

针对CustNo,PropNo,OwnerNo等的3NF CustomerRental数据库规范化过程

我正在试图规范下表。我想从UNF表格转到3NF表格。我想知道,您在1NF阶段做什么?它表示在此处删除重复的列或组(例如ManagerID,ManagerName)。这被认为是重复的,因为它导致相同的数据。 非规范化数据表具有以下列 CustomerRental(CustNo,CustName,PropNo,PAddress,RentStart ,RentFinish,Rent,OwnerN ..

3NF和BCNF中都存在这种关系吗?

假设关系模式 R(A,B,C)且FD为 {A-> B,B-> C} 所以超键是 {A },{A,B} 现在,如果我们将其分解为 3NF ,它将是 带有FD {A-> B}的R1(A,B)和带有FD {B-> C}的R2(B,C) 在 BCNF 中吗?我无法确定。由于 B 不是 R的超键,所以 {B-> R2 中的C} 违反了 BCNF ? 解决方案 {AB}是 ..
发布时间:2020-06-04 18:39:07 其他开发

理解3NF:请用普通英语

我正在研究一个示例问题,在该问题中,我们试图确定以下哪个关系为第三范式(3NF)。这是我们得到的关系: R1(ABCD) ACD-> B AC-> D D-> C AC-> B R2(ABCD) AB-> C ABD-> C ABC-> D AC-> D R3(ABCD) C-> B A-> B CD-> A BCD-> A R4(ABC ..
发布时间:2020-06-04 18:39:02 其他开发

存在循环依赖项时将3NF转换为BCNF

如果我们有一个关系模式R(A,B,C,D),并且具有一组依赖项: ABC-> D D-> A 如何将R分解为BCNF关系?无论我如何考虑,似乎唯一可行的方法似乎是丢弃其中一个FD。还有其他方法吗? 解决方案 是的,在保留FD的同时始终可以无损地分解为3NF,但是BCNF可能不会保留它们。不过,这是一种无损的分解:如果组件保留了原图的投影,则它们将合并到原图。但 ..
发布时间:2020-06-04 18:38:58 其他开发

确定关系是3NF还是2NF

摘自《数据库管理系统》一书:给出了关系SNLRWH(每个字母表示一个属性)和以下功能依赖性: S -> SNLRWH(S是PK) R-> W 我的尝试: 首先,它不是3NF:对于第二个FD,R都不包含W,R也不包含键,W也不是键的一部分。 第二,是/不是 2NF。如果我们检查第二个FD,则W取决于R,而R则不是键的一部分。 STUCK。 解决方案 如果某些适当的子集违 ..

在建模和规范化时如何处理空值?

我是SQL(仍在学习中)的新手,我必须为场地创建一个数据库. 客户预订活动室.问题在于客户并不总是提供他们的姓名,电子邮件和电话号码.在大多数情况下,它是姓名和电子邮件或姓名和电话.这很少是全部3种,但它确实会发生. 我需要将它们分别存储在各自的属性(名称,电子邮件,电话)中.但是他们给我他们的信息的方式,我有很多空值. 这些空值怎么办?有人告诉我最好不要有空值.之后,我还需要对我的表进行规范化. ..

mySQL>>规范以逗号分隔的字段

我目前有一个名为"RESOURCES"的表,其中的关键字字段为"RES_Tags". "RES_Tags"字段包含每个记录的以逗号分隔的关键字列表. 我需要规范化此表/字段. 我已经设置了以下表格:TAGS,TAGS_TO_RESOURCES. 请在此处查看架构: http://sqlfiddle.com/#!9/edac4 /1 什么是查询,使我能够解析RES_Tags中 ..
发布时间:2020-05-25 01:59:38 数据库

Drupal数据库结构-高效/低效率?

我当然不是Drupal专家,但是我之前曾计划和构建过一些数据库,所以对于第3方团队正在研究的数据库结构感到困惑,我将Sequel Pro加入其中虚拟内容.我想如果要使用Drupal的后端GUI的话,这种结构就不会很明显了,但是我没有资格,只有ftp和ssh访问. 我不敢看到我没有期望的单个表,例如一个组织,其中包含ID,名称,地址,电子邮件,邮政编码等列. 相反,每个数据位都有一个表. ..

没有1列表的数据库设计

我一直在进行数据库设计,但遇到了麻烦.我最后读到的不是规范化的数据库结构,但是在尝试找到“更正确的"设计时遇到了问题,如果可以接受该设计,该如何在Access中执行它? TLDR:如果将具有单列设置为自动编号的表是可以接受的设计,那么如何使用Access在其中插入记录呢? 关注的数据库部分正在创建用于存储公司的结构.这样做的要求是,任何更改都需要由另一位用户批准,并且所有历史更改都必须 ..
发布时间:2020-05-12 22:26:24 其他开发

存储查找表ID或纯数据之间的决定

我发现这个问题很多,而且我不确定最好的解决方法. 我的问题是如何在使用外键查找表还是直接在请求表中使用查找表值之间做出决定,从而完全避免查找表之间的关系. 要记住的要点: 使用第二种方法,您将 需要对所有人进行批量更新 记录引用数据(如果有) 在查询表中更改. 此重点更加突出 对具有很多 该列引用了许多查询 表.因此很多外国 键意味着很多 每次您查询 表. 此数据将来 ..
发布时间:2020-05-04 03:58:30 其他开发

BCNF:寻找例如实际使用超级键而不是候选键的示例

Boyce–Codd范式的定义指出,所有非平凡的函数依赖项的决定因素都必须是超键. 我发现的BCNF中所有关系示例均使用候选键.我正在寻找一个示例,该示例实际上有一个超键作为行列式,而不是候选键. 我无法提出仅使用超级键的关系,而超级键不能转换为使用候选键. 比方说,我们与候选键有关系,而附加功能依赖关系则由超键作为决定因素. R1(A,B,C) {A} A,B -> C ..

将MySQL中的JSON数组转换为行

更新:现在可以在MySQL 8中通过JSON_TABLE函数进行操作:我喜欢MySQL 5.7中的新JSON函数,但是遇到了一个试图将JSON中的值合并到普通表结构中的块. 获取JSON,从中处理和提取数组等非常简单.始终使用JSON_EXTRACT.但是从JSON数组到行的逆过程呢?也许我对现有的MySQL JSON功能非常关注,但是我无法弄清楚这一点. 例如,假设我有一个JSON数 ..
发布时间:2019-11-23 19:30:07 数据库

无损加盟物业

有人可以向我解释关系模式中的无损连接属性是什么意思吗? 在规范化的关系分解过程中是否能够维持信息/数据的语义? 解决方案 @Falcon-您是对的-但这是一个更实质性的定义... 无损连接属性是归一化支持的分解功能.这样可以确保可以从较小关系中的相应实例中识别出原始关系的任何实例. ..

了解规范化和重复-我猜我不愿意-正在添加艺术家&标题编号

我从一张表格开始,该表格列出了1958年至1980年按日期排列的前100首歌曲.每个日期都有100条记录.显然,随着歌曲从一周到一周的变化位置,许多歌曲将被重复.此外,艺术家将被复制很多次(想想猫王).该表中有约116,000条记录. 此表具有以下字段 uniq, date, artist, title, position 为了消除重复(据我所知标准化),我已经修改了表格,使其现在 ..
发布时间:2019-09-19 15:47:55 数据库

规范化且不可变的数据模型

Haskell如何解决“规范化的不可变数据结构”问题?例如,让我们考虑一个代表前女友/男朋友的数据结构: data Man = Man {name :: String,exes :: [Woman]} 数据女人=女人{name :: String,exes :: [Man]} 一个女人改变了她的名字,她已经和13个男人在一起了?那么所有这13人都应该“更新”(Has ..