Vistas Materializadas en ORACLE

Os paso una serie de notas traducidas del libro “Troubleshooting Oracle Performance” de Christian Antognini, libro muy, muy recomendable

Una vista es una tabla virtual basada en un juego de resultados devuelto por una query especificada en el momento de creación de la vista. Cada vez que se accede a la vista se ejecuta la query. Para evitar que la query se ejecute en cada acceso, el resultado de la query se almacena en una vista materializada. En otras palabras, las vistas materializadas simplemente transforman y duplican los que están almacenados en otro lugar.

Las vistas materializadas también se utilizan en ambientes distribuidos, para repicar los datos entre diferentes bases de datos. Pero esta funcionalidad no la veremos en este post.

¿Cuándo usar stateless, stateful o singleton en un bean de sesión?

Los beans de sesión se mantienen a lo largo de la sesión del cliente con la finalidad de dar representar flujo de trabajo, estado de aplicación, lógica y utilidades de empresa. No obstante, no es persistente, puesto que los datos no se almacenan en un repositorio y por tanto, los datos de la sesión no sobreviviría a una caída del servidor, por ejemplo.

Cómo hacer una aplicación que soporte precios con decimales sin errores

Hace algunos días comentaba, en un artículo muy básico, cuáles eran las operaciones matemáticas o fórmulas para sacar y extraer el IVA de los importes. Sin embargo, manipular decimales, cuando se trata de precios, requiere seguir una serie de pautas muy importantes si no queremos encontrarnos con situaciones como la de la imagen.

Y no me refiero a usar simplemente el tipo de datos apropiado, sino a como gestionar los precios y manipularlos durante todo el flujo de la aplicación si queremos que estos sean coherentes durante todo su ciclo de vida: alta de productos, compras, descuentos, impuestos, etc.

La visión del artículo es funcional: hay poco código, pocos tecnicismos y muchas recomendaciones de negocio, principalmente. Si quieres literatura técnica, puedes ir directamente al final, donde hay algunos buenos enlaces y un FAQ propio. Mi idea no es ser un experto en coma flotante, si no cómo hacer una aplicación donde se trabaja con precios de una manera robusta y a prueba de errores de cálculo.