normalization相关内容

如何说服某人正常化数据库?

所以我一直在这个项目的工作,我在编码一个php网站,与一个数据库交互,我无法控制。数据库是由一个同事与我公司多年的时间“设计”的;所以最终决定由他们决定。 当我第一次参加这个项目时,我去了同事,并解释说数据库模式似乎有缺陷。我解释了标准化数据库以确保数据完整性问题,磁盘空间节省的重要性,并且它将使程序员(我)的工作更容易。我甚至给出了在当前设计中可能发生插入,删除和更新异常的示例。然而,同事 ..
发布时间:2017-03-14 05:18:29 其他数据库

1:1或1:0关系的规范化

当使用关系数据库,你想要3NF(你叫它3NF在英语吗?),然后你拉1:1关系一起成一个表。但是如果关系是1:0/1(/意思或),会发生什么? 然后你保持分开,以避免表中的空格? $ p 解决方案 根据你的问题和随后的评论@ paxdialbo的答案,我的理解是你想要一个解决方案来存储可选属性,其中有很多,同时避免NULL。完成此操作的两种方式,第6次正常表单(6NF)或实体属性值(E ..
发布时间:2017-03-14 05:04:09 其他数据库

如何建模数据库中的标签?

我有一个现有的webapp,并且想要添加一个标签功能,以便用户可以标记现有对象。问题是我应该为每个对象添加一个标签列吗?或者我应该规范化它,并使用一个标签表,其中每个对象将有一个标签的集合?我倾向于后者,因为它感觉更干净,更容易报告,更容易创建标签云。但因为我知道这已经解决了1000次,我想问,看看我是否缺少一些东西? 解决方案 用户需要将多个标签与对象关联? 如果不,请将TAG_I ..
发布时间:2017-03-14 04:36:56 其他数据库

正常化一个人的名字太远了?

您通常规范化数据库,以避免数据冗余。在一个充满名字的表中很容易看到有大量的冗余。如果你的目标是创建一个地球上每个人的名字的目录(祝你好运),我可以看到如何规范化的名称可能是有益的。但在平均商业数据库的上下文中它是过度的? (当然我知道你可以采取任何东西到极端...说如果你规范化到音节 更新: 一个可能的理由是随机名称生成器。 解决方案 数据库标准化通常是指对字段进行标准化 ..
发布时间:2017-03-14 04:14:58 其他数据库

将表格标准化为第三个正常形式

这个问题显然是一个家庭作业问题。我不明白我的教授,不知道他在选举期间说什么。我需要逐步的指示,以便将下面的表格标准化为1NF,然后是2NF,然后是3NF。 我感谢任何帮助和指示。 解决方案 好的,我希望我记得所有人都正确,让我们开始... 规则 为了使它们非常短(不是非常精确,只是给你一个第一个想法是什么): NF1 :表格单元格不能包含多个值。 NF2 :NF1 ..

Overnormalization

数据库设计何时被描述为过度规范?这个特征是绝对的吗?还是它依赖于它在应用程序中的使用方式?感谢。 解决方案 在一般意义上,我认为overnormalized是当你这么多JOIN来检索数据即使在您从索引中调整出来之后,也会对数据库造成显着的性能损失和死锁。显然,对于像MySpace或eBay这样庞大的应用程序和网站,反标准化是一个扩展要求。 作为一些小型企业的开发者,我告诉你,它总是更 ..
发布时间:2017-03-14 03:27:26 其他数据库

规范化数据库对资源的影响是什么?

当从相对非规范化的形式获取数据库并将其标准化时,资源利用率中可能会出现什么(如果有)变化? 例如,规范化通常意味着从更少的表创建更多的表,这意味着数据库现在具有更多的表,但是其中许多表非常小,允许经常使用的表更好地适应内存。 表的数量越多,还意味着需要更多的连接(潜在地)来获取被抽出的数据,所以人们会期望来自更高数量的连接的某种影响系统需要做。 那么,对资源使用(即什么会改变)的 ..
发布时间:2017-03-14 02:04:08 其他数据库

数据库模式归一化检查器?

我有兴趣学习如下所示的工具: 给定一个数据库模式和一些数据,建议该模式是否可能在任何特定的正常 基本上是一个用于数据库模式设计的静态分析工具。 与其他静态分析工具一样,这样的数据库工具不需要生成完美的结果(我怀疑这样的“完美”工具在计算上是可行的),或适用于所有数据库系统,或自由/开源,还要别的吗。该工具不需要是独立的;它可以捆绑作为一些复杂的IDE功能。 解决方案 这可 ..
发布时间:2017-03-14 00:24:34 其他数据库

在将关系R分解成1NF之后存在的表的最小值是多少?

考虑具有以下类型属性的关系R(A,B,C,D,E,F,G): - 1 = {A} 简单(或)原始(或)单值属性组= {B,C} 多值属性组= {D,E} 组合属性集合= {F,G} $ b b 将关系R分解为1NF后存在的表的最小值是多少? (A)3(B)2(C)4 )5 我的尝试: 对于具有给定关键字(A)的每个多值属性,total = 2 类 ..

非正规化以什么方式提高数据库性能?

我听说了很多关于反规范化的问题,这是为了提高某些应用程序的性能。但我从来没有尝试过任何相关的事。 所以,我只是好奇,在归一化DB的地方使性能更糟,或换句话说,什么是反规范原则? 如果我需要提高性能,如何使用这种技术? 解决方案 反规范化是一种时空折衷。规范化数据占用较少的空间,但可能需要连接构造所需的结果集,因此需要更多的时间。如果它是非规范化的,数据在几个地方复制。然后它占用 ..

MongoDB规范化,外键和加入

在深入MongoDB几天之前,我想我会问一个很基本的问题,我是否应该深入研究它。我基本上没有nosql的经验。 我读了一些关于文档数据库的一些好处,我认为这个新的应用程序,他们将是真的很好。对许多类型的对象(很多m对m关系)和子类做收藏,评论等总是很麻烦 - 这是一种痛苦的处理。 我也有一个结构,这将是一个痛苦在SQL中定义,因为它是非常嵌套的,并转换为一个文档比15个不同的表好多了。 ..
发布时间:2017-03-13 22:30:10 其他数据库

数据库规范化

我是数据库设计的新手,我已经阅读了很多关于规范化。如果我有三个表:住宿,火车站和机场。我在每个表中有地址列或其他表引用的地址表?是否有过度规范化的问题? 感谢 解决方案 数据库规范化是关于构建关系(表),维护关系(表)中的事实(列)和构成模式的数据库(表)之间某些功能的 依赖 )。 是关于数据库理论的经典参考正常形式。本文简单定义每个正常形式的本质是 及其对数据库表设计的 ..

在数据库方面,是“Normalize for correctness,denormalize for performance”一个正确的口头禅?

正常化导致许多基本和理想的特性,包括美学的乐趣。此外,它在理论上也是“正确的”。在这种情况下,非规范化被应用为折衷,即实现性能的校正。 除了数据库可能被非规范化之外,还有什么其他原因吗? 解决方案 是: 效能 无知 前者应通过分析进行验证,后者应使用卷起的报纸进行更正; - ) 说一个更好的口头禅将“正常化的正确性,反正规化的速度 - 只有在必要时” ..

如何获取在mysql INSERTed行的ID?

我使用此命令将一些单词插入到两列表中... INSERT IGNORE INTO terms )VALUES('word1'),('word2'),('word3') 如何获取每个字被插入的行的ID(主键)。我的意思是在INSERT后返回一个像“55,56,57”的值。 MySQL有这样的响应吗? 术语列是UNIQUE。如果某个术语已存在,则不会插入它。 ..
发布时间:2017-03-13 21:56:55 数据库

普通英语

我理解数据库规范化的概念,但总是很难用简单的英语解释它 - 特别是面试。我已阅读维基百科的帖子,但仍然很难向非开发人员解释这个概念。 “以一种不会得到重复数据的方式设计数据库”是第一件想到的事情。 有没有人有一个很好的方式来解释数据库规范化的概念用简单的英语?什么是一些很好的例子,以显示第一,第二和第三正常形式之间的差异? 说你去面试的人,该人问: 访问者寻找的关键点是什么? ..
发布时间:2017-03-13 21:35:53 其他数据库

什么是dbms中的原子性

我在DBF中以1NF格式阅读下面的内容。 有一句话如下: “每一列都应该是原子的。” 任何人都可以用一个例子? 解决方案 “每一列都应该是原子的。 / blockquote> Chris Date说,“请注意,请注意,这不仅仅是简单的事情,例如整数3是合法的值。值可以是任意复杂的;例如,值可以是几何点或多边形,或X射线,或XML文档,或指纹,或阵列,或堆栈,或列 ..

在数据库设计中,1NF,2NF和3NF是什么?

我理解数据库规范化用于避免重复/冗余数据,并涉及为某些事情创建单独的表,但我不能确定我明白什么1NF,2NF和3NF。 解决方案 1NF是最基本的正常形式 - 每个表格中的单元格必须只包含一条信息,并且不能有重复的行。 2NF和3NF都是取决于主键。回想一下,主键可以由多个列组成。正如Chris在他的回答中所说的: 数据取决于键[1NF],整个键[2NF],除了键[3NF] C ..
发布时间:2017-03-13 20:42:51 其他数据库

在Reducer中获取输入文件

我试图写一个mapreduce工作,我需要重复两次值。 所以当一个数字 csv 文件,我们需要为每一列应用这个。 为此,我们需要找到 min 和 max 值,并将其应用于方程(v1)。 到目前为止我做的是 在map并将每列作为值 在Reduce() 中我计算每列的最小值和最大值。 之后,我被卡住了。接下来我的目标是应用方程 (v = (v-mi ..
发布时间:2017-02-26 15:26:27 Java开发