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:

Creamos  PostgreSQL Vistas

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:

Creamos  PostgreSQL Vistas

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:

Creamos  PostgreSQL Vistas

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:

Cambiar PostgreSQL Vistas

La tabla de libros es la siguiente:

Libro:

Cambiar PostgreSQL Vistas

La tabla de precios es la siguiente:

Precio:

Cambiar PostgreSQL Vistas

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:

Cambiar PostgreSQL Vistas

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Creamos  PostgreSQL Vistas usando pgAdmin

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.

Creamos  PostgreSQL Vistas usando pgAdmin

Paso 5) Para ver el contenido de la vista, haga lo siguiente:

  1. Escriba el siguiente comando en el editor de consultas:
  2. SELECT *
    FROM Price_View;
    
  3. Haga clic en el botón Ejecutar.

Creamos  PostgreSQL Vistas usando pgAdmin

Esto devolverá lo siguiente:

Creamos  PostgreSQL Vistas usando pgAdmin

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.

Creamos  PostgreSQL Vistas usando pgAdmin

Paso 3) Para ver el contenido de la vista, haga lo siguiente:

  1. Escriba la siguiente consulta en el editor de consultas:
  2. SELECT *
    FROM Price_View2;
    
  3. Haga clic en el botón Ejecutar.

Creamos  PostgreSQL Vistas usando pgAdmin

Esto devolverá lo siguiente:

Creamos  PostgreSQL Vistas usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Cambiar PostgreSQL Vistas usando pgAdmin

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.

Cambiar PostgreSQL Vistas usando pgAdmin

Paso 5) Escriba la siguiente consulta en el editor de consultas:

SELECT * 
FROM Price_View2;

Esto devolverá lo siguiente:

Cambiar PostgreSQL Vistas usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Eliminación PostgreSQL Vistas usando pgAdmin

Paso 3) Escriba la consulta en el editor de consultas:

DROP VIEW Price_View2;

Paso 4) Haga clic en el botón Ejecutar.

Eliminación PostgreSQL Vistas usando pgAdmin

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