0

PHP アプリケーションに接続する DB を設計したいと考えています。アプリには、会社と個人の 2 種類のユーザーがいます。記事の追加などの一部の機能は両方で実行されるため、他のテーブルには author_id 列があります。そこで、まずユーザー列を作成することにしました。

それは簡単です: id, username, password, role, active, createdrole は、ユーザーが個人か会社かを定義します。

ここで、プロファイル テーブルまたはプロファイル テーブルを追加したいと思います (profile_id列を追加して前のテーブルと結合します)。

両方の役割には、登録時に必要な異なるフィールドがあります。

最も簡単な方法は、両方の役割に必要なすべてのフィールドを含む 1 つのテーブルを作成し、それらにNULL値を許可し、PHP アプリ (この場合は Yii Framework で作成) でモデルの各役割の要件を定義することです。

一番いいのは、両方のロールに別々のテーブルを作成することですが、問題は、外部キーを使用してこれら 2 つのテーブルを 1 つのテーブルに接続する方法です。それは可能ですか?外部キーの作成を省略してから、役割に基づいてテーブルを選択し、そのテーブルからprofile_id.

または、私の問題に対する別の解決策があるかもしれません。

返信ありがとうございます。エイドリアン

4

2 に答える 2

0

特定の権限を持つグループにユーザーを割り当てるには、ページとデータベースの間に仲介者が必要です。これは通常、ユーザー グループ ロールの設計で実現されます。

于 2013-10-05T12:38:44.780 に答える
0

ユーザーのシステム情報 (username , pass ...) 用のテーブルと、ユーザー プロファイル (firstname , birthday ...) 用のテーブル、およびグループ (superuser , ...) 用のテーブルを持つことができます。

user テーブルには複数のグループを含めることができます: user:one->group:many

ユーザーは 1 つのプロファイルを持つことができます user:one->profile:one

これはまともな解決策だと思います。

于 2013-10-05T13:16:04.887 に答える