Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/01/2010, 12:36
Punchi
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 20 años
Puntos: 1
Respuesta: Problema técnico conceptual

Gracias gnzsoloyo,

Esto es para un software para administración de obras, para prevencionistas. Un trabajador siempre esta en una obra, pero una obra puede no tener trabajadores, a un trabajador le ocurren "Suceso" (accidentes, enfermedades) pero no "Incidentes", que vendria siendo un tipo de "Suceso" (en este caso, "D")

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Hay algunas cosas que no me convencen:
- Un trabajador es, en tu contexto, una entidad fuerte, por lo que existe por sí mismo.
Si, "Trabajador" es una entidad fuerte.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
- Pero el trabajador ¿trabaja en la obra independientemente de si el "suceso" ocurra o no? i
Si es así, lo que tienes es una relación N:N entre Trabajador y Obra, y entre Trabajador, Obra y Suceso.
En el primer caso tienes una relación que contiene los datos de ambos, y que generará una tabla y en el tercero una entidad que contiene la relación entre los tres. Pero son independientes.
El "Trabajador" efectivamente trabaja independientemente si tiene o no "Suceso", pero no es una relacion N:N entre "Trabajador" y "Obra", puesto el que trabajador puede estar sólo en 1 obra a la vez.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
- No queda claro si la diferencia entre "sucesos" es una categorización, o existen atributos diferenciales (más de uno).
En el primer caso, es una sola entidad, con los mismos atributos y los sucesos son instancias, por lo que no corresponde usar herencia.
En el segundo caso si, diferenciando en la herencia un conjunto de más de un atributo que los distinga. Reclalco lo de más de un atributo de diferencia, porque si es uno sólo (al decir de un profesor mío) se trata de una cuestión de dominio del atributo y no de herencia.
Los "Suceso" comparten fechas de ocurrencia por ejemplo, pero no todos tienen las mismas caracteristicas. La herencia esta bien utilizada, de eso no hay duda.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Simplificando, a nivel de tablas
Obra, Trabajador y Suceso los consideraría tablas primarias.
Obra_Trabajador, es la relación entre ambos
Obra_Trabajador_Suceso sería la tabla que relaciona los tres, ya que un suceso debería suceder en una obra y a un trabajador en un momento determinado. Pero ese mismo suceso podría ocurrirle al mismo trabajador en la misma obra o en otra en otro momento.
Esto último es una suposición, ya que no has definido qué es un "suceso"...
- Efectivo, Obra, Trabajador y Suceso son tablas primarias.
- Como anteriormente explicaba, Obra_Trabajador no tendría que existir.
- Si hago una entidad Obra_Trabajador_Suceso, habría redundancia de datos, ya que con "Suceso"-"Trabajador" puedo identificar los sucesos en una obra y con "Trabajador"-"Obra", quien es el afectado. Sólo sería util para identificar las entidades "D" que no se relacionan con los trabajadores, pero para ello ofrecí 2 posibles soluciones y esa era mi pregunta, ¿una relacion entre 'OBRA' y 'SUCESO'? o ¿una relacion entre 'OBRA' y 'D'?

Ojalá haya quedado más claro, gracias por tu tiempo.