Pregunta

Tengo un problema que me parece que no puede resolver. Tengo tabla: Software y la tabla: PC

que ambos tienen muchos a muchos relación entre sí, es decir, un PC puede tener muchos programas y software Uno puede tener muchos de PC la mesa de enlace es: soft-pc

La tabla de soft-PC también ha licencias de información como, las claves de producto.

Ahora el problema es, cuando un programa se elimina de un PC el registro se elimina de la tabla suave-pc. Ahora quiero ser capaz de software no-asociado de PC y aún permitir que todos en la mesa de soft-pc.

¿Es posible?

¿Fue útil?

Solución

Ahora quiero ser capaz de software no-asociado de PC y aún permitir que todos en la mesa de soft-pc.

Este es el núcleo del problema. Por el momento, el predicado relación de la tabla soft-pc - que es, lo que medios para que haya un registro en particular en esta tabla - es que el software en cuestión es en el PC en cuestión. Si ahora se quiere decir que es posible que haya un registro de esta tabla cuando hay no que el software en ese PC, usted va a tener que decidir cuál es el nuevo predicado relación es. Lo que quiere decir:

Lo que hace significa que para que haya un registro en la tabla soft-pc?

Otros consejos

tendrá que eliminar eliminaciones en cascada de la relación, después de eso, dos posibilidades se me ocurren:

  1. Añadir una fecha suprimido para PC suave
  2. Mover el ID de PC a otra columna -. Esto sólo funcionará si la clave única no es PCID + Soft ID

Me inclinaría a ir con # 1.

EDITAR re puesto adicional

Si lo desea, puede tener una tabla de unión con todas las posibles combinaciones de PC-Soft y un código para indicar si el software está instalado, desinstalado, nunca para ser instalado, etc, y una fecha en la que el estado ocurrió. Hay mucho que decir acerca de este enfoque.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top