SQLite Vues

Une vue n'est rien de plus qu'une instruction SQLite stockée dans la base de données avec un nom associé. Une vue est en fait une combinaison de tables 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 plusieurs tables, selon la requête SQLite utilisée pour créer la vue.

Une vue est une table virtuelle qui permet aux utilisateurs d'accomplir ce qui suit :

  • Les utilisateurs ou groupes d'utilisateurs peuvent trouver des données structurées de manière plus naturelle ou intuitive.

  • Restreindre l'accès aux données, afin que les utilisateurs ne puissent voir que des données limitées plutôt que la table complète.

  • Résumer les données de diverses tables pour générer des rapports.

Les vues SQLite sont en lecture seule, vous ne pouvez donc pas exécuter d'instructions DELETE, INSERT ou UPDATE sur une vue. Toutefois, vous pouvez créer un déclencheur sur une vue, qui se déclenche lorsqu'une tentative de DELETE, INSERT ou UPDATE est effectuée sur la vue, et les actions à entreprendre sont définies dans le corps du déclencheur.

Créer une vue

Les vues SQLite sont créées à l'aide deCREATE VIEWinstruction. Les vues SQLite peuvent être créées à partir d'une seule table, de plusieurs tables ou d'autres vues.

La syntaxe de base de CREATE VIEW est la suivante :

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

Vous pouvez inclure plusieurs tables dans l'instruction SELECT, d'une manière très similaire à une requête SELECT SQL normale. Si le mot-clé facultatif TEMP ou TEMPORARY est utilisé, la vue sera créée dans une base de données temporaire.

Exemples

Supposons que la table COMPANY contienne 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 maintenant un exemple de création d'une vue à partir de la table COMPANY. La vue ne sélectionne que quelques colonnes de la table COMPANY :

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

Maintenant, vous pouvez interroger COMPANY_VIEW de manière similaire à l'interrogation d'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

Supprimer une vue

Pour supprimer une vue, utilisez simplement l'instructionview_nameDROP VIEW. 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 précédemment :

sqlite> DROP VIEW COMPANY_VIEW;
Autres extensions