8
データベースで継承をどのように表すことができますか?
SQL Serverデータベースで複雑な構造を表現する方法について考えています。 オブジェクトのファミリの詳細を格納する必要があるアプリケーションを考えてみてください。これらのオブジェクトは、いくつかの属性を共有しますが、他の多くの属性は一般的ではありません。たとえば、商業保険パッケージには、同じ保険証券レコード内の負債、モーター、財産、および補償の補償が含まれる場合があります。 セクションのコレクションでポリシーを作成できるため、C#などでこれを実装するのは簡単です。セクションは、さまざまなタイプのカバーに必要に応じて継承されます。ただし、リレーショナルデータベースでは、これを簡単に行うことができないようです。 主に2つの選択肢があることがわかります。 Policyテーブルを作成し、次にSectionsテーブルを作成します。可能なすべてのバリエーションについて、すべてのフィールドが必須であり、ほとんどがnullになります。 カバーの種類ごとに1つずつ、ポリシーテーブルと多数のセクションテーブルを作成します。 特に、すべてのセクションにまたがるクエリを記述する必要があるため、これらの方法はどちらも不十分であるように見えます。 このシナリオのベストプラクティスは何ですか?