PostgreSQL Créer une vue avec un exemple

Qu’est ce qu' 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.

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 des requêtes complexes et couramment utilisées.

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

Considérez le tableau des prix ci-dessous :

Le prix :

La création 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 :

La création 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 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 les éléments suivants :

La création 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 voir. 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 l'instruction suivante :

DROP VIEW Price_View2;

La vue sera supprimée.

Utiliser pgAdmin

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

La création PostgreSQL Vues

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.

La création 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.

La création PostgreSQL Vues utilisant pgAdmin

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

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

La création PostgreSQL Vues utilisant pgAdmin

Cela renverra ce qui suit :

La création 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.

La création PostgreSQL Vues utilisant pgAdmin

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

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

La création PostgreSQL Vues utilisant pgAdmin

Cela renverra ce qui suit :

La création 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)

  1. Dans la barre de navigation à gauche, cliquez sur Bases de données.
  2. 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)

  1. Dans la barre de navigation à gauche, cliquez sur Bases de données.
  2. 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.

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