“规范化”和“规范化”数据之间是否有明确的区别?

问题描述 投票:1回答:1

我理解规范化和规范化意味着删除数据表示中任何无意义或模糊的部分,将有效的相同数据转换为实际相同的数据。

例如,如果您想获取某些输入数据的哈希值,并且重要的是其他任何人对标准相同的数据进行哈希处理都会获得相同的哈希值,那么您不希望一个文件缩进标签而另一个使用空格(并且没有其他区别) )导致两个非常不同的哈希。

在JSON的情况下:

  • 对象属性将按标准顺序放置(可能按字母顺序)
  • 不必要的白色空间将被剥夺
  • 缩进标准化或剥离
  • 甚至可以用全新的语法对数据进行重新建模,以强制执行上述操作

我的定义是否正确,这些术语是可以互换的吗?或者,规范化和输入数据规范化之间是否有明确定义的特定差异?

normalization canonicalization
1个回答
2
投票

“规范化”和“规范化”(来自“规范(形式)”和“正规形式”)是两个相关的一般数学术语,其在特定情境中具有特定用途,其中每个确切含义。当一般含义适用时,通过其中一个术语标记特定过程是合理的。

您对这些特定用途的描述是模糊的。一般和特定案例的正式含义更有用。

有时给定一堆东西我们将它们(全部)分成(不相交的)组,也就是等价类,我们认为它们在某种特定意义上是相似或相同的,也就是等价的。根据某些特定的equivalence relation,组/类的成员是相同/等同的。

我们从每个小组/班级中选择一个特定成员作为代表性事物,并将其称为该组及其成员的规范形式。当两个东西处于同一个等价类时,它们完全等价。当规范形式相等时,有两件事情完全相同。

普通形式可能是规范形式,也可能只是几个杰出成员中的一个。

规范化/规范化是为了找到或使用规范/正常形式的东西。

Canonical form

“规范”和“正常”形式之间的区别因子字段而异。在大多数字段中,规范形式为每个对象指定唯一的表示形式,而普通形式仅指定其形式,而不需要唯一性。

将定义应用于您的示例:您是否有一堆您正在分区的值,并且您是在为每个类而不是该类的其他成员选择一些成员吗?那么你有JSON值并且没有对它们进行重新建模,你根据它们映射到函数的同类成员对它们进行分区。因此,您可以合理地调用结果JSON值的规范形式的输入。如果您将重新建模描述为适用于所有输入的特征,那么您还可以合理地将重新建模的形式称为重新建模输入值的规范值规范形式。但如果没有,那么人们可能不会抱怨你调用输入值的重新建模的值规范形式,即使技术上它们不会。

© www.soinside.com 2019 - 2024. All rights reserved.