Database design: 3 types of users, separate or one table?を読んだあと、データベースをどのように設計するべきか混乱します。3つのロールを持つデータベース設計
---------------------- 1stデザイン----------------------
USERS
- 名(PK)
- パスワード
- アカウントの種類(管理者、マネージャまたはワーカー)
PRO:I内のログを簡単にあれば取得することができますこのユーザーはAdmin、Manager、Workerです
CON:このデザインを使用して、関係を形成することはできません(1人のマネージャーから多数のワーカー)。
----------------------第2のデザイン----------------------
USERS
- ユーザ名(PK)
- パスワード
ADMINS
- ユーザ名(USERS.usernameにPKとFK)
- パスワード
MANAGERS
- ユーザ名(USERS.usernameにPKとFK)
- パスワード
労働者
- 名(USERS.usernameにPKおよびFK)
- 所有者(MANAGERS.usernameにFK)
- パスワード
PRO:関係
CONを形成することができます。
- ログインすると、 oユーザーがAdmin/Manager/Workerの場合は、表のそれぞれ を検索してください。
- ADMINS、MANAGERS、WORKERSに複数のユーザ名が表示されても、強制するのは難しいです(大事!)
私は良いデザインのために数時間Googleを検索していますが、解決策は見つかりませんでした。私はこの種の要件がかなり共通していると確信していますか?いくつかの洞察力を提供してください!ありがとうございました!
のMySQLやPostgreSQLが必要だと思いますか? – Jasen
私はPostgreSQLを使用していますが、コンセプトは同じでなければなりませんか? – Zanko
はい、すべてのタイプのリレーショナルデータベースで同じでなければなりません。質問全体を読むべきかどうかを判断しようとしていました。 – Jasen