Sto progettando un database per un'applicazione di gestione dei documenti per il mio ufficio. Voglio ottenere il back-end in modo da non avere problemi in futuro. Fondamentalmente tutti gli utenti saranno categorizzati in ruoli, ad esempio super amministratore, amministratore, personale e stagisti. Tutti i documenti avranno restrizioni di accesso, ad esempio public (tutti i ruoli utente possono visualizzare il documento), privati (solo l'utente che l'ha creato può visualizzare), basati sui ruoli (questo significa che solo gli utenti con gli stessi ruoli possono visualizzare questi documenti). Tuttavia, amministratori e super amministratori possono visualizzare tutti i documenti. Un utente può avere molti documenti. Anche i ruoli degli utenti possono essere aggiornati, ad esempio, da personale ad amministratore, ecc. Utilizzerò Postgres con Sequelize come mio ORM per questo progetto. In base alla descrizione di cui sopra, questo è un buon design? Cosa può essere migliorato? Qualsiasi input sarà apprezzato.