/ /外部キーへの2つの主キー参照-sql、database、oracle、foreign-keys、foreign-key-relationship

外部キーへの2つの主キー参照 - SQL、データベース、Oracle、外部キー、外部キー関係

私たちのデータベースシステムには、学生と人事分野。それらにはPersonnelCardIdとStudentCardIdがあり、主キーにしました。次に、cardIDを保持する支払いデバイスがあり、それが外部キーであることを宣言しました。その場合、行を挿入できませんでした。調査の結果、2つの主キーを外部キーに参照できないことがわかりました。では、どうすればこの状況を修正できますか?ありがとう。

回答:

回答№1は5

あなたが述べたように、外部キーは2つの異なるテーブルを同時に参照することはできません。現在のスキーマでは、 cardID 外部キーはどちらかを参照することしかできません PersonnelCardId または StudentCardId...

私が正しく理解していれば、スキーマは次のようになります。

PersonnelCard
----------------
PersonnelCardID - PK
PersonnelCardFields


StudentCard
----------------
StudentCardID - PK
StudentCardFields


PaymentDevice
----------------
PaymentDeviceID - PK
CardID - FK

これを解決するには、を組み合わせる方法を見つける必要があります PersonnelCard そして StudentCard テーブル...

Card
----------------
CardID - PK
CardType - (Personnel or Student)
CardFields

上のFK PaymentDevice テーブルは新しいPKを参照できるようになりました Card 表。