Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП, АЛЕКСЕЙ КОВАЛЬЧУК, ОПК-313.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.49 Mб
Скачать

3.3.2 Розробка уявлень для відображення результатів вибірки

Під уявленням (View) в базах даних розуміють такий об’єкт, котрий є результатом виконання запиту до бази даних, визначеного за допомогою оператора ‘SELECT’, в момент звернення до уявлення.

Уявлення іноді називають «віртуальними таблицями», оскільки результат є доступним для користувача у вигляді таблиці. Але саме уявлення не містить даних, а витягує їх з таблиць в момент звернення до нього. Якщо дані змінені у базовій таблиці, то і користувач отримає актуальні записи при зверненні до уявлення. Уявлення можуть основуватися як на таблицях, так і на інших уявленнях, тобто можуть бути вкладеними.

Переваги використання уявлень:

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

  2. Дозволяє розділити логіку зберігання даних та програмного забезпечення. Можна змінювати структуру даних, не порушуючи програмний код, потрібно лише створити уявлення, аналогічні таблицям, до яких раніше зверталися додатки. Це дуже зручно, коли немає можливості змінити програмний код або до однієї бази даних звертаються кілька додатків з різними вимогами до структури даних.

  3. Зручність у використанні за рахунок автоматичного виконання таких дій, як доступ до певної частини рядків і/або стовпців, отримання даних з декількох таблиць та їх перетворення за допомогою різних функцій.

  4. Уявлення приховують від прикладної програми складність запитів і саму структуру таблиць БД. Коли прикладній програмі потрібна таблиця з певним набором даних, вона робить найпростіший запит з підготовленого уявлення.

Наступне уявлення «Person_Type» з’єднує необхідну інформацію із двох таблиць – «Person» і «Type» для зручного перегляду усіх створених контактів та їх типів.

CREATE VIEW Person_Type (Name, Surname, Mobile, Type)

AS SELECT Name, Surname, Mobile, type.`Value`

FROM person

JOIN type ON `person`.`Type_ID` = type.`Type_ID`

Результат уявлення «Person_Type» зображено на рисунку 3.8.

Рисунок 3.8 – Результат уявлення «Person_Type»

У базі даних існує таблиця «User_Person», котра зберігає ідентифікатор користувача та контактів, котрих він створив, а також дату їх знайомства. Але для зручного використання необхідно також знати хоча б ім’я та прізвище користувача та контакту. Щоб кожного разу для отримання цієї інформації не виконувати команду «SELECT», було створене наступне уявлення «Person_Users».

CREATE VIEW Person_Users (UserName, UserSurname, MeetingDate,

PersonName, PersonSurname, Type) AS

SELECT user.UserName, user.UserSurname, user_person.`MeetingDate`,

`person`.`Name`, person.`Surname`, type.`Value`

FROM person

JOIN type ON `person`.`Type_ID` = type.`Type_ID`

JOIN user_person ON person.`Person_ID` = user_person.`Person_ID`

JOIN user ON user_person.`User_ID` = user.`User_ID`

Результат створеного уявлення «Person_Users» зображено на рисунку 3.9.

Рисунок 3.9 – Результат уявлення «Person_Users»