2

この状況を打破するにはどうしたらよいか、考えてみました。これはデータベース構造の問題です... ケースを見てみましょう。

同じ構造を持つデータベースがいくつかあります (db_A、db_B、db_C としましょう)。もちろん、構造は同じですが、データは異なります。

パーミッション (db_permissions) を持つ別のデータベースと、ユーザー (db_users) を持つ別のデータベースがあります。

db_permissions 構造テーブルはID、permissionです。ここで、許可は一意の文字列識別子 ( post:createなど) です。

現在、各テーブルに対して異なる権限を持つユーザーがいます。例:ユーザー 123は、 db_A に投稿を書き込む権限、 db_B の投稿を読み取る権限、 db_Cの投稿を読み取り、書き込み、削除する権限を持ちます。

私の質問は、各テーブルのアクセス許可をどのように参照すればよいですか?

  • 一意の文字列識別子(post:create、post:read など) を参照して、これを各データベース権限 ( user_id - permission_stringなど) に直接追加しますか?

  • それとも、パーミッションデータベースの ID プライマリ キー( user_id - permission_idなど) でそれらを参照しますか?

私の PHP スクリプトでは、アクセス許可を確認するときに、一意の文字列識別子で確認します。

あなたは何をお勧めします?アクセス許可に別の構造を使用しますか?

お時間とご回答ありがとうございます。

4

2 に答える 2

0

パフォーマンスを維持したい場合は、インデックス/参照は常に整数型にする必要があります

于 2013-08-31T21:28:23.853 に答える