2011-02-20 10 views
3

"PackageItems"テーブルを既存のSQL Server 2008 R2データベースに追加しました。私はSQL Server Management Studioで作業しています。新しいテーブルを作成した後、そのテーブルと「パッケージ」という別のテーブルとの関係を作成しました。関係FK_PackageItems_Packageは、新しいPackageItemsテーブルのPackageテーブル(PackageID)の主キーを外部キーにします。両方のテーブルには、PackageID(int、not null)という共通の列があります。新しく作成されたFK関係がオブジェクトエクスプローラに表示されないのはなぜですか?

私の質問は次のとおりです。データベース内の他のすべてのテーブルのプライマリキーと外部キーは、SSMSのオブジェクトエクスプローラパネルに明示されています。私は列の横に金色または灰色のキーが見えます。また、括弧の中にPKまたはFKも表示されています。しかし、私の新たに作成された関係(FK_PackageItems_Package)はこのようには表されません。私は間違ったことをしましたか?

メモ:FK関係を作成するには、PackageItemsのデザインビューに入り、リレーションシップアイコンをクリックし、追加をクリックして、「テーブルと列の指定」の横にある「...」ボタンを選択します。表示されたウィンドウで、私は主キーテーブルとPackageIDとしてPackageを選択しました。そして、私は外部キーテーブルとカラムのPackageItemsとPackageIDを選択しました。

これはあまりにも愚かではありません。見ていただきありがとうございます。

+0

ツリービュー内のほとんどのノードには、コンテキストメニュー項目が「更新」されています。それを試しましたか?それがなければ、SSMSは今作成したばかりの新しいデータベースに気付かない。 – Andomar

+0

ありがとうございました!それがそれを解決しました。私はリンクを見つけるとすぐにあなたの答えを受け入れます。 – hughesdan

答えて

0

デザインビューを使用して外部キーを作成するときに問題が発生することがあります。 GUIビューで外部キーを作成しようとすると、作成されません。私がスクリプトでそれを作成すると、それは行います。

外部キーが作成されているかどうかを確認するには、sp_help [TableName]を使用できます。

6

[外部キーの作成]ダイアログウィンドウを開くと、GUIによってテーブルデザインウィンドウが追加されます。キーを設定してウィンドウを閉じると、テーブルデザインも保存する必要があります。

関連する問題