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. De hecho, esta es una composición de la 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. La vista se puede crear a partir de una o más tablas, según la consulta SQLite escrita para crear la vista.

Las vistas, que son una especie de tablas virtuales, permiten a los usuarios:

  • Estructura tus datos para que los usuarios o clases de usuarios encuentren una forma natural o intuitiva.

  • Restrinja el acceso a los datos para que el usuario solo pueda ver los datos limitados y no la tabla completa.

  • Resuma datos de varias tablas que puede utilizar para crear informes.

Las vistas de SQLite son de solo lectura, por lo que no puede ELIMINAR, INSERTAR o ACTUALIZAR declaraciones en la vista. Sin embargo, puede crear un disparador para una vista que se activa cuando intenta ELIMINAR, INSERTAR o ACTUALIZAR una vista y hacer lo que quiera en el cuerpo del disparador.

Creando vistas

Las vistas de SQLite se crean usando CREAR VISTA declaració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 la misma manera que las usa en una consulta SELECT de SQL normal. Si la palabra clave opcional TEMP o TEMPORARY está presente, la vista se creará en la base de datos temporal.

Ejemplo

Considere una tabla de EMPRESA con las siguientes entradas:

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 de cómo 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 la misma manera que consulta la tabla real. A continuación se muestra un ejemplo:

sqlite> SELECT * FROM COMPANY_VIEW;

Esto dará 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

Eliminando vistas

Para eliminar una vista, simplemente use la instrucción DROP VIEW con view_name… La sintaxis básica de DROP VIEW es la siguiente:

sqlite> DROP VIEW view_name;

El siguiente comando eliminará COMPANY_VIEW que creamos en la sección anterior.

sqlite> DROP VIEW COMPANY_VIEW;

🚫