Python代码,用于确定使用哪种标准格式的表格数据

Python代码,用于确定使用哪种标准格式的表格数据,python,normalization,relational-algebra,database-normalization,Python,Normalization,Relational Algebra,Database Normalization,我正在寻找Python代码,它可以获取表格数据,确定它的标准形式(如果有的话),并显示任何函数依赖关系,等等。有“规范化”的逻辑测试。然而,它们不是编程中的琐碎练习;它们是元数据中施加在数据上的关系。它们需要“思考” 1NF——无重复组。如何识别“重复组”?它将是一个强加在表列上的数组结构。这是怎么做到的?SQL不提供机制,因此您必须查看列名以检查“模式”。例如,列1、列2、列3 1NF——行的一致布局。嗯。SQL通过表定义的本质来实现这一点 2NF——行中的数据取决于键。你必须做这样的手术 F

我正在寻找Python代码,它可以获取表格数据,确定它的标准形式(如果有的话),并显示任何函数依赖关系,等等。

有“规范化”的逻辑测试。然而,它们不是编程中的琐碎练习;它们是元数据中施加在数据上的关系。它们需要“思考”

1NF——无重复组。如何识别“重复组”?它将是一个强加在表列上的数组结构。这是怎么做到的?SQL不提供机制,因此您必须查看列名以检查“模式”。例如,列1、列2、列3

1NF——行的一致布局。嗯。SQL通过表定义的本质来实现这一点

2NF——行中的数据取决于键。你必须做这样的手术

For each non-key column:
   Query distinct pairs (Key and the non-key column)
   Do all non-key values depend in a consistent way on a key value?
   Can you build a simple dict mapping non-key to key?
完整算法如下所示:

3NF——行中的数据仅取决于键。这更糟糕,因为您必须将所有非键列组合与所有非键列组合进行比较,以确保值之间没有非键依赖关系

4NF和5NF让我困惑,所以我就到此为止

我的观点是——理论上——你可以做到。实际上,要断言正常形式的关系实际上是有效的,需要大量复杂的数据排列

通过一些SQL查询和思考,对特定的违规行为进行假设并探究这个问题,要容易得多

这里是正式数学:


请解释您的问题。可能包括一些例子。我想他说的是数据库规范化[我知道规范形式是什么,我只是想知道在我写自己的规范形式之前,Python中是否有预先存在的代码。@James Tauber:“我知道规范形式是什么…”从您的问题中看不清楚。很抱歉有这么多冗余。但是,这个问题似乎没有信息,因为它通常是通过手动分析模式来完成的,而不是自动研磨数据。如果您已经知道,那么您知道,对于大型数据集,算法可能会非常缓慢。