PostgreSQL Crear vista con ejemplo
¿Qué es PostgreSQL ¿Ver?
In PostgreSQL, una vista es una pseudotabla. Esto significa que una vista no es una tabla real. Sin embargo, podemos SELECCIONARla como una tabla ordinaria. Una vista puede tener todas o algunas de las columnas de la tabla. Una vista también puede ser una representación de más de una tabla.
Las tablas se denominan tablas base. Al crear una vista, solo es necesario crear una consulta y luego asignarle un nombre, lo que la convierte en una herramienta útil para encapsular consultas complejas y de uso común.
Creamos PostgreSQL Vistas
Para crear un PostgreSQL vista, utilizamos la declaración CREATE VIEW. Aquí está la sintaxis de esta declaración:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
El parámetro OR REPLACE reemplazará la vista si ya existe. Si se omite y la vista ya existe, se devolverá un error.
El parámetro view-name es el nombre de la vista que necesita crear.
Las condiciones WHERE son opciones y deben cumplirse para que cualquier registro se agregue a la vista.
Considere la tabla de precios que figura a continuación:
Precio:
Creemos una vista a partir de la tabla anterior:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
El comando anterior creará una vista basada en el Instrucción SELECT. Solo se agregarán a la vista los registros cuyo precio sea mayor a 200. A la vista se le ha dado el nombre Price_View. Consultémoslo para ver su contenido:
SELECT * FROM Price_View;
Esto devuelve lo siguiente:
Aunque la tabla base tiene 4 registros, solo se agregaron 2 a la vista.
Aquí, podemos agregar solo una columna a la vista. Creemos una vista que incluya solo una columna de la tabla de precios:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
A la vista se le ha dado el nombre Price_View2 e incluye solo la columna de precio de la tabla de precios. Consultamos la vista para ver su contenido:
SELECT * FROM Price_View2;
Esto devuelve lo siguiente:
Cambiar PostgreSQL Vistas
La definición de una vista se puede cambiar sin tener que eliminarla. Esto se hace usando la instrucción CREATE OR REPLACE VIEW.
Demostremos esto actualizando la vista denominada Price_View2.
Precio_Ver2:
La tabla de libros es la siguiente:
Libro:
La tabla de precios es la siguiente:
Precio:
La siguiente consulta nos ayudará a actualizar la vista Price_View2:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Ahora consultemos la vista para ver su contenido:
La vista ha cambiado y ahora tenemos dos columnas de dos tablas diferentes. Esto se ha logrado mediante una declaración JOIN.
Eliminación PostgreSQL Vistas
Cada vez que necesites eliminar un PostgreSQL vista. Puede utilizar la declaración DROP VIEW. Aquí está la sintaxis de la declaración:
DROP VIEW [IF EXISTS] view-name;
El parámetro nombre-vista es el nombre de la vista que se va a eliminar.
En esta sintaxis, SI EXISTE es opcional. Sólo es necesario. Si no lo especifica e intenta eliminar una vista que no existe, obtendrá un error.
Por ejemplo, para eliminar la vista denominada Price_View2, podemos ejecutar la siguiente declaración:
DROP VIEW Price_View2;
La vista será eliminada.
Usando pgAdmin
Ahora veamos cómo se pueden realizar estas acciones usando pgAdmin.
Creamos PostgreSQL Vistas
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para ver el contenido de la vista, haga lo siguiente:
- Escriba el siguiente comando en el editor de consultas:
- Haga clic en el botón Ejecutar.
SELECT * FROM Price_View;
Esto devolverá lo siguiente:
Para crear la vista Price_View2, haga lo siguiente:
Paso 1) Escriba la siguiente consulta en el editor de consultas:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
Paso 2) Haga clic en el botón Ejecutar.
Paso 3) Para ver el contenido de la vista, haga lo siguiente:
- Escriba la siguiente consulta en el editor de consultas:
- Haga clic en el botón Ejecutar.
SELECT * FROM Price_View2;
Esto devolverá lo siguiente:
Cambiar PostgreSQL Vistas
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Escriba la siguiente consulta en el editor de consultas:
SELECT * FROM Price_View2;
Esto devolverá lo siguiente:
Eliminación PostgreSQL Vistas
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
DROP VIEW Price_View2;
Paso 4) Haga clic en el botón Ejecutar.
La vista será eliminada.
Resum
- A PostgreSQL La vista es una pseudotabla, lo que significa que no es una tabla real.
- Se puede crear una vista a partir de una o más tablas.
- Las tablas a partir de las cuales se crea una vista se conocen como tablas base.
- Para crear una vista, utilizamos la instrucción CREATE OR REPLACE VIEW.
- Para cambiar la definición de una vista, utilizamos la instrucción CREATE OR REPLACE VIEW.
- Para eliminar una vista, utilizamos la declaración DROP VIEW.
Descargue la Base de Datos utilizada en este Tutorial