Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda con respecto a tablas mysql

Estas en el tema de Duda con respecto a tablas mysql en el foro de Mysql en Foros del Web. Buenos días cordial saludo: el día de hoy quiero pedirles el favor si me pueden dar una pequeña orientación con un diseño de unas tablas ...
  #1 (permalink)  
Antiguo 17/12/2015, 08:35
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 10 meses
Puntos: 1
Duda con respecto a tablas mysql

Buenos días cordial saludo:

el día de hoy quiero pedirles el favor si me pueden dar una pequeña orientación con un diseño de unas tablas que necesito:

tengo las siguientes tablas:
empleado
roles
jefes
empleado_jefes
registro_empleado

mas o menos la he relacionado así:
un empleado debe tener un rol y un rol lo debe tener un empleado.
un empleado puede tener uno o muchos jefes y un jefe puede tener uno o muchos empleados.

mi inquietud es en la tabla registro_empleado?

como hago yo para que cuando inserte un registro en la tabla registro_empleado se vaya con su correspondiente jefe teniendo en cuenta que puede tener varios jefes?

cosa que yo mas adelante haga una consulta en esa tabla como jefe y vea solo los registros de mis empleados y no los de los otros empleados que corresponden a otros jefes.

espero me haya hecho entender muchas gracias
  #2 (permalink)  
Antiguo 17/12/2015, 09:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con respecto a tablas mysql

Cita:
un empleado puede tener uno o muchos jefes y un jefe puede tener uno o muchos empleados.
En ninguna estructura de ninguna emrpesa puede suceder eso . Un empleado siempre tiene UN UNICO jefe. Lo que puede suceder es que haya una jerarquía, y ese jefe a su vez tenga otro jefe.
Pero esas relaciones transitivas son simplemente relaciones 1:N, usualmente administradas en la misma tabla, donde un campo del registro apunta al ID del jefe. El jefe que tiene ese campo en NULL, es el supremo.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/12/2015, 09:08
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Duda con respecto a tablas mysql

muchas gracias por responder; es decir borro la tabla empleados_jefes
y cuando yo ingrese ahora si un registro se ira con un solo id de un jefe?

gracias de nuevo.
  #4 (permalink)  
Antiguo 17/12/2015, 09:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con respecto a tablas mysql

Exacto.
Para obtener la cadena de mandos completa hay que hacer JOIN de esa tabla consigo misma.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/12/2015, 09:24
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Duda con respecto a tablas mysql

hola gnzsoloyo que pena ser tan intenso pero la verdad es que estoy un poquito preocupado; porque necesito esto para un trabajo, y ahora que mencionas un join consigo mismo me enrede un poco.
podrias facilitarme un ejemplo para entender un poco mejor.

es que sabes cual es mi duda porque por ejemplo cuando yo vaya a ingresar un empleado "razo" pues ahi no hay problema por que le pongo un id de alguno de los jefes que haya en la tabla jefes; pero por ejemplo cuando vaya a ingresar un jefe que id le pongo?

gracias.

Etiquetas: registro, registros, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:39.