SQLite Vista (View)
Una vista (View) no es más que una sentencia SQLite almacenada en la base de datos con un nombre asociado. En realidad, una vista (View) es una combinación de tablas presentada como una consulta SQLite predefinida.
Una vista (View) puede contener todas las filas de una tabla o filas seleccionadas de una o más tablas. Una vista (View) se puede crear a partir de una o más tablas, dependiendo de la consulta SQLite que se utilice para crearla.
Una vista (View) es una tabla virtual que permite a los usuarios lograr lo siguiente:
Que los usuarios o grupos de usuarios consulten datos estructurados de manera más natural o intuitiva.
Restringir el acceso a los datos: los usuarios solo pueden ver datos limitados en lugar de la tabla completa.
Resumir datos de varias tablas para generar informes.
Las vistas de SQLite son de solo lectura, por lo que es posible que no se puedan ejecutar sentencias DELETE, INSERT o UPDATE sobre una vista. Sin embargo, se puede crear un desencadenador (trigger) sobre la vista que se activará cuando se intente realizar un DELETE, INSERT o UPDATE sobre la vista; las acciones necesarias se definen en el contenido del desencadenador.
Crear una vista
Las vistas de SQLite se crean con laCREATE VIEWsentencia CREATE VIEW. Las vistas de SQLite se pueden crear a partir de una sola tabla, varias tablas u otras vistas.
La sintaxis básica de CREATE VIEW es la siguiente:
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
Puede incluir varias tablas en la sentencia SELECT, de manera muy similar a como lo haría en una consulta SQL SELECT normal. Si se utilizan las palabras clave opcionales TEMP o TEMPORARY, la vista se creará en la base de datos temporal.
Ejemplo
Supongamos que la tabla COMPANY tiene 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
Ahora, a continuación se muestra un ejemplo de creación de una vista a partir de la tabla COMPANY. La vista solo selecciona algunas columnas de la tabla COMPANY:
sqlite> CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
Ahora, se puede consultar COMPANY_VIEW de manera similar a como se 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
Eliminar una vista
Para eliminar una vista, simplemente use laview_namesentencia DROP VIEW. 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 anteriormente:
sqlite> DROP VIEW COMPANY_VIEW;Otras extensiones