0
T-SQLでは、正規化されていない大きなテーブルがあります。このようなデータを持つテーブルを正規化し、nvarchar列を外部キー参照に変換するためのベストプラクティス
tbl_Item:
ItemID
ItemName
ItemGroup
Price
:それは以下の構造を有する想像し、二つに
1 - ItemA - GroupA - $9.99
2 - ItemB - GroupA - $9.99
3 - ItemC - GroupA - $9.99
4 - ItemX - GroupB - $4.00
5 - ItemY - GroupB - $4.00
私はそれを正常化したいが全く新しいテーブル:
tbl_Item:
ItemID
ItemName
FK_Group
と:
tbl_Group:
GroupID
GroupName
Price
問題は、最初のテーブルからItemGroupデータを取り出し、それを新しいテーブルの対応するGroupIDに置き換えることです。
SELECT DISTINCT ItemGroup FROM tbl_Item
...を実行し、すべての値をtbl_Groupに挿入して、ID番号を指定して、tbl_Groupテーブルに値を設定します。
私が見ることができる唯一の方法は、tbl_Itemをループし、新しいtbl_Groupテーブルに対してItemGroup列を照会し、そのIDを新しい項目テーブルのFK_Group列に挿入するスクリプトを書くことです。
これを行うより良い方法はありますか?
:としてテーブルを作成し、また
それ。 – philipxy