Crea base datos y login

J

Buenas estoy haciendo una aplicación para repasar conceptos que tengo un poco olvidados y me ha surgido una duda.

Yo tengo un login por el que pueden entrar alumnos y maestros, mi pregunta es ¿debería hacer una tabla usuarios y meter los alumnos y profesores en ella con un campo que me diferencie unos de otros? o ¿debería hacerlo en dos tablas por separado? o ¿alguna otra opción que no este contemplando?.

Mi duda viene de que los alumnos tienen tres campos mas que los maestros(que serian la mitad de campos de la tabla, el resto serian los mismos campos), entonces estos campos estarían vacíos en la tabla para los maestros o quizás debería hacer dos tablas una alumnos y otros profesores y hacer dos consultas en el logeo a las dos tablas.

1 comentario moderado
brew

Deberias hacer una tabla persona o usuario que guarde la informacion que tengan en comun (pass, nombre etc ) . Y luego otra de alumnos y otra de maestros que apunten a la primera tabla.

1 respuesta
J

#3 la informacion que tienen en comun son solo el nombre de usuario, la pass y el email, ademas el alumno tendria 3 campos mas.¿Que hago entonces creo una tabla usuarios y otra alumno con los datos que solo son del alumno? ¿o como lo hago?Gracias por ayudarme

2 respuestas
wdaoajw

#4 PK y FK son tus amigas

2 respuestas
brew

#4 si, justo eso. Es la base de bbdd como dice #5

De todas formas cuando lo tengas pon el modelo a ver como te ha quedado.

J

#5 Si lo que no tengo claro es si hacerlo en una o varias tablas, el tema de pk y fk se como funciona.

trisicha

A ver lo que tu tienes es una herencia, la forma de almacenar los datos.. realmente no están mal de ninguna de las formas ya que va a depender en gran medida de las consultas que vayas a realizar en tu aplicación. Yo lo que haría, si son uno o dos campos solo los que cambia, crear solo una tabla puesto que es más eficiente a la hora de insertar los datos y consultarlos (ya que sacamos los datos de una tabla y no de dos o tres) pero tienes que contemplar que tal vez más adelante se vayan añadiendo datos específicos para cada clase, o que almacenes más clases, como por ej personal de limpieza o substitutos, en ese caso lo mejor seria hacer una tabla persona con un idPersona y otra tabla para cada tipo concreto cuya clave foránea sea ese idPersona, es más cañazo para consultar todos los datos.. pero para solventarlo siempre te puedes crear vistas en la BBDD :)

7 días después
X-Crim

Gran trabajo de la moderación

2 respuestas
pineda

#9 :popcorn::popcorn:

pillo sitio

eXtreM3

#9 xdddddddddd sufre

1 respuesta
X-Crim

#11 que malafolla tienes

1

Usuarios habituales