PostgreSQL Crear vista con ejemplo

⚡ Resumen inteligente

PostgreSQL Las vistas son pseudotablas creadas a partir de una consulta SELECT almacenada, lo que permite encapsular consultas complejas o de uso frecuente bajo un único nombre que se puede leer, actualizar o eliminar como una tabla ordinaria.

  • 🗂️ Tabla pseudo- Una vista almacena una consulta, no datos, pero se selecciona como si fuera una tabla.
  • 🛠️ Crear: CREATE VIEW asigna un nombre a una consulta SELECT, incluso en varias tablas base, para facilitar su reutilización.
  • ♻️ Reemplazar: CREATE OR REPLACE VIEW cambia una vista sin eliminarping él.
  • 🗑️ Drop: DROP VIEW elimina una vista, e IF EXISTS evita un error.
  • 🤖 Ayuda de IA: Los asistentes de IA generan definiciones de vistas y sugieren qué consultas deben encapsularse.

PostgreSQL Crear vista

¿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 necesita crear una consulta y luego darle un nombre, lo que la convierte en una herramienta útil para encapsular.ping 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.

La(s) condición(es) WHERE son opcionales 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 Precio:

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 Para ver la vista, puede usar la instrucción DROP VIEW. Esta es la sintaxis de la instrucció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, IF EXISTS es opcional. Si no lo especifica e intenta eliminar una vista que no existe, recibirá 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 utilizando 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.

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:

  • Escriba el siguiente comando en el editor de consultas:
SELECT *
FROM Price_View;
  • 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:

  • Escriba la siguiente consulta en el editor de consultas:
SELECT *
FROM Price_View2;
  • 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)

  • Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  • 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)

  • Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  • 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.

Descargue la Base de Datos utilizada en este Tutorial

Preguntas Frecuentes

Una tabla almacena datos físicamente en el disco. Una vista solo almacena una consulta SELECT, por lo que al consultarla se vuelve a ejecutar dicha consulta y se devuelven los datos actuales de las tablas base.

Una vista materializada almacena en caché el resultado de una consulta en el disco. Se lee más rápido que una vista simple, pero necesita actualizar la vista materializada para mostrar los datos nuevos.

Una vista estándar ejecuta su consulta cada vez, mostrando datos en tiempo real. Una vista materializada almacena los resultados en disco para mayor velocidad, pero puede quedar desactualizada hasta que se actualice.

A veces. Una vista simple de una sola tabla sin agregación se actualiza automáticamente, por lo que INSERT, UPDATE y DELETE funcionan directamente. Las vistas complejas necesitan disparadores INSTEAD OF.

Consulta el catálogo: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. En pgAdmin, puedes expandir el nodo Vistas dentro de un esquema.

Los asistentes de IA convierten una solicitud en lenguaje sencillo en una instrucción CREATE VIEW, le dan un nombre a la vista y agregan las cláusulas WHERE y JOIN adecuadas, lo que acelera las consultas que se reutilizan con frecuencia.

Sí. Pega una sentencia SELECT larga y un asistente de IA la envuelve en una sentencia CREATE OR REPLACE VIEW, sugiere un nombre y marca las columnas que necesitan alias para evitar nombres duplicados.

Una vista normal no acelera las consultas porque su instrucción SELECT se ejecuta cada vez. Para lecturas repetidas más rápidas, utilice una vista materializada, que almacena los resultados en disco hasta que se actualiza.

Resumir este post con: