close

Вход

Забыли?

вход по аккаунту

?

8. Представление(1)

код для вставкиСкачать
Представление (VIEW) - объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.
Представления иногда называют "виртуальными таблицами". Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Представления могут основываться как на таблицах, так и на других представлениях, т.е. могут быть вложенными (до 32 уровней вложенности).
Преимущества использования представлений:
1. Дает возможность гибкой настройки прав доступа к данным за счет того, что права даются не на таблицу, а на представление. Это очень удобно в случае если пользователю нужно дать права на отдельные строки таблицы или возможность получения не самих данных, а результата каких-то действий над ними.
2. Позволяет разделить логику хранения данных и программного обеспечения. Можно менять структуру данных, не затрагивая программный код, нужно лишь создать представления, аналогичные таблицам, к которым раньше обращались приложения. Это очень удобно когда нет возможности изменить программный код или к одной базе данных обращаются несколько приложений с различными требованиями к структуре данных.
3. Удобство в использовании за счет автоматического выполнения таких действий как доступ к определенной части строк и/или столбцов, получение данных из нескольких таблиц и их преобразование с помощью различных функций.
Ограничения представлений в MySQL
В статье приведены ограничения для версии MySQL 5.1 (в дальнейшем их число может сократиться).
* нельзя повесить триггер на представление,
* нельзя сделать представление на основе временных таблиц; нельзя сделать временное представление;
* в определении представления нельзя использовать подзапрос в части FROM,
* в определении представления нельзя использовать системные и пользовательские переменные; внутри хранимых процедур нельзя в определении представления использовать локальные переменные или параметры процедуры,
* в определении представления нельзя использовать параметры подготовленных выражений (PREPARE),
* таблицы и представления, присутствующие в определении представления должны существовать.
* только представления, удовлетворяющие ряду требований, допускают запросы типа UPDATE, DELETE и INSERT.
Вот пример простого представления: CREATE VIEW MyView AS SELECT NAME, PRICE_1 FROM Table_example; В этом примере мы создаем представление на основе запроса к таблице Table_example. В данном случае представление будет состоять из двух полей - NAME и PRICE_1, которые будут выбираться из таблицы Table_example без всяких условий, т. е. число записей в представлении MyView будет равно числу записей в Table_example. 
Документ
Категория
Разное
Просмотров
37
Размер файла
15 Кб
Теги
представление
1/--страниц
Пожаловаться на содержимое документа