Actualmente estoy trabajando en una reingeniería de sistema de iguales características al que vos planteas.
Te cuento como esta hecho:
- Tenes una tabla principal, ponele Equipamientos
- Varias tablas relacionadas muchos a muchos (Monitores, CDs, Teclados, Mouses, CPUs)
- A su vez, CPUs tiene relacion de Muchos a Muchos con tablas como Memoría, Discos, Placas de Red, Etc.
En estas tablas de movimiento o relacionales, tenés un campo
estado, que muestra cual es el equipamiento que actualmente esta instalado, los otros son histórico. Ademas tenes
fecha de alta y
fecha de baja, junto a la
razón de esta baja.
¿Se entiende?, si no es así, avisame por privado, y te mando una captura del DER, o un Diagrama UML
PD: Te comento que es bastante complicado de hacer, y si no lo hacés de una manera clara, realmente muy dificil de mantener o agregarle funcionabilidad (
lo que yo estoy haciendo actualmente), ya que es mucho código repetido a lo largo del programa.