2017-12-28 78 views
0

私はsqlのテーブル構造を行う最良の方法を知る必要があります。 私は3つのエンティティを持っています。特権、ロール、およびユーザー。ユーザーは複数のロールを持つことができ、ロールは異なる特権を持つことができます。誰も私がSQLのテーブル構造を設計できる最善の方法で私を提案することができます。sqlのテーブル構造

+0

データベースを整理する最良の方法はありません。すべてがあなたの特定のアプリケーションに依存します。何かを試して何が起こるかを見てください。何か問題が生じた場合は、ここで特定の質問をすることができます。 –

答えて

0

Usersテーブルには、Rolesテーブルと多対多の関係があり、RolesテーブルにはPrivilegesテーブルとの多対多の関係が必要です。

これは、関係の両側にのみ外部キーを持つ交差エンティティ(UserRolesおよびRolePrivileges)によって実行できます。私はあなたが(巨大なデータのための)テーブルの下に作成するべきだと思います

+0

多対多の関係では、主に3番目の表が必要です。 –

0

の1-ユーザー

2 - 権限(マスター)

、3-役割(マスター)

今あなたが持っています特権 - ロールとユーザーロールのブリッジテーブルを作成します。

4-ユーザーロールブリッジ(ユーザーのロールの行方向のデータ)

5- RolesPrivilegesBridge(ロールの権限の行単位のデータ)

1

ユーザが複数の役割を有することができ、役割が異なる 権限を有することができます。

私たちは、テーブルの数の特定に関してのみお手伝いできます。 - ユーザーが持つことができます

ユーザー<:他のテーブルの構造は、あなたの上記の文は以下の通りである多くの関係(グラフの関係)に多くのをヒント

アプリケーションに非常に比べ、データベースベンダーなどであるかもしれません多くの役割や役割にも多くのユーザーに関係することができます - >役割

役割< - 役割は、多くのpriviledgesを持つことができ、Priviledgesも多くの役割に関連することができます - >特権

意味的には、以下のような3つのエンティティテーブルと2つのマッピングテーブルがあります。

エンティティテーブル: ユーザー 役割 Priviledge

マッピングテーブル: User_Roles Role_priviledges

**多くの関係に多く、主に第三のテーブルを紹介します。

+0

あなたのコメントが助けになりました。ありがとう.. –

関連する問題