PostgreSQL Créer une vue avec un exemple

⚡ Résumé intelligent

PostgreSQL Les vues sont des pseudo-tables construites à partir d'une requête SELECT enregistrée, vous permettant d'encapsuler des requêtes complexes ou fréquemment utilisées sous un seul nom que vous pouvez lire, mettre à jour ou supprimer comme une table ordinaire.

  • 🇧🇷 Pseudo-tableau : Une vue stocke une requête, et non des données, mais vous la sélectionnez comme une table.
  • Créer: CREATE VIEW nomme une requête SELECT, même sur plusieurs tables de base, pour une réutilisation facile.
  • ♻️ Remplacer: CREATE OR REPLACE VIEW modifie une vue sans la déposerping le
  • 🇧🇷 Drop: DROP VIEW supprime une vue, et IF EXISTS évite une erreur.
  • 🤖 Aide IA : Les assistants IA génèrent des définitions de vues et suggèrent les requêtes à encapsuler.

PostgreSQL Créer une vue

Qu'est-ce que le PostgreSQL Voir?

In PostgreSQL, une vue est une pseudo-table. Cela signifie qu'une vue n'est pas une vraie table. Cependant, nous pouvons le SELECT comme une table ordinaire. Une vue peut contenir tout ou partie des colonnes du tableau. Une vue peut également être une représentation de plusieurs tables.

Ces tables sont appelées tables de base. Lors de la création d'une vue, il suffit de créer une requête et de lui donner un nom, ce qui en fait un outil pratique pour l'encapsulation.ping Requêtes complexes et couramment utilisées.

Nos Boissons PostgreSQL Vues

Créer un PostgreSQL vue, nous utilisons l'instruction CREATE VIEW. Voici la syntaxe de cette instruction :

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

Le paramètre OR REPLACE remplacera la vue si elle existe déjà. En cas d'omission et que la vue existe déjà, une erreur sera renvoyée.

Le paramètre view-name est le nom de la vue que vous devez créer.

La ou les conditions WHERE sont facultatives et doivent être satisfaites pour qu'un enregistrement soit ajouté à la vue.

Considérez le tableau des prix ci-dessous :

Le prix :

Nos Boissons PostgreSQL Vues

Créons une vue à partir du tableau ci-dessus :

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

La commande ci-dessus créera une vue basée sur le Instruction SELECT. Seuls les enregistrements dont le prix est supérieur à 200 seront ajoutés à la vue. La vue a reçu le nom Price_View. Interrogons-le pour voir son contenu :

SELECT *
FROM Price_View;

Cela renvoie les éléments suivants :

Nos Boissons PostgreSQL Vues

Même si la table de base contient 4 enregistrements, seuls 2 ont été ajoutés à la vue.

Ici, nous ne pouvons ajouter qu'une seule colonne à la vue. Créons une vue qui ne comprend qu'une seule colonne de la table Price :

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

La vue a reçu le nom Price_View2 et inclut uniquement la colonne prix de la table Prix. Interrogons la vue pour voir son contenu :

SELECT *
FROM Price_View2;

Cela renvoie les éléments suivants :

Nos Boissons PostgreSQL Vues

Changer PostgreSQL Vues

La définition d'une vue peut être modifiée sans avoir à la supprimer. Cela se fait à l'aide de l'instruction CREATE OR REPLACE VIEW.

Montrons cela en mettant à jour la vue nommée Price_View2.

Prix_View2 :

Changer PostgreSQL Vues

La table Livre est la suivante :

Livre:

Changer PostgreSQL Vues

Le tableau des prix est le suivant :

Le prix :

Changer PostgreSQL Vues

La requête suivante nous aidera à mettre à jour la vue 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;

Interrogons maintenant la vue pour voir son contenu :

Changer PostgreSQL Vues

La vue a été modifiée et nous avons désormais deux colonnes de deux tables différentes. Ceci a été réalisé à l'aide d'une instruction JOIN.

Suppression PostgreSQL Vues

Chaque fois que vous devez supprimer un PostgreSQL Pour afficher une vue, vous pouvez utiliser l'instruction DROP VIEW. Voici la syntaxe de cette instruction :

DROP VIEW [IF EXISTS] view-name;

Le paramètre view-name est le nom de la vue à supprimer.

Dans cette syntaxe, la condition IF EXISTS est facultative. Si vous ne la spécifiez pas et que vous tentez de supprimer une vue inexistante, une erreur se produira.

Par exemple, pour supprimer la vue nommée Price_View2, nous pouvons exécuter l'instruction suivante :

DROP VIEW Price_View2;

La vue sera supprimée.

Utiliser pgAdmin

Voyons maintenant comment ces actions peuvent être réalisées à l'aide de pgAdmin.

Nos Boissons PostgreSQL Vues

Pour accomplir la même chose via pgAdmin, procédez comme suit :

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  • Dans la barre de navigation à gauche, cliquez sur Bases de données.
  • Cliquez sur Démo.

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Étape 3) Tapez la requête dans l'éditeur de requêtes :

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Étape 4) Cliquez sur le bouton Exécuter.

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Étape 5) Pour afficher le contenu de la vue, procédez comme suit :

  • Tapez la commande suivante dans l'éditeur de requête :
SELECT *
FROM Price_View;
  • Cliquez sur le bouton Exécuter.

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Cela renverra ce qui suit :

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Pour créer la vue Price_View2, procédez comme suit :

Étape 1) Tapez la requête suivante dans l'éditeur de requête :

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Étape 2) Cliquez sur le bouton Exécuter.

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Étape 3) Pour voir le contenu de la vue, procédez comme suit :

  • Tapez la requête suivante dans l'éditeur de requête :
SELECT *
FROM Price_View2;
  • Cliquez sur le bouton Exécuter.

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Cela renverra ce qui suit :

Nos Boissons PostgreSQL Vues utilisant pgAdmin

Changer PostgreSQL Vues

Pour accomplir la même chose via pgAdmin, procédez comme suit :

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  • Dans la barre de navigation à gauche, cliquez sur Bases de données.
  • Cliquez sur Démo.

Changer PostgreSQL Vues utilisant pgAdmin

Étape 3) Tapez la requête dans l'éditeur de requêtes :

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Étape 4) Cliquez sur le bouton Exécuter.

Changer PostgreSQL Vues utilisant pgAdmin

Étape 5) Tapez la requête suivante dans l'éditeur de requête :

SELECT *
FROM Price_View2;

Cela renverra ce qui suit :

Changer PostgreSQL Vues utilisant pgAdmin

Suppression PostgreSQL Vues

Pour accomplir la même chose via pgAdmin, procédez comme suit :

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  • Dans la barre de navigation à gauche, cliquez sur Bases de données.
  • Cliquez sur Démo.

Suppression PostgreSQL Vues utilisant pgAdmin

Étape 3) Tapez la requête dans l'éditeur de requêtes :

DROP VIEW Price_View2;

Étape 4) Cliquez sur le bouton Exécuter.

Suppression PostgreSQL Vues utilisant pgAdmin

La vue sera supprimée.

Téléchargez la base de données utilisée dans ce tutoriel

FAQ

Une table stocke physiquement les données sur disque. Une vue ne stocke qu'une requête SELECT ; l'interroger réexécute donc cette requête et renvoie les données actuelles des tables de base.

Une vue matérialisée met en cache le résultat d'une requête sur le disque. Elle est plus rapide en lecture qu'une vue simple, mais nécessite l'exécution de la commande REFRESH MATERIALIZED VIEW pour afficher les nouvelles données.

Une vue standard exécute sa requête à chaque fois, affichant des données en temps réel. Une vue matérialisée stocke les résultats sur disque pour optimiser les performances, mais peut devenir obsolète jusqu'à sa mise à jour.

Parfois. Une vue simple à une seule table, sans agrégation, est automatiquement mise à jour ; les instructions INSERT, UPDATE et DELETE fonctionnent donc directement. Les vues complexes nécessitent des déclencheurs INSTEAD OF.

Interrogez le catalogue : SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. Dans pgAdmin, vous pouvez développer le nœud Views sous un schéma.

Les assistants IA transforment une requête en langage clair en une instruction CREATE VIEW, nomment la vue et ajoutent les clauses WHERE et JOIN appropriées, accélérant ainsi les requêtes que vous réutilisez fréquemment.

Oui. Collez une longue requête SELECT et un assistant IA l'intègre dans une instruction CREATE OR REPLACE VIEW, suggère un nom et signale les colonnes nécessitant des alias pour éviter les doublons.

Une vue classique n'accélère pas les requêtes car sa clause SELECT est exécutée à chaque fois. Pour des lectures répétées plus rapides, utilisez une vue matérialisée, qui stocke les résultats sur disque jusqu'à leur actualisation.

Résumez cet article avec :