Представления базы данных позволяют легко снизить сложность работы конечного пользователя и ограничить их доступ к данным, содержащимся в таблицах базы данных, путем ограничения данных, представленных конечному пользователю. По существу, представление использует результаты запроса базы данных для динамического заполнения содержимого таблицы искусственных баз данных.
Зачем использовать представления?
Существуют две основные причины предоставления пользователям доступа к данным через представления, а не предоставление им прямого доступа к таблицам базы данных:
- Представления обеспечивают простую, гранулированную защиту, Вы можете использовать представление, чтобы ограничить данные, которые пользователю разрешено видеть в таблице. Например, если у вас есть таблица сотрудников и вы хотите предоставить некоторым пользователям доступ к записям штатных сотрудников, вы можете создать представление, содержащее только те записи. Это намного проще, чем альтернатива (создание и поддержка теневой таблицы) и обеспечивает целостность данных.
- Представления упрощают работу пользователя, Представления скрывают сложные детали ваших таблиц базы данных от конечных пользователей, которым не нужно их видеть. Если пользователь выгружает содержимое представления, они не будут видеть столбцы таблицы, которые не будут выбраны в представлении, и они могут не понимать. Это защищает их от путаницы, вызванной плохо названными столбцами, уникальными идентификаторами и клавишами таблицы.
Создание представления
Создание представления довольно просто: вам просто нужно создать запрос, содержащий ограничения, которые вы хотите применить, и поместить их в команду CREATE VIEW. Вот синтаксис:
CREATE VIEW viewname AS
Например, если вы хотите создать представление о штатных сотрудниках, о котором я говорил в предыдущем разделе, вы должны указать следующую команду:
CREATE VIEW полный рабочий день ASSELECT first_name, last_name, employee_idОТ сотрудниковWHERE status = 'FT'
Изменение вида
Изменение содержимого представления использует тот же синтаксис, что и создание представления, но вместо команды CREATE VIEW используется команда ALTER VIEW. Например, если вы хотите добавить ограничение на представление полного времени, которое добавляет номер телефона сотрудника к результатам, вы должны ввести следующую команду:
ALTER VIEW полный рабочий день ASSELECT first_name, last_name, employee_id, телефонОТ сотрудниковWHERE status = 'FT'
Удаление представления
Простое удаление представления из базы данных с помощью команды DROP VIEW. Например, если вы хотите удалить вид сотрудников, работающих полный рабочий день, вы должны использовать следующую команду:
DROP VIEW полный рабочий день