我想使用它的數據對現有數據庫進行規範化,因爲在許多表中有一個(外部)鍵用於引用外部實體(第三方系統)。因爲我們現在需要直接在數據庫中將其作爲一個實體,所以我在問我如何做到這一點。正常化數據庫及其現有數據的步驟
我更新了該數據庫的DDL並創建了更新腳本(用於DDL)。
但我最好的方式來遷移數據?
所有使用舊的varchar-key的表現在都有一個不可空的外鍵給新的實體。我如何初始化這個新的領域。這是步更新DDL後(這是否可能爲非空字段?)?或者這樣做而遷移的DDL(以及如何)?
例子:
Table NewEntity
+ Key (autogenerated)
+ SomeInfo
+ OldKeyThatWasJustAVarchar
Table Existing_1
- Key (autogenerated)
- SomeInfo_1
- SomeInfo_n
- OldKeyThatWasJustAVarchar ('logical' Reference)
+ NewForeignKeyToNewTable
Table Existing_2
- Key (autogenerated)
- ExampleFieldAnalogOtherTables
- OldKeyThatWasJustAVarchar ('logical' Reference)
+ NewForeignKeyToNewTable
所有OldKeyThatWasJustAVarchar
的內容UNICE,所以一個簡單的SQL所能提供NewEntity的需要ID:
SELECT Key FROM NewEntity nw, Existing_n existing
WHERE nw.OldKeyThatWasJustAVarChar = existing.OldKeyThatWasJustAVarChar;
我要創建一個新的,因爲舊VARCHAR處理不是「通用」。 OK,只是用「不爲空」之後是簡單的提示。那很簡單。這裏有很多樹...... ;-) thx – Sammy 2014-10-08 12:56:29