2017-04-18 11 views
0

私はアプリケーション情報を格納するリレーショナルデータベースを設計しています。リレーショナルデータベース、複数マスタの詳細

各アプリケーションには、法人と物理人の異なるタイプの参加者を含めることができます。

法人と物理的人物のフォームは異なり、それぞれのフィールドが異なります。

私はので、私は3つのテーブルを作成、参加者のための共通のPK持ちたい:

  • 参加 - ここで私は、共通の情報を保存します。
  • participants_phys_dtls - ここには物理的な人のフィールドが格納されています。
  • participants_lgl_dtls - ここに法人のフィールドがあります。

私は困難な構造を持っており、参加者の情報を入手することが難しいです。 私は左の結合を使って3つの異なるテーブルに参加しなければなりません。

代わりのソリューションは、これらの3つのテーブルを1つの(参加者)に統一することです。 この解決方法の欠点は、テーブルが大きく、あいまいであることです。

私には、選択する解決策とその理由、またはこの問題の解決策を教えてください。

答えて

1

あなたは3つのテーブルに分割するあなたの質問で言及した最初のアプローチに行く必要があります。これはinsertなど

Thisが正規の良い読み込まれ、離れdeleteupdateなどのさまざまな異常からあなたを保持します。このリンクをクリックすると、正規化がどのように機能し、DBデザインを正規化することができるかがわかります。希望がそれを助ける:)

関連する問題