Importante
La traducción es un esfuerzo comunitario puede unirse. Esta página está actualmente traducida en |progreso de traducción|.
15.6. Lección: Reglas
Las reglas permiten la «un árbol de consulta» de una consulta de entrada para reescribir. Un uso común es implementar vistas, incluyendo vista actualizable .*- Wikipedia*
La meta de esta lección: Aprender cómo crear nuevas reglas para la base de datos.
15.6.1. Crear una regla de registro
Supongamos que desea registrar cada cambio de phone_no en su tabla de personas en una tabla de personas. Entonces configure una nueva tabla:
create table people_log (name text, time timestamp default NOW());
En el siguiente paso, cree una regla que registre cada cambio de phone_no en la tabla de personas en la tabla de personas:
create rule people_log as on update to people
where NEW.phone_no <> OLD.phone_no
do insert into people_log values (OLD.name);
Para probar que la regla funciona, modifiquemos un número de teléfono:
update people set phone_no = '082 555 1234' where id = 2;
Pruebe que la tabla people fue actualizada correctamente:
select * from people where id=2;
id | name | house_no | street_id | phone_no
----+------------+----------+-----------+--------------
2 | Joe Bloggs | 3 | 2 | 082 555 1234
(1 row)
Ahora, gracias a la regla que creamos, la tabla people_log se verá así:
select * from people_log;
name | time
------------+----------------------------
Joe Bloggs | 2014-01-11 14:15:11.953141
(1 row)
Nota
El valor del campo time dependerá de la fecha y hora actual.
15.6.2. En conclusión
Reglas le permiten agregar automáticamente o cambiar los datos de su base de datos para reflejar los cambios en otras partes de la base de datos.
15.6.3. ¿Y ahora qué?
El siguiente módulo le dará a conocer las base de datos espaciales utilizando PostGIS, que toma estos conceptos de bases de datos y las aplica a los datos GIS.