私が継承した現在のプロジェクトは、主に 1 つの正規化されていないテーブルを中心に展開しています。正規化の試みがいくつかありますが、必要な制約が設定されていません。
例: Project テーブルには、(他の値の中でも) クライアント名があり、クライアント名だけを含むクライアント テーブルもあります [どこにもキーはありません]。client テーブルは、新しいプロジェクトを追加するときにユーザーに提供する値のプールとしてのみ使用されます。クライアント テーブルまたは外部キーに主キーがありません。
このような「設計パターン」は、データベースの現在の状態とそれを使用するアプリケーションで一般的です。私が自由に使えるツールは、SQL Server 2005、SQL Server Management Studio、および Visual Studio 2008 です。私の最初のアプローチは、正規化が必要な情報を手動で判断し、Select INTO クエリを実行することでした。ケースバイケースよりも優れたアプローチはありますか、それとも自動化できますか?
編集: また、「作業指示書番号」は IDENTITY (autonumber、unique) フィールドではなく、順番に生成され、各作業指示書に固有であることを発見しました。既存の番号付けにもいくつかのギャップがありますが、すべてが一意です。移行前にダミー行を生成するためのストア プロシージャを作成するための最良の方法はありますか?