0

こんにちは、cakephp で小さなアプリを開発しています。ユーザーログインにAuthコンポーネントを使用しています。

各ユーザーにはプロファイルがあります。各ユーザーは、「管理者」、「スターター」、または「プロ」のいずれかの役割になります。

users テーブルと user_roles テーブルがあります。

プロファイルの場合、別のテーブル「プロファイル」を作成する必要がありますか、またはユーザーテーブルにフィールドを作成するだけですか? どのクエリがより速く動作しますか? 2 つのテーブルまたは 1 つのテーブル

また、user_roles テーブルが本当に必要なのか、それともユーザー フォーム コードの追加でロールを割り当てることができるのか? ユーザーテーブルに外国語キーを持つハードコードまたはデータベース内?

アドバイスをいただければ幸いです。

ありがとうございました。

4

2 に答える 2

2

プロファイルについては、同じユーザーが異なるプロファイルを作成できる場合は、別のテーブルを作成する必要があります。それ以外の場合は、それらを 1 つのテーブルにまとめてください。別のテーブルに配置した方が整理されているように見えますが、必須ではありません。

user_roles の場合、ユーザーが複数のロールを持つことができる場合は、それらを異なるテーブルに配置します。それ以外の場合は、同じテーブルに配置できます。

単一のテーブルは、複数のテーブルよりもわずかに高速です。

于 2013-08-03T16:29:01.137 に答える
1

ユーザーに複数のロール/プロファイルを持たせたい場合は、それらを識別するための 2 つ目のテーブルが必要です。

ユーザーごとに 1 つのロールのみを付与することが確実にわかっている場合は、2 つ目のテーブルを作成できますが、ユーザーのテーブルの別の列でそれを行いたい場合があります。

于 2013-08-03T16:30:29.783 に答える