I am modelling a database for an application I am developing and I am in front of choices for which I would like to know what the best practices are.
Let's say I have a Documents table and a Users Table. Users can be related to documents different ways: be the owner/creator, a document can be about a user but invisible to the user, or a document can have been made visible to a user.
I could model a Many-to-Many relationship with a table containing a DocId field, a UserId field, and a Status (Owner, Visible, or Invisible). The good thing about modelling things this way is that everything I…