SQL Server CE (Compact Edition) データベースで外部キー関係を作成するにはどうすればよいですか?
-
09-06-2019 - |
質問
Visual Studio 2005 には、SQL Server CE データベース (バージョン 3.0 を使用しています) 内のテーブル間のリレーションシップを作成するためのインターフェイスが提供されておらず、私の知る限り、Management Studio を使用して Compact Edition DB を開くことはできません。何か案は?
解決
残念ながら、現時点では (SQL Server 2005 とは異なり) SQL Server CE でテーブル間の関係を構築するためのデザイナー サポートはありません。関係を構築するには、次のような SQL コマンドを使用する必要があります。
ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
CE 開発を行っている場合は、この FAQ をお勧めします。
編集:Visual Studio 2008 では、テーブルを右クリックして GUI でこれを実行できるようになりました。
他のヒント
Visual Studio 2008 する FK を追加できるデザイナーが必要です。テーブルを右クリックするだけです...[テーブルのプロパティ] をクリックし、[リレーションの追加] セクションに進みます。
クエリを作成し (Visual Studio で、DB 接続を右クリック -> 新しいクエリ)、次の SQL を実行する必要があります。
ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE
外部キーが作成されたことを確認するには、次の SQL を実行します。
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
E ジェンセンの功績 (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)
デザイナーのサポートがあるというアランの言葉は正しいです。Rhywun が外部キー テーブルを選択できないとほのめかしているのは間違いです。彼が意味するのは、UI で外部キー テーブルのドロップダウンがグレー表示になっているということです。これが意味するのは、外部キーを追加する正しいテーブルを右クリックしていないということだけです。
要約すると、外部キー テーブルを右クリックし、[テーブル プロパティ] > [関係の追加] オプションを使用して、関連する主キー テーブルを選択します。
何度もやりましたが、うまくいきました。
チュートリアル:SQL Server Compact 3.5 データベースの作成
前の手順で作成したテーブル間のリレーションシップを作成するには
- サーバー エクスプローラー/データベース エクスプローラーで、「テーブル」を展開します。
- Orders テーブルを右クリックし、[テーブルのプロパティ] をクリックします。
- 「関係の追加」をクリックします。
- [関係名] ボックスに「FK_Orders_Customers」と入力します。
- 「外部キーテーブル列」リストで「CustomerID」を選択します。
- 「列の追加」をクリックします。
- 「関係の追加」をクリックします。
- OK]をクリックしてプロセスを完了し、データベースに関係を作成します。
- もう一度「OK」をクリックして、「テーブルのプロパティ」ダイアログボックスを閉じます。
create table employee
(
empid int,
empname varchar(40),
designation varchar(30),
hiredate datetime,
Bsalary int,
depno constraint emp_m foreign key references department(depno)
)
外部キーまたは 2 つ以上のテーブル間の関係を作成するには、主キーが必要です。
この質問が最初に行われてから「非常に長い時間が経った」ことは承知しています。万が一、誰かのお役に立てれば、
リレーションシップの追加は、MS によって SQL Server Compact ツール ボックス (https://sqlcetoolbox.codeplex.com/)。インストールするだけで、サーバー エクスプローラー ウィンドウを使用してコンパクト データベースに接続するオプションが表示されます。プライマリテーブルを右クリックし、「テーブルプロパティ」を選択します。次のウィンドウが表示されます。このウィンドウには、関係を追加できる「関係の追加」タブが含まれています。