私はさまざまな種類の俳優を持っています:
- 両親;
- 子会社;
- 保険会社;
- ブローカー;
アクターごとに、個人アカウントとユーザー ロールを持つユーザーが存在します。
アドレスとその他の (外部キーを含むエンティティ固有の) 情報をテーブルに登録する必要があります。これは、1 つの "actor_tbl" を定義し、id でアクターのタイプを指定することで実行できます。
ただし、4 つのタイプのアクターには相互関係があります。つまり、1 つの親が複数の子会社を持つことができ、1 つの保険会社が複数の子会社を持つことができ、1 つのブローカーが複数の親を持つことができます。
この観点から、アクター タイプごとに個別のテーブルを作成し、適切な組み合わせを作成するために多対多の関係を作成する方が理にかなっています。また、一般的な読みやすさを向上させ、エラーの可能性を減らす可能性があると考えています (すべてのエンティティは互いに明確に分離されます)。
ただし、そうすると、同様の特性を持つすべてのエンティティを 1 つのテーブルに格納するという原則がなくなります。
この問題をどのように受け止めますか?この構造を実装するための最も推奨される方法は何ですか?