SQLite - Vistas
Una vista no es más que una declaración SQLite que se almacena en la base de datos con un nombre asociado. En realidad, es una composición de una tabla en forma de una consulta SQLite predefinida.
Una vista puede contener todas las filas de una tabla o filas seleccionadas de una o más tablas. Se puede crear una vista a partir de una o varias tablas, lo que depende de la consulta SQLite escrita para crear una vista.
Vistas que son una especie de tablas virtuales, permiten a los usuarios:
Estructurar los datos de una manera que los usuarios o clases de usuarios encuentren natural o intuitiva.
Restrinja el acceso a los datos de modo que un usuario solo pueda ver datos limitados en lugar de una tabla completa.
Resuma datos de varias tablas, que se pueden utilizar para generar informes.
Las vistas de SQLite son de solo lectura y, por lo tanto, es posible que no pueda ejecutar una instrucción DELETE, INSERT o UPDATE en una vista. Sin embargo, puede crear un desencadenador en una vista que se activa en un intento de ELIMINAR, INSERTAR o ACTUALIZAR una vista y hacer lo que necesite en el cuerpo del desencadenador.
Creando Vistas
Las vistas de SQLite se crean utilizando CREATE VIEWdeclaración. Las vistas de SQLite se pueden crear a partir de una sola tabla, varias tablas u otra vista.
A continuación se muestra la sintaxis básica de CREATE VIEW.
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
Puede incluir varias tablas en su instrucción SELECT de manera similar a como las usa en una consulta SELECT de SQL normal. Si la palabra clave TEMP o TEMPORARY opcional está presente, la vista se creará en la base de datos temporal.
Ejemplo
Considere la tabla EMPRESA con los siguientes registros:
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
A continuación se muestra un ejemplo para crear una vista desde la tabla EMPRESA. Esta vista se utilizará para tener solo unas pocas columnas de la tabla EMPRESA.
sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM COMPANY;
Ahora puede consultar COMPANY_VIEW de forma similar a como consulta una tabla real. A continuación se muestra un ejemplo:
sqlite> SELECT * FROM COMPANY_VIEW;
Esto producirá el siguiente resultado.
ID NAME AGE
---------- ---------- ----------
1 Paul 32
2 Allen 25
3 Teddy 23
4 Mark 25
5 David 27
6 Kim 22
7 James 24
Descartar vistas
Para eliminar una vista, simplemente use la instrucción DROP VIEW con el view_name. La sintaxis básica de DROP VIEW es la siguiente:
sqlite> DROP VIEW view_name;
El siguiente comando eliminará la vista COMPANY_VIEW, que creamos en la última sección.
sqlite> DROP VIEW COMPANY_VIEW;