質問: 以下のスキーマを使用して、ドキュメントに含まれる役割を持っている場合、ドキュメントをサインオフしていないユーザーのリストを取得するにはどうすればよいですか?
バックグラウンド:
ユーザーテーブルがあります。ユーザーには役割があります。それは簡単なセットアップです:
Role table: Role_ID | Name
User table: User_ID | Name
Users_Roles table: User_ID | Role_ID
次に、Documents テーブルを追加する必要があります。
Documents table: Document_ID | Name
ユーザーがドキュメントをいつサインオフしたかを知る必要があります。
Documents_Users table: User_ID | Document_ID
ここまではかなり単純です。
しかし、今では難しくなっています。ドキュメントに制限を追加する必要があるため、ドキュメントを複数のロールに割り当てることができます。
つまり、Document_ID 1 は Role_ID (3,4,5) 用です。
する必要があると思います
Documents_Roles table: Role_ID | Document_ID
しかし、ここに私が知らない難しい部分があります: 上記のスキーマを使用して、ドキュメントに含まれるロールを持っている場合、ドキュメントをサインオフしていないユーザーのリストを取得するにはどうすればよいですか?