2013-10-16 110 views
0

我有一張很大的表格,裏面有很多記錄,我想分成更小的表格進行歸一化處理。我已經有了規範化表格的模型。現在,我想從巨大的表中取出所有記錄,並將它們分成幾個表格,這些表格將規範化數據。正常化數據庫的工具?

有沒有一種工具可以簡化這個過程?我打算在PHP中編寫一個腳本來遍歷巨大表中的記錄,並將它們分解到其他表中。

+6

你怎麼能這樣有5,168代表,並提出這樣的問題? – cmorrissey

+0

好吧,不要嗤之以鼻,但如果你看看用戶的個人資料,你會看到大多數聲譽來自SO本身,而最高標籤是「php」。去猜,我猜。 –

回答

2

某些ETL工具可能足夠聰明,可以將數據拆分爲多個目標表,但我不知道其中一個。你可以試試Kettle

根據我的經驗,這些類型的任務通常是非常自定義的,因此有必要編寫一次性腳本。

+1

更具體地說:通過正式的修補系統,或者只是一個'.sql'文件來執行遷移腳本,通常是這樣做的。 – tadman

1

NORMA概念數據庫設計。一個副作用是它爲適當規範化的數據庫生成模式。

但最好的解決方案是,你應該能夠完全理解如何規範化表單,你需要多長時間依賴任何工具來爲你做這件事?我建議你到study a bit about it,這樣你可以自己想出最好的解決方案。作爲一名開發人員,你會時不時遇到這個問題,那麼採訪怎麼樣,讓我們​​假設你被問到了哪裏?而作爲米奇小麥說,標準化不應該要求一個工具:)

這裏有一些更多的資源,讓你開始:

http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html

來源:MySQL的網站(官方)

+0

問題不在於如何正常化。我已經有了規範化的數據庫設計。來自巨大表格的數據太多,無法手動完成。如果有一種工具可以幫助我將數據拆分成更小的表格,那麼我寧願選擇這種方式,而不是寫一次性腳本。 – StackOverflowNewbie

+0

我的意思是你想將一個表數據分成幾個表來提高數據庫性能。 http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html –