Estoy trabajando en un proyecto donde hay varios tipos de usuarios (estudiantes y profesores). Actualmente para almacenar la información del usuario, se usan dos tablas. La tabla users
almacena la información que todos los usuarios tienen en común. La tabla teachers
almacena información que solo los maestros tienen con una clave externa que la relaciona con la tabla users
.Agregando nuevos campos vs creando una tabla separada
users
mesa
- id
- nombre
- correo electrónico
- 34 otros campos
teachers
mesa
- Identificación
- user_id
- sujetas otros
- 17 campos
En el resto de la base de datos, no hay referencias a teachers.id
. Todas las demás tablas que necesitan relacionarse con un usuario usan users.id
. Dado que un usuario solo tendrá una entrada correspondiente en la tabla de profesores, ¿debería mover los campos de la tabla de profesores a la tabla de usuarios y dejarlos en blanco para los usuarios que no son profesores?
p. Ej.
users
- id
- nombre
- correo electrónico
- sujetos
- 51 otros campos
Es esto demasiado muchos campos de una tabla? ¿Esto impedirá el rendimiento?
55 campos en una tabla parece un poco excesivo. Es posible que desee considerar una tabla UserDetail para almacenar la información que solo se usa con moderación y mantener la información recuperada más a menudo en la tabla Usuarios. –