0

私は、ユーザー ロールが少ない 1 つのポータルに取り組んでいます。私はそれらを処理する最善の方法は何だろうと考えてきました。ユーザーとクライアント用に別々のテーブルを作成しましたが、ユーザーとユーザーも簡単にクライアントになることができるため、クライアントは機能を必要とします。

私も多くの関節を作りたくないので、私が考えているのはこれです:

次のように、(少なくとも現時点では) 4 つの異なるユーザー ロールを使用します。

user
client
reviewer
admin

各役割に「id」を割り当てます。同時に、これらのロールでテーブルを mysql に保持します。次のようになります。

1 - admin
2 - reviewer
3 - client
4 - user

このテーブルは、ユーザーの「権限」のコードを取得するために、ユーザーの作成時にのみ使用されます。では、ユーザー兼レビュー担当者がいるとしましょう。彼の役割は24になります。

login  password  email role     created
----------------------------------------------------------
guy    password  guy@gmail.com  24 2012-12-08 23:12:30

これはかなりうまくいくと思いますが、これが効果的で効果的な解決策であると思うかどうかを尋ねたいと思います. ありがとう

4

2 に答える 2

1

これを行うもう1つの方法は、多対多のUSER_ROLEテーブルを用意することです。ここでは、例の男が次の全体を持つことになります。

login role
guy   2
guy   4

私は通常、役割を追跡するこの方法を好みます。このような状況でのこのテーブルへの結合は、特にログインの代わりに user_id を使用するように移行し、適切にインデックスを作成する場合は、高速かつ簡単に実行できます。

于 2012-08-26T03:15:45.600 に答える