Chapter 39. El sistema de reglas

Table of Contents

39.1. El árbol de consulta
39.2. Vistas y el sistema de reglas
39.2.1. Cómo funcionan las reglas SELECT
39.2.2. Reglas de vistas en sentencias que no son de tipo SELECT
39.2.3. El poder de las vistas en PostgreSQL
39.2.4. Actualización de una vista
39.3. Vistas materializadas
39.4. Reglas para INSERT, UPDATE y DELETE
39.4.1. Cómo funcionan las reglas de actualización
39.4.2. Cooperación con vistas
39.5. Reglas y privilegios
39.6. Reglas y estado de los comandos
39.7. Reglas frente a disparadores (triggers)

Este capítulo describe el sistema de reglas en PostgreSQL. Los sistemas de reglas de producción son conceptualmente sencillos, pero hay muchos puntos sutiles involucrados al utilizarlos en la práctica.

Otros sistemas de bases de datos definen reglas activas de bases de datos, que suelen ser procedimientos almacenados y disparadores (triggers). En PostgreSQL, estos también se pueden implementar utilizando funciones y disparadores (triggers).

El sistema de reglas (más precisamente, el sistema de reglas de reescritura de consultas) es totalmente diferente de los procedimientos almacenados y disparadores (triggers). Modifica las consultas para tener en cuenta las reglas, y luego pasa la consulta modificada al planificador de consultas para su planificación y ejecución. Es muy potente y se puede utilizar para muchas cosas, como procedimientos de lenguaje de consulta, vistas y versiones. Los fundamentos teóricos y la potencia de este sistema de reglas también se analizan en [ston90b] y [ong90].