PHP アプリケーションに接続する DB を設計したいと考えています。アプリには、会社と個人の 2 種類のユーザーがいます。記事の追加などの一部の機能は両方で実行されるため、他のテーブルには author_id 列があります。そこで、まずユーザー列を作成することにしました。
それは簡単です: id, username, password, role, active, created
role は、ユーザーが個人か会社かを定義します。
ここで、プロファイル テーブルまたはプロファイル テーブルを追加したいと思います (profile_id
列を追加して前のテーブルと結合します)。
両方の役割には、登録時に必要な異なるフィールドがあります。
最も簡単な方法は、両方の役割に必要なすべてのフィールドを含む 1 つのテーブルを作成し、それらにNULL
値を許可し、PHP アプリ (この場合は Yii Framework で作成) でモデルの各役割の要件を定義することです。
一番いいのは、両方のロールに別々のテーブルを作成することですが、問題は、外部キーを使用してこれら 2 つのテーブルを 1 つのテーブルに接続する方法です。それは可能ですか?外部キーの作成を省略してから、役割に基づいてテーブルを選択し、そのテーブルからprofile_id
.
または、私の問題に対する別の解決策があるかもしれません。
返信ありがとうございます。エイドリアン