Consulta sobre actualizaciones


([N4] SyP) #1

Tengo una tabla maestra, una submaestra de la primera y una submaestra de la segunda. Mi consulta es: ¿Qué es mejor, actualizar desde la tercera a la segunda y a la primera o actualizar desde la tercera a la segunda y desde la segunda a la primera?

Espero haberme explicado.

Gracias.


([N1] Daniel) #2

Buenas, nunca he trabajado con sub-maestras de sub-maestras, pero creo que lo más eficiente sería que cada una tuviese sus propias actualizaciones. Además, así no tienes por qué tener un enlace e índice a la maestra, desde la sub-maestra segunda.


([N4] SyP) #3

Gracias Daniel por tu comentario. El enlace entre la maestra y la segunda submaestra se crea de por sí, ya que va arrastrando la parte del indice de la primera submaestra.
Lo que más me preocupa es el tema del rendimiento, es decir, si va a penalizar que que se lancen actualizaciones en cascada.


([N3] pacosatu) #4

Hola SyP.

Yo creo que solo tienes la opción de usar Actualizaciones en Cascada ya que una Actualización solo puede actualizar los campos de la tabla enlazada, es decir, desde la tercera tabla solo puedes actualizar campos de la segunda y desde ésta los campos de la primera.

En cuanto al rendimiento, depende de muchos factores que solo tú conoces: número de transacciones por minuto, concurrencia de usuarios, capacidad del servidor del vServer, …

De todas formas tranquilo, si tienes un buen diseño de la base de datos, el rendimiento que te dará Velneo en gestión de la base de datos será uno de tus menores problemas.

Saludos
Paco Satué


([N2] AyudaVelneo) #5

Hola Maestro Satué:

Creo que tu planteamiento es erróneo.

Al ser la primera maestra, la segunda submaestra de la primera y la tercera submaestra de la segunda… está tercera también tiene el enlace a la maestra por lo que se podría actualizar directamente desde la tercera a la primera.

En cualquier caso, dependerá de lo que quieras actualizar y de en qué tabla se encuentren los campos que intervendrán en la actualización.

Recuerda que las actualizaciones se lanzan cuando cambia el valor de los campos que intervienen en ella.

Un saludo


([N4] SyP) #6

Gracias por las respuestas.

Efectivamente el planteamiento correcto es el que indica AyudaVelneo.

En cuanto a transacciones, no habrá muchas por minuto. Son órdenes de fabricación (maestra) con líneas de órdenes (submaestra) y la tercera en juego son los consumos de material y tiempo. La idea es ir registrando esos consumos y se actualizan en las líneas de ordenes y en la orden en si


([N3] pacosatu) #7

Hola Vila.

Sí es verdad, no me había dado cuenta que estábamos hablando de tablas submaestras made in Velneo.
Yo había planteado las actualizaciones en cascada usando unicamente tablas maestras de clave única ID.

Entiendo que una Actualización desde la segunda tabla hacia la primera es posible porque tenemos su ID único.
Lo que me resulta curioso es cómo se actualiza desde la tercera tabla a la segunda porque solo podemos indicar un campo puntero de enlace a la segunda tabla y deberíamos de indicar 2 campos (enlace a la segunda y enlace a la primera).
Debe ser que Velneo de forma implícita añade el enlace a la primera tabla cuando indicamos solo el enlace a la segunda.

Es algo que no me había planteado hasta ahora y realmente es muy potente -> submaestras en cascada con la posibilidad de con una sola actualización en el último Nivel poder actualizar campos de cualquier Tabla de la cadena.

Otro descubrimiento no documentado que ve la luz gracias al foro.

Saludos y gracias a los dos.
Paco Satué


([N4] Infortic) #8

Hola.

Sobre actualizadores se puede hacer de las dos formas.

Yo prefiero la actualización “en cascada”, ya que conceptualmente se acerca más al modelo de datos, aunque probablemente sea algo más ineficiente.

Algo que hay que tener en cuenta y con lo que hay que tener cuidado al diseñar las actualizaciones es procurar que las actualizaciones vengan todas desde la misma tabla (si es posible).

Esto lo digo porque ya me han pasado temas desagradables con ese tema.

Si varios actualizadores modifican un registro desde distintos sitios en la misma transacción, puede que alguno de ellos no se ejecute por tener el registro bloqueado, y lo pero es que no da error ni nada, simplemente no actualiza.

Este tema personalmente me parece absurdo, debería dar un error de ficha bloqueada o lo que sea, pero no ejecutar la actualización y quedarse tan ancho, es… acojonante.


([N4] SyP) #9

Muchas gracias a todos por vuestros comentarios.
Al final lo he montado con actualizaciones en cascada y vigilaré lo que comenta Infortic sobre que un campo esté actualizado desde varias tablas.
Si veo algo raro ya os informaré.