ユーザーテーブルとロールテーブルを持つデータベースモデルがあります。最大10の異なる要素へのアクセス(権利)を制御したい。アクセスは、ロールまたは単一のユーザーに付与できます。以下は、ユーザー、ロール、およびアイテムのテーブル定義です。
CREATE TABLE users
(
id serial NOT NULL PRIMARY KEY,
username character varying UNIQUE,
password character varying,
first_name character varying,
last_name character varying,
...
);
CREATE TABLE roles
(
id serial NOT NULL PRIMARY KEY,
name character varying NOT NULL,
description character varying,
...
);
CREATE TABLE element_1
(
id serial NOT NULL PRIMARY KEY,
name character varying NOT NULL,
description character varying,
...
);
...
今、私は権利を設計する2つの異なる方法を持っています。権利タイプの列を持つ1つのテーブルまたは10個の権利テーブル-アクセスを制御する要素ごとに1つ。
要素ごとに1つの権利テーブルと1つの権利テーブルの長所と短所は何ですか?-またはこれを行うにはより適切な方法ですか?