3

Visual Studio データベース プロジェクトでは、テーブル制約が 2 つの異なる方法で追加されているのを見てきました。

  1. テーブルの作成に使用される同じスクリプト ファイルの一部として、CREATE TABLE ステートメントの後に。
  2. 「Tables\Constraints」フォルダーに保持された別のファイルで、ファイルごとに 1 つの制約。

どちらかを行う正当な理由はありますか?

Visual Studio は、SQL Server からデータベースをインポートするときに 2 番を行うので、それが最善の方法だと思いますが、その理由はわかりません。開発者の観点からは、テーブル定義と制約を互いに「より近く」保つため、番号 1 の方が優れているように見えます。

4

2 に答える 2

1

#1に強い投票。制約をテーブル スクリプトから分離すると、後で null 非許容列を追加するのが非常に面倒になります。展開すると、生成された ALTER TABLE スクリプトは、DEFAULT 制約がないため、既存のデータを含むテーブルに NOT NULL 列を追加できません。制約が CREATE TABLE スクリプトに既にある場合、ALTER TABLE はそれを使用し、すべてが機能します。

于 2013-07-09T21:01:45.327 に答える