Rappresenta meglio le autorizzazioni utente nella tabella utente o meglio nella propria tabella delle autorizzazioni?Un modo migliore per rappresentare i ruoli utente nel database
Permesso del tavolo per l'utente
Mettere i permessi nella tabella utente significa fare una colonna per ogni autorizzazione nella tabella user. Un vantaggio è che le query dovrebbero essere eseguite più velocemente perché non sono necessari join quando si collegano gli utenti alle autorizzazioni degli utenti. Uno svantaggio è che con molte autorizzazioni le colonne ingombrano la tabella utente.
Permesso tabella di autorizzazione unito al tavolo d'uso con molti-a-molti
Facendo in questo modo separa nettamente le autorizzazioni dalla tabella utenti, ma richiede un join tra due tabelle per accedere autorizzazioni utente. L'accesso al database potrebbe essere più lento, ma il design del database sembra più pulito.
Forse mantenendo autorizzazioni in una tabella separata è meglio quando ci sono molti permessi. Quali sono le altre considerazioni nel prendere questa decisione e quale design è migliore in varie situazioni?
Questa è una risposta valida per un'applicazione più complessa.Come nota @Nurkeiwicz, una semplice applicazione potrebbe non avere nemmeno bisogno di una tabella dei rulli o di una tabella delle autorizzazioni. – steampowered
bel diagramma, quale strumento hai usato? – dangerousdave
@dangerousdave - Ci scusiamo per la risposta ritardata, sono stato fuori città. Uso Visio con forme intelligenti personalizzate che ho creato per utilizzare la convenzione visiva ERD di James Martin e un motivo di linea personalizzato che conferisce un aspetto disegnato a mano. –