PostgreSQL Créer une vue avec un exemple

Qu’est-ce que la vue PostgreSQL ?

Dans 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.

Les tableaux sont appelés tableaux de base. Lors de la création d'une vue, il vous suffit de créer une requête puis de lui donner un nom, ce qui en fait un outil utile pour encapsuler complex et les requêtes couramment utilisées.

Création de vues PostgreSQL

Pour créer une vue PostgreSQL, 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 des options et elles doivent être satisfaites pour qu'un enregistrement soit ajouté à la vue.

Considérez le tableau des prix ci-dessous :

Prix:

Création de vues PostgreSQL

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 le suiviwing:

Création de vues PostgreSQL

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 comprenait qu'une seule colonne du tableau Prix :

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 le suiviwing:

Création de vues PostgreSQL

Modification des vues PostgreSQL

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 :

Modification des vues PostgreSQL

La table Livre est la suivante :

Livre:

Modification des vues PostgreSQL

Le tableau des prix est le suivant :

Prix:

Modification des vues PostgreSQL

Le following la requête 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 :

Modification des vues PostgreSQL

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 de vues PostgreSQL

Chaque fois que vous devez supprimer une vue PostgreSQL. Vous pouvez utiliser l'instruction DROP VIEW. Voici la syntaxe de l'instruction :

DROP VIEW [IF EXISTS] view-name;

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

Dans cette syntaxe, IF EXISTS est facultatif. C'est seulement obligatoire. Si vous ne le spécifiez pas et tentez de supprimer une vue qui n'existe pas, vous obtiendrez une erreur.

Par exemple, pour supprimer la vue nommée Price_View2, nous pouvons exécuter la commande suivantewing déclaration:

DROP VIEW Price_View2;

La vue sera supprimée.

Utiliser pgAdmin

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

Création de vues PostgreSQL

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

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

Étape 2)

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

Création de vues PostgreSQL à l'aide de 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.

Création de vues PostgreSQL à l'aide de pgAdmin

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

  1. Tapez le suivantwing commande dans l'éditeur de requêtes :
  2. SELECT *
    FROM Price_View;
    
  3. Cliquez sur le bouton Exécuter.

Création de vues PostgreSQL à l'aide de pgAdmin

Cela renverra le suiviwing:

Création de vues PostgreSQL à l'aide de pgAdmin

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

Étape 1) Tapez le suivantwing requête dans l'éditeur de requêtes :

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

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

Création de vues PostgreSQL à l'aide de pgAdmin

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

  1. Tapez le suivantwing requête dans l'éditeur de requêtes :
  2. SELECT *
    FROM Price_View2;
    
  3. Cliquez sur le bouton Exécuter.

Création de vues PostgreSQL à l'aide de pgAdmin

Cela renverra le suiviwing:

Création de vues PostgreSQL à l'aide de pgAdmin

Modification des vues PostgreSQL

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

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

Étape 2)

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

Modification des vues PostgreSQL à l'aide de 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.

Modification des vues PostgreSQL à l'aide de pgAdmin

Étape 5) Tapez le suivantwing requête dans l'éditeur de requêtes :

SELECT * 
FROM Price_View2;

Cela renverra le suiviwing:

Modification des vues PostgreSQL à l'aide de pgAdmin

Suppression de vues PostgreSQL

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

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

Étape 2)

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

Suppression de vues PostgreSQL à l'aide de 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 de vues PostgreSQL à l'aide de pgAdmin

La vue sera supprimée.

Résumé

  • A PostgreSQL view est une pseudo-table, ce qui signifie que ce n'est pas une vraie table.
  • Une vue peut être créée à partir d'une ou plusieurs tables.
  • Les tables à partir desquelles une vue est créée sont appelées tables de base.
  • Pour créer une vue, nous utilisons l'instruction CREATE OR REPLACE VIEW.
  • Pour modifier la définition d'une vue, nous utilisons l'instruction CREATE OR REPLACE VIEW.
  • Pour supprimer une vue, nous utilisons l'instruction DROP VIEW.

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