ここで説明されているように、クラステーブルの継承スキーマを作成することを検討しています: http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server
しかし、これを望む私の理由は、ほとんどの人が求めているものとは異なるようです. ほとんどの人は、異なる型に共通する列を共有するためにこのパターンを使用します。たとえば、FirstName列をEmployeeテーブルとCustomerテーブルの両方で複製するのではなく、共通のPersonテーブルに配置します。
しかし、私の場合、実際にはキー以外の共有列はありません。外部キーとして参照できるように、各子テーブルで共通キーを使用したいだけです。たとえば、各人に 1 つ以上の電話番号を持たせたい場合、共通のPersonテーブルの ID を参照するPhoneNumberテーブルを作成するだけで済みます。EmployeePhoneNumberテーブルとCustomerPhoneNumberテーブルを別々にしたくありません。
(キーを除いて) 共有列がない場合、クラス テーブルの継承は使用する正しいパターンですか? または、私が必要とするものをより良くする別のパターンがありますか?
[編集]
もう少しグーグルした後、ポリモーフィックアソシエーションは私が望むものの適切な用語であり、多くの場合、この方法で実装されているようです。誰かがこれについて何か言いたいことがある場合に備えて、この質問はもう少し開いたままにします.