Представление — это не что иное, как оператор SQLite, который хранится в базе данных со связанным именем. На самом деле это состав таблицы в форме предопределенного запроса SQLite.
Представление может содержать все строки таблицы или выбранные строки из одной или нескольких таблиц. Представление может быть создано из одной или нескольких таблиц, которые зависят от написанного запроса SQLite для создания представления.
Представления, которые являются своего рода виртуальными таблицами, позволяют пользователям —
-
Структурируйте данные так, чтобы пользователи или классы пользователей находили естественные или интуитивно понятные.
-
Ограничьте доступ к данным таким образом, чтобы пользователь мог видеть только ограниченные данные вместо полной таблицы.
-
Суммируйте данные из различных таблиц, которые можно использовать для создания отчетов.
Структурируйте данные так, чтобы пользователи или классы пользователей находили естественные или интуитивно понятные.
Ограничьте доступ к данным таким образом, чтобы пользователь мог видеть только ограниченные данные вместо полной таблицы.
Суммируйте данные из различных таблиц, которые можно использовать для создания отчетов.
Представления SQLite доступны только для чтения, и поэтому вы не сможете выполнить оператор DELETE, INSERT или UPDATE для представления. Однако вы можете создать триггер в представлении, которое запускается при попытке УДАЛИТЬ, ВСТАВИТЬ или ОБНОВИТЬ представление и делать то, что вам нужно, в теле триггера.
Создание видов
Представления SQLite создаются с помощью оператора CREATE VIEW . Представления SQLite могут быть созданы из одной таблицы, нескольких таблиц или другого представления.
Ниже приведен основной синтаксис CREATE VIEW.
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
Вы можете включить несколько таблиц в свой оператор SELECT таким же образом, как вы используете их в обычном запросе SQL SELECT. Если присутствует необязательное ключевое слово TEMP или TEMPORARY, представление будет создано во временной базе данных.
пример
Рассмотрим таблицу COMPANY со следующими записями —
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
Ниже приведен пример создания представления из таблицы COMPANY. Это представление будет использоваться только для нескольких столбцов из таблицы COMPANY.
sqlite> CREATE VIEW COMPANY_VIEW AS SELECT ID, NAME, AGE FROM COMPANY;
Теперь вы можете запрашивать COMPANY_VIEW аналогично запросу реальной таблицы. Ниже приведен пример —
sqlite> SELECT * FROM COMPANY_VIEW;
Это даст следующий результат.
ID NAME AGE ---------- ---------- ---------- 1 Paul 32 2 Allen 25 3 Teddy 23 4 Mark 25 5 David 27 6 Kim 22 7 James 24
Отбрасывание просмотров
Чтобы отбросить представление, просто используйте оператор DROP VIEW с view_name . Основной синтаксис DROP VIEW выглядит следующим образом:
sqlite> DROP VIEW view_name;
Следующая команда удалит представление COMPANY_VIEW, которое мы создали в последнем разделе.