Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 使用列进行规范化具有冗余性,并且完全依赖于主键_Database Design_Database Normalization - Fatal编程技术网

Database design 使用列进行规范化具有冗余性,并且完全依赖于主键

Database design 使用列进行规范化具有冗余性,并且完全依赖于主键,database-design,database-normalization,Database Design,Database Normalization,我现在正在研究规范化,我知道规范化的三种类型。 但我还是有些困惑 让我举个例子 |- primary -| product_name | price | category | --------------------------------| any name | 236 | food | another name | 36 | clothes | test name | 586 | food | a name | 1036 | fo

我现在正在研究规范化,我知道规范化的三种类型。 但我还是有些困惑

让我举个例子

|- primary -| product_name | price | category | --------------------------------| any name | 236 | food | another name | 36 | clothes | test name | 586 | food | a name | 1036 | food | 如果有人能告诉我,我会很高兴的

对不起,我的英语不好,语法错误等等。

你所看到的不是“冗余”,你提出的替代方案也有完全相同的“冗余”,因为现在你有三次提到的第一

你提出的替代方案之所以“更好”,唯一的原因是,如果“食物”和“衣服”也需要以其他语言显示,那么我们会得到类似的结果

id | lang | category name |
--------------------------|
1  | EN   | food          |
2  | EN   | clothes       |
1  | ES   | comidas       |

但是您最初的问题并没有说明这一点,就规范化而言,您的示例没有任何问题。

我对这种“冗余”的问题是..,假设您有10000行
食品
类别,然后突然您应该将
食品
单词编辑为
垃圾食品
,这将使您更新10000行,但是在自己的表中使用单独的
category
列,您将只需要更新一行,现在您将避免像更新10000行这样的修改异常。因此,我认为应该将其分开。但正如你所说的那样,正常化并没有问题,对吧!“更新10000行”不是“异常”。这是设计选择的结果,也许是一个不幸的结果,但盲目地将这种“分离”策略应用于周围的每个属性,仅仅是为了“假设我们需要更改整组行”的蹩脚借口,这无疑是一种设计反模式。改变整组行是关系技术发明的目的。我现在理解了你的观点,这让我明白了。当我们发现一个重复项时,我并不是要将每个列都分离到表中,但在这种情况下,当它频繁地在短时间内更改类别名称时,我发现最好将它们分离,以使更新之类的操作更快。无论如何,非常感谢你的时间。你的问题是什么?PS与规范化无关。您已将一种类型的值替换为另一种类型的值,然后添加了一个新的不必要的表。找出什么是“正常化”。@philipxy请检查下面的对话。谢谢
id | lang | category name |
--------------------------|
1  | EN   | food          |
2  | EN   | clothes       |
1  | ES   | comidas       |