2012-04-11 43 views
1

在我們公司,.NET開發了一個產品作爲前端,SQL Server 2005作爲後端開發。現有數據庫可以正常化嗎?

最初,當他們開始項目時,他們沒有遵循數據庫規範化技術。現在他們認爲要進行數據庫規範化,其中數據庫只包含一個包含數千行的表。

是否可以拆分這個現有的表並實現規範化?

任何人都可以告訴我如何一步一步走?

謝謝,

Steve。

+4

可能 - 是的。容易 - 不,當然不是。將這張單曲(大概是**巨大的表格)分解成若干部分將會是一個無聊的工作。從頭開始重做整個項目可能會更容易,只是不要讓他們**再次執行新項目!任何**不**以下(和使用)**數據庫規範化**的數據庫項目不應再被允許在鍵盤附近... – 2012-04-11 13:04:44

回答

2

嗯,我是SSIS軟件包的忠實粉絲。 所以,假設你有你的源表結構(巨大的),並且你已經定義了目標表,我會說剛開始構建一個包來遷移數據。 如果你告訴你的表結構會更容易,但我相信你有這樣的事情: 表訂單 領域: 的OrderId, 客戶名稱 產品名稱 所以一個

是十分明顯的,你需要一個客戶表和產品表,所以你的第一步是從訂單運行一個選擇不同的(客戶名稱)並將其插入到你的新客戶表中。對產品和您可能需要的任何其他實體做同樣的事情。

要填充新訂單表,您可以直接從巨大的表中獲取字段,例如訂單或訂單日期,當涉及到客戶端時(使用舊錶上的文本並且將新表上的ID),您將需要查找轉換任務來將名稱轉換爲ID。