Що таке уявлення VIEWS в базах даних? І навіщо вони потрібні?

Багато починаючі адміністратори і програмісти баз даних, та й просто системні адміністратори, які обслуговують якусь базу даних, не знають що таке уявлення або VIEWS, і навіщо взагалі вони потрібні. Зараз ми спробуємо розібратися, що ж це таке.

Почнемо з невеликою теорії.

Що таке VIEWS?

VIEWS – уявлення, або наприклад в PostgreSQL вони називаються «видами»(Тобто Вид), російські адміни часто називають їх вьюха, тобто одне подання це в’юшки. Вона являє собою зберігається запит до бази даних, також її можна назвати віртуальна таблиця, але в цій таблиці дані не зберігаються, а зберігається лише сам запит. Але, тим не менше, до в’юшки можна звертатися як до звичайної таблиці та видавати дані з неї.

Ми з Вами говоримо про базах даних, в яких використовується мова SQL, виходячи з цього, можна зробити висновок, що VIEWS можна створити на даній мові. Це дуже поширений об’єкт в базі даних, тому у всіх СУБД є можливість створювати уявлення в графічному інтерфейсі шляхом натискання кнопки «створити уявлення»Або«Створити новий вид», А також, звичайно ж, з використанням інструкції« CREATE VIEW ».

Але перед тим як вчитися створювати в’юшки, давайте поговоримо про те, навіщо вони потрібні і які переваги вони нам дадуть.

Навіщо потрібні уявлення?

Одним з головних гідністю уявлень є те, що вони сильно спрощують взаємодію з даними в базі даних. Припустимо, Вам необхідно кожен раз робити складну за своєю структурою вибірку, а як Ви знаєте, запит на вибірку може бути, ну просто дуже складний і цього немає меж. І якщо не було б в’юшок, то Вам доводилося б щоразу запускати цей запит, або навіть його модифікувати, наприклад, для вставки умов. А так як у нас є такі об’єкти як уявлення, нам цього робити не доведеться. Ми просто на все створимо одну в’юшку, і потім вже до неї будемо звертатися за допомогою вже простих запитів, які також можна робити складними, якщо це необхідно. Наприклад, в’юшки також можна поєднувати з іншими таблицями або іншими уявленнями.

До уявленням можна звертатися і з додатків, наприклад, Вам потрібно вивести який-небудь звіт, формування якого вимагає якихось розрахунків, це легко можна реалізувати шляхом написання відповідного запиту (в якому і будуть розраховуватися дані, наприклад з різних таблиць) І вставці цього запиту у в’юшку. А потім вже звертатися до цієї в’юшки, наприклад за допомогою такого простого запиту як:

SELECT * FROM TableName

Як створити уявлення VIEWS?

Тепер давайте поговоримо про те, як створювати ці самі в’юшки. По-перше, відразу скажу, що для цього необхідні знання SQL (для побудови складних запитів). По-друге, Ви попередньо повинні визначитися, що Вам необхідно вивести в результаті того чи іншого запиту. Розглядати процес створення уявлення шляхом натискання кнопок ми не будемо, так це досить просто. Ми розглянемо створення VIEWS з використанням мови SQL (хоча і це теж просто).

Наприклад, в PostgreSQL запит створення уявлення буде виглядати так:

CREATE VIEW MyView
AS
SELECT id, name, org
FROM work.TableName

де,

  • CREATE VIEW – команда створення уявлення;
  • MyView – назва Вашої майбутньої в’юшки;
  • SELECT id, name, org FROM work.TableName – запит на вибірку.

Тут ми використовували простий запит на вибірку, Ви в свою чергу можете писати будь-який запит, навіть з об’єднанням декількох таблиць і умов до них.

Повний синтаксис команди CREATE VIEW (в PostgreSQL) виглядає наступним чином:

CREATE [OR REPLACE]
[ALGORITHM = TEMPTABLE]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]

Після того, як Ви створили уявлення, Ви можете до нього звертатися. А дані, які буде виводити в’юшки, будуть змінюватися в залежності від змін даних у вихідних таблицях, так як дані у в’юшки формуються при зверненні до цієї вистави. Виходячи з цього, можна зробити висновок, що дані, які виводить в’юшки, будуть завжди актуальні.

Ссылка на основную публикацию