
3 Переваги використаня уявлень
Незалежність від даних
За допомогою уявлень можна створити злагоджену, незмінну картину структури бази даних, яка залишатиметься стабільною навіть у разі зміни формату початкових таблиць (наприклад, додавання або видалення стовпців, зміни зв'язків, розділення таблиць, їх реструктуризації або перейменування). Якщо в таблицю додаються або з неї віддаляються стовпці, що не використовуються в уявленні, то змінювати визначення цього уявлення не буде потрібно. Якщо структура початкової таблиці переупорядковується або таблиця розділяється, можна створити уявлення, що дозволяє працювати з віртуальною таблицею колишнього формату. У разі розділення початкової таблиці, колишній формат може бути віртуально відтворений за допомогою уявлення, побудованого на основі з'єднання знов створених таблиць - кінцево, якщо це виявиться можливим. Останню умову можна забезпечити за допомогою приміщення у всі знов створені таблиці первинного ключа колишньої таблиці.
Актуальність
Зміни даних в будь-якій з таблиць бази даних, вказаних у визначальному запиті, негайно відображається на вмісті уявлення.
Підвищення захищеності даних
Права доступу до даних можуть бути надані виключно через обмежений набір уявлень, що містять тільки та підмножина даних, яка необхідна користувачу. Подібний підхід дозволяє істотно посилити контроль за доступом окремих категорій користувачів до інформації в базі даних.
Зниження вартості
Уявлення дозволяють спростити структуру запитів за рахунок об'єднання даних з декількох таблиць в єдину віртуальну таблицю. В результаті багатотабличні запити зводяться до простих запитів до одного уявлення.
Додаткові зручності
Створення уявлень може забезпечувати користувачів додатковими зручностями - наприклад, можливістю роботи тільки з дійсно потрібною частиною даних. В результаті можна добитися максимального спрощення тієї моделі даних, яка знадобиться кожному кінцевому користувачу.
Можливість настройки
Уявлення є зручним засобом настройки індивідуального образу бази даних. В результаті одні і ті ж таблиці можуть бути пред'явлені користувачам в абсолютно різному вигляді.
Забезпечення цілісності даних
Якщо в операторі CREATE VIEW буде вказана фраза WITH CHECK OPTION, то СУБД стане здійснювати контроль за тим, щоб в початкові таблиці бази даних не був введений жоден з рядків, що не задовольняють пропозиції WHERE у визначальному запиті. Цей механізм гарантує цілісність даних в уявленні.
Практика обмеження доступу деяких користувачів до даних за допомогою створення спеціалізованих уявлень, безумовно, має значні переваги перед наданням їм прямого доступу до таблиць бази даних.
Проте використовування уявлень в середовищі SQL не позбавлено недоліків.
4 Недоліки використання уявлень
Обмежені можливості оновлення
В деяких випадках уявлення не дозволяють вносити зміни в дані, що містяться в них.
Структурні обмеження
Структура уявлення встановлюється у момент його створення. Якщо визначаючий запит представлений у формі SELECT * FROM_, то символ * посилається на всі стовпці, існуючі в початковій таблиці на момент створення уявлення. Якщо згодом в початкову таблицю бази даних додадуться нові стовпці, то вони не з'являться в даному уявленні до тих пір, поки це уявлення не буде видалено і знов створено.
Зниження продуктивності
Використовування уявлень пов'язано з певним зниженням продуктивності. В одних випадках вплив цього чинника абсолютно незначний, тоді як в інших воно може послужити джерелом істотних проблем. Наприклад, уявлення, визначене за допомогою складного багатотабличного запиту, може зажадати значні витрати часу на обробку, оскільки при його дозволі буде потрібно виконувати з'єднання таблиць всякий раз, коли знадобиться доступ до даного уявлення. Виконання дозволу уявлень зв'язано з використанням додаткових обчислювальних ресурсів.