2013-08-19 32 views
0

我有一個MySQL數據庫,我需要清理數據。清理已經規範化的mySQL數據庫的工具?

我正在查看是否有工具來幫助一次清理規範化表。

實施例:

  • User表包括用於makemodel
  • Make表碼具有使我想鞏固
  • Model表具有模型我想鞏固

手動操作是一場噩夢:

model表(例如刪除冗餘模式 「B」 和 「C」,留下模型個
  1. 更改參考 「A」

  2. 現在所有users引用models 「B」 或 「C」 需要是手動 更改,以引用model「A」

更改make甚至更​​加困難,因爲所有models將必須被移動到REMA make,user表更新等。

是否有工具可以使這個簡單,可能是圖形?

+2

編寫腳本..... –

+0

如果你的用戶表包含make和model的代碼,那麼你的數據庫沒有被標準化。這聽起來像對我來說是多對多的關係。無論如何,可能沒有工具來處理你的具體情況,因爲你可能是唯一的人。等待答案證明我錯了。 –

回答

0

想必MakeModel每個都有一個ID和一個描述,並且有幾個MakeModel記錄具有相同或等效的描述,您希望合併。

如果描述相同,則可以編寫一個Update語句,以基於描述中的連接將外鍵列設置爲等於主鍵列的第一個ID。

如果描述不相同,可以創建一個包含兩列的表格,第一列包含要分配的ID,第二列包含要重新分配的ID,然後編寫一個更新類似於上面的查詢。