我正在尋找Python代碼,可以採取表格數據,並確定它在哪裏(如果有的話)和顯示任何功能依賴關係,等等用於確定哪些正常形式表格數據在Python代碼
回答
我認爲這段代碼真的很難實現。
查看關於數據庫規範化算法的this question。
有「標準化」的邏輯測試。但是,它們在編程中並不是小事。它們是強加在數據上的元數據中的關係。他們需要「思考」。
1NF - 無重複組。如何識別「重複組」?這將是一個強加在表的列上的數組結構。這是如何完成的? SQL不提供一種機制,所以你必須查看列名來檢查「模式」。例如,COL_1,COL_2,COL_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?
完整的算法是在這裏:http://en.wikipedia.org/wiki/Relational_model#Set-theoretic_formulation
3NF - 數據在一排只依賴於關鍵。這更糟糕,因爲您必須將非鍵列的所有組合與非鍵列的所有組合進行比較,以確保值之間不存在非鍵相關性。
4NF和5NF讓我迷惑,所以我會在這裏停下來。
我的觀點是 - 理論上 - 你可以做到。實際上,大量複雜的數據排列聲稱正常形式的關係實際上持有。
對某個特定的違規行爲進行假設並用一些SQL查詢和某些想法來探究這個問題要容易得多。
正式的數學是在這裏:
我知道正常的形式是什麼,我只是想知道在Python中是否有預先存在的代碼我寫我自己的。 – 2010-01-30 03:24:37
@詹姆斯陶伯:「我知道什麼是正常的形式......」並不清楚你的問題。對不起所有的冗餘。但是,這個問題似乎並不知情,因爲它通常是通過手工分析模式而不是自動磨削數據來完成的。如果您已經知道,那麼您意識到對於大型數據集,算法可能難以控制。 – 2010-01-30 13:23:46
而不是Python代碼,但是第一眼本文着眼有用。
- 1. 確定哪些函數在代碼中
- 2. Python正確的代碼格式(PEP8)
- 3. 哪些代碼用於表單驗證?
- 4. 哪些Python PEP處理代碼風格?
- 5. 確定哪些代碼行拋出異常
- 6. 確定最高的正常形式
- 7. 使用SQLAlchemy,確定哪些列表值不在數據庫列
- 8. 用於代碼格式化的正則表達式
- 9. 正確格式化這些表單
- 10. 如何格式化正常jQuery代碼可重用的代碼
- 11. 確定哪些字典我在Python
- 12. Python源代碼:哪些python項目是核心,哪些是庫?
- 13. 正確格式化數據
- 14. 如何確定哪些函數調用在Python中引發異常?
- 15. jquery正確的代碼格式
- 16. 如何正確格式化此代碼?
- 17. 保持代碼始終格式正確?
- 18. Wordpress格式代碼不正確
- 19. POST代碼格式不正確?
- 20. 正確的jquery代碼格式
- 21. 的Javascript正則表達式,確定哪些組上匹配
- 22. MongoDB的:確定哪些正在從
- 23. Python 3.5代碼 - 類未正確定義
- 24. 在D3中繪製多邊形數據的正確格式
- 25. 用於創建來自數據列的圖形的Python代碼
- 26. 數據庫將用於統計/圖表/圖表。表格正確的方式?
- 27. 確定哪個數據庫行導致「輸入字符串格式不正確」
- 28. 如何使用ObjectDataSource在代碼中將數據表格正確設置爲gridview?
- 29. 在Numpy源代碼中定義了哪些常量?
- 30. 這是VB.NET代碼的正確格式(對於grokkability)嗎?
請解釋你在問什麼。也許包括例子。 – Brian 2010-01-28 20:01:36
我認爲他在談論數據庫規範化[http://en.wikipedia.org/wiki/Database_normalization] – 2010-01-28 20:25:28