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

Jac*_*ord 5 normalization canonicalization

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

例如,如果您想获取某些输入数据的哈希值,并且其他人对规范相同的数据进行哈希处理获得相同的哈希值很重要,那么您不希望一个文件使用制表符缩进而另一个使用空格(没有其他区别) ) 导致两个截然不同的哈希值。

在 JSON 的情况下:

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

我的定义是否正确,并且这些术语可以互换?或者输入数据的规范化和规范化之间是否存在明确定义的特定区别?

phi*_*pxy 4

“规范化”和“规范化”(来自“规范(形式)”和“规范形式”)是两个相关的通用数学术语,根据其中给出的某些确切含义,它们在特定上下文中也有特定用途。当一般含义适用时,用这些术语之一来标记特定过程是合理的。

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

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

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

范式可能是规范形式,也可能只是几个杰出成员之一。

规范化/规范化是找到或使用事物的规范/规范形式。

规范形式。

“规范”和“正常”形式之间的区别因子领域而异。在大多数领域中,规范形式为每个对象指定了唯一的表示,而规范形式只是指定了其形式,而不要求唯一性。

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

  • 你的措辞很模糊。由于它使用“转换”、“正常”和“等效”,所以它回避了这个问题。此外,“具体”和“上下文”和“形式”也不确定。(还要注意,您似乎认为需要一个示例。)此外,这些术语不仅适用于“数据”,还适用于任何值/对象/事物。我已经给出了标准的数学含义。我稍后可以在 TL;DR 中进行编辑。 (2认同)