Bases de Datos - Ayuda con diseño tabla

 
Vista:

Ayuda con diseño tabla

Publicado por Juan Carlos (2 intervenciones) el 30/06/2022 03:47:09
Buen dia.

Tengo las siguentes tablas.

La tabla 1 contiene informacion de equipo de computo de la empresa y la Tabla 2 contiene el personal de la empresa.


Entre otras cosas, la tabla 1 lleva el campo "PersResponsable" que se refiere al responsable o usuario del equipo
y el campo "PersRealizaMtto" se refiere a la persona que es respondable de realizar el Mantenimiento preventivo cada cierto tiempo. Pero "PersResponsable" y "PersRealizaMtto" hacen referencia al campo "NumePersona" de la tabla 2.

El hecho de tener dos campos en un a tabla que hacen referencia al mismo campo de otra table es válido o hay algún inconveniente?

O es mejor crear otra tabla que contenga los campos "Num_equipo" y "PersRealizaMtto" que hagan referencia a los campos de la tabla 1 y 2 respectivamente


Tabla1 (Equipos empresa)
Num_equipo
PersResponsable
.
.
.
PersRealizaMtto




Tabla 2. (Personal Empresa)

NumePersona
ApeMaterno
ApePaterno
Nombre
...
...
...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder

Ayuda con diseño tabla

Publicado por Martha (87 intervenciones) el 03/07/2022 17:54:26
En la tabla 2 imagino que tendrás algún campo en el que se haga referencia a "cargo", "ocupación" o similar.
En la tabla 1 deberías tener alguna restricción en el campo PersRealizaMtto, que te impida que cualquiera pueda ser el rresponsable de mantenimiento de un equipo.
Dependiendo del SGBD que uses, la restricción la podrás aplicar en uno o en otro sitio.
En MS Access, por ejemplo, lo podrás hacer en el formulario a través de un desplegable.
En un MySQL siempre podrás crear un procedimiento almacenado que te devuelva un error si introduces un ID no apropiado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con diseño tabla

Publicado por anonimo (3 intervenciones) el 15/07/2022 22:20:21
No hay que dar muchas vueltas para darse cuenta que estás frente a una relación de tipo M:M

Donde un PC puede ser reparado por diferentes personas en tiempos igualmente diferentes, es decir mucho personal puede efectuar muchos mantenimientos, es apenas obvio que se requiere una tabla intermedia que normalice dicha relación y que desde luego se debe "robar" las claves de quienes la conforman, valga decir el Num_equipo y PersResponsable y que ambas conformarían un PK en esa intermedia que no se repite por lo menos en la misma fecha, yo reparo el PC hoy una sola vez, que bien puede volver a repararse en otra fecha, es perfectamente válido, pero siempre en fechas diferentes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar