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: