0

Teachers、Student、ViewTypeの3つのテーブルがあります

table Teachers{
  Id uniqueidentifier, 
  Name nvarchar
}


table Student{
  Id uniqueidentifier, 
  Name nvarchar
}


table ViewType{
  Id uniqueidentifier, 
  Type String
}

注: 例として、ViewType が通常のルックアップ テーブルではないとしましょう。
Teacher または Student を UI に表示する方法のデータが含まれているため、Teacher または Studenttable モデルに含めることはできません。

キーが 2 つのテーブルからのみ適用される 2 つのテーブルへの外部キーを作成する方法はありますか? ありがとう。

4

1 に答える 1

1

宣言的参照整合性制約ではありません。

トリガーを使用してこれを実装する必要があります。3 つのテーブルすべてでそれらが必要になります ( insert+ updateon ViewTypedelete+ updateon その他)。

制約を別の方法で配置できます。

alter table Student add constraint FK foreign key (Id) references ViewType (Id)
alter table Teachers add constraint FK foreign key (Id) references ViewType (Id)

これは完璧ではありません (学生と教師が同じ ID を参照することになる可能性があり、対処する必要があります) が、おそらく最善の方法です。

于 2013-04-08T09:13:53.993 に答える