SQLite - Vues

Une vue n'est rien de plus qu'une instruction SQLite qui est stockée dans la base de données avec un nom associé. Il s'agit en fait d'une composition d'une table sous la forme d'une requête SQLite prédéfinie.

Une vue peut contenir toutes les lignes d'une table ou des lignes sélectionnées d'une ou plusieurs tables. Une vue peut être créée à partir d'une ou de plusieurs tables qui dépendent de la requête SQLite écrite pour créer une vue.

Des vues qui sont des sortes de tables virtuelles, permettent aux utilisateurs de -

  • Structurez les données d'une manière que les utilisateurs ou les classes d'utilisateurs trouvent naturelle ou intuitive.

  • Limitez l'accès aux données de sorte qu'un utilisateur ne puisse voir que des données limitées au lieu d'un tableau complet.

  • Résumez les données de diverses tables, qui peuvent être utilisées pour générer des rapports.

Les vues SQLite sont en lecture seule et vous ne pourrez donc peut-être pas exécuter une instruction DELETE, INSERT ou UPDATE sur une vue. Toutefois, vous pouvez créer un déclencheur sur une vue qui se déclenche lors d'une tentative de SUPPRIMER, INSÉRER ou METTRE À JOUR une vue et faire ce dont vous avez besoin dans le corps du déclencheur.

Créer des vues

Les vues SQLite sont créées à l'aide de CREATE VIEWdéclaration. Les vues SQLite peuvent être créées à partir d'une seule table, de plusieurs tables ou d'une autre vue.

Voici la syntaxe de base de CREATE VIEW.

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

Vous pouvez inclure plusieurs tables dans votre instruction SELECT de la même manière que vous les utilisez dans une requête SQL SELECT normale. Si le mot clé facultatif TEMP ou TEMPORARY est présent, la vue sera créée dans la base de données temporaire.

Exemple

Considérez la table COMPANY avec les enregistrements suivants -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Voici un exemple pour créer une vue à partir de la table COMPANY. Cette vue sera utilisée pour n'avoir que quelques colonnes de la table COMPANY.

sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

Vous pouvez maintenant interroger COMPANY_VIEW de la même manière que vous interrogez une table réelle. Voici un exemple -

sqlite> SELECT * FROM COMPANY_VIEW;

Cela produira le résultat suivant.

ID          NAME        AGE
----------  ----------  ----------
1           Paul        32
2           Allen       25
3           Teddy       23
4           Mark        25
5           David       27
6           Kim         22
7           James       24

Suppression de vues

Pour supprimer une vue, utilisez simplement l'instruction DROP VIEW avec le view_name. La syntaxe de base de DROP VIEW est la suivante -

sqlite> DROP VIEW view_name;

La commande suivante supprimera la vue COMPANY_VIEW, que nous avons créée dans la dernière section.

sqlite> DROP VIEW COMPANY_VIEW;