0

私は現在、2 つのテーブルを関連付けようとすると問題が発生する作業に取り組んでおり、そのうちの 1 つは一般化によるサブクラスです。

テーブル A には staffID の主キーがあり、これを一般化されたテーブル (テーブル B) の外部キーに関連付けたいと考えています。テーブル B のスーパー クラス (テーブル C) には staffID フィールドがあるため、一般化ではこれをテーブル C からテーブル B に運ぶ必要があります。

ただし、ダイアグラム ビューを使用して FK リレーションシップを設定する場合、ドロップ ダウン フィールドを見ると、テーブル B の属性のみが表示され、スーパー クラス (テーブル C) の属性は表示されないため、staffID は表示されません。

状況をより詳しく説明すると、スタッフには 2 つのタイプがあります。一方は汎化のすべてのテーブルでデータを作成できるため、staffID によってスーパー クラスに直接リンクされますが、もう一方のタイプのスタッフはいずれかのテーブルにのみデータを追加できます。サブクラス。

               Super Class C
                 (staffID)

Sub Class D                     Sub Class B(FK) ----------- table A (PK)
                                                              (staffID)

前もって感謝します

4

1 に答える 1

0

あなたの質問を理解できるかわかりません。ただし、外部キー参照BからCに設定するには、列C.staffIDが主キーであるか、UNIQUE制約が必要です。

このSOの答えは、あなたにいくつかの有用なガイダンスを与えるかもしれません。

于 2012-12-20T14:37:10.783 に答える