sql >> Base de Datos >  >> RDS >> Mysql

Diseño de base de datos:3 tipos de usuarios, ¿separados o en una tabla?

Lo que debe tener en cuenta al diseñar tablas no es necesariamente a qué tendrán acceso y en qué se parece o se diferencia, sino en qué se parecen o se diferencian los niveles de los usuarios.

Por ejemplo, si los tipos de usuario tendrán los mismos atributos (nombre, correo electrónico, fecha de nacimiento, etc.), entonces pertenecen a una tabla junto con una columna que indica su nivel de privilegio.

Esto también facilita el cambio de niveles de privilegios para un usuario, por lo que puede convertir a un empleado común en un administrador, por ejemplo, simplemente actualizando el registro en la tabla de usuarios.

Si los proveedores son un tipo de objeto diferente con atributos diferentes a los otros dos, los proveedores pueden pertenecer a su propia tabla.

O, una cosa más a considerar:puede usar un users tabla que contiene solo información muy limitada sobre los usuarios de los tres tipos, y si los tipos tienen atributos extendidos que no se relacionan bien entre sí, puede almacenarlos en otras tablas con una clave externa para los users mesa.