Розріз (предста́влення, подання́) да́них (англ. View) у реляційних базах даних — збережений результатний набір запиту. Зміна даних у таблицях бази даних змінює їх у відповідних розрізах.
Є два види розрізів: віртуальний (англ. virtual view) та матеріалізований (англ. materialized view).
- Віртуальний розріз не зберігає результат виконання запиту в базі даних, а щоразу отримується динамічно. Він доступний як віртуальна таблиця, що складається з результатів запиту. На відміну від звичайних таблиць в реляційній БД, зріз даних не є частиною схеми даних: це динамічна, віртуальна таблиця що є результатом запиту до даних з бази.
- Матеріалізований розріз зберігається як звичайна таблиця. Його слід оновлювати при кожній зміні даних у таблицях, від яких він залежить. Відповідно оновлення таблиць, від яких він залежить, буде проводитись із затримкою. Як варіант розв'язання цієї проблеми можна вказати, що матеріалізований зріз слід оновлювати періодично (щодня, щогодини тощо). Таким чином у матеріалізованих зрізах будуть зберігатися майже актуальні дані зі швидким доступом.
Спосіб створення і вміст розрізу
Типовим способом створення розрізу даних для СУБД (що підтримують мову запитів SQL), є зв'язування зрізу з певним SQL-запитом. Відповідно, вміст зрізу — це результат виконання цього запиту, а можливості побудови зрізу обмежуються лише ступенем складності SQL-діалекту цієї СУБД. Так, для типових СУБД, таких як PostgreSQL, Interbase, Firebird, Microsoft SQL Server, Oracle, зріз може містити:
- підмножину записів з таблиці БД, що відповідає певним умовам (наприклад, при наявності однієї таблиці «Люди» можна створити два розрізи даних «Чоловіки» і «Жінки», в кожному з яких будуть записи тільки про людей відповідної статі);
- результат обробки даних у таблиці за певними правилами (наприклад, розріз може містити всі дані реальної таблиці, але з приведенням рядків у верхній регістр і обрізаними початковими й кінцевими пробілами);
- результат об'єднання (join) кількох таблиць (наприклад, за наявності таблиць «Люди», «Адреса», «Вулиця», «Фірма та організація» можна побудувати розріз, який буде виглядати як таблиця, яка для кожної людини містить його особові дані, як то адреса, місце проживання, назва організації, де він працює, і адресу організації);
- результат об'єднання кількох таблиць з однаковими назвами й типами полів, коли в розріз потрапляють всі записи кожної з таблиць, які зливаються (можливо, за винятком повторів);
- результат групування записів у таблиці (наприклад, за наявності таблиці «витрати» з записами по кожному платежу можна побудувати розріз, що містить суму коштів, витрачених на кожну окрему статтю);
Зрізи даних використовуються в запитах до БД, так само як і звичайні таблиці. У разі SQL-СУБД назва зрізу може перебувати в SQL-запиті на місці назви таблиці (в частині FROM). Запит з розрізом виконується СУБД, так само як запит, в якому на місці назви зрізу перебуває підзапит, який визначає цей зріз. При цьому СУБД з розвиненими можливостями оптимізації перед виконанням запиту може проводити спільну оптимізацію (запиту верхнього рівня і запиту, що визначає зріз даних) з метою мінімізації витрат на вибірку даних.
- Розріз приховує від прикладної програми складність запитів і саму структуру таблиць БД. Коли програмі потрібні певні дані з таблиці, вона робить найпростіший запит з підготовленого зрізу. При цьому навіть якщо для отримання цих даних потрібен досить складний запит, сама програма цього запиту не містить.
- Використання розрізу даних дозволяє відокремити прикладну схему даних від схеми зберігання. З погляду програми структура даних відповідає тим зрізам, з яких програма ці дані отримує. У базі дані можуть зберігатися зовсім іншим чином, досить лише створити зріз, що відповідає потребам програми. Поділ дозволяє незалежно модифікувати програму і схему зберігання даних: як при зміні структури фізичних таблиць, так і при зміні програми досить змінити зрізи відповідним чином. Зміна програми не зачіпає фізичні таблиці, а зміна фізичної структури таблиць не вимагає коригування програми.
- За допомогою розрізів забезпечується ще один рівень захисту даних. Користувачеві можуть надаватися права тільки на зріз, завдяки чому він не буде мати доступу до даних, що зберігаються в таблицях.
- Оскільки SQL-запит, що вибирає дані розрізу, зафіксований на момент його створення, СУБД отримує можливість застосувати до цього запиту оптимізацію або попередню компіляцію, що позитивно позначається на швидкості виконання запиту, у порівнянні з прямим виконанням того ж запиту зі сторонньої програми.
Примітки
- Е. М. Пройдаков, Л. А. Теплицький. Англо-Український тлумачний словник з обчислювальної техніки, Інтернету і програмування. — СофтПрес, 2005. — С. 552. — .
- https://e2u.org.ua/s?w=view&dicts=2&highlight=on&
Додаткові джерела
- Едуард Михайлович Пройдаков, Леонід Абрамович Теплицький. Англо-український тлумачний словник з обчислювальної техніки, Інтернету і програмування : 14 000 термінів, абревіатур та акронімів / гол. ред. Г.І. Артеменко. — 2-е вид., доп. і доопр. — Київ : ВД СофтПрес, 2006. — 823 с. — .
- Materialized query tables in DB2 [Архівовано 3 січня 2013 у Archive.is]
- Views in Microsoft SQL Server [ 18 лютого 2017 у Wayback Machine.]
- Views in MySQL [ 30 червня 2017 у Wayback Machine.]
- Views in PostgreSQL [ 11 травня 2016 у Wayback Machine.]
- Views in SQLite [ 16 червня 2017 у Wayback Machine.]
- Views in Oracle 11.2 [ 2 січня 2018 у Wayback Machine.]
Це незавершена стаття про бази даних. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Rozriz predsta vlennya podannya da nih angl View u relyacijnih bazah danih zberezhenij rezultatnij nabir zapitu Zmina danih u tablicyah bazi danih zminyuye yih u vidpovidnih rozrizah Ye dva vidi rozriziv virtualnij angl virtual view ta materializovanij angl materialized view Virtualnij rozriz ne zberigaye rezultat vikonannya zapitu v bazi danih a shorazu otrimuyetsya dinamichno Vin dostupnij yak virtualna tablicya sho skladayetsya z rezultativ zapitu Na vidminu vid zvichajnih tablic v relyacijnij BD zriz danih ne ye chastinoyu shemi danih ce dinamichna virtualna tablicya sho ye rezultatom zapitu do danih z bazi Materializovanij rozriz zberigayetsya yak zvichajna tablicya Jogo slid onovlyuvati pri kozhnij zmini danih u tablicyah vid yakih vin zalezhit Vidpovidno onovlennya tablic vid yakih vin zalezhit bude provoditis iz zatrimkoyu Yak variant rozv yazannya ciyeyi problemi mozhna vkazati sho materializovanij zriz slid onovlyuvati periodichno shodnya shogodini tosho Takim chinom u materializovanih zrizah budut zberigatisya majzhe aktualni dani zi shvidkim dostupom Sposib stvorennya i vmist rozrizuTipovim sposobom stvorennya rozrizu danih dlya SUBD sho pidtrimuyut movu zapitiv SQL ye zv yazuvannya zrizu z pevnim SQL zapitom Vidpovidno vmist zrizu ce rezultat vikonannya cogo zapitu a mozhlivosti pobudovi zrizu obmezhuyutsya lishe stupenem skladnosti SQL dialektu ciyeyi SUBD Tak dlya tipovih SUBD takih yak PostgreSQL Interbase Firebird Microsoft SQL Server Oracle zriz mozhe mistiti pidmnozhinu zapisiv z tablici BD sho vidpovidaye pevnim umovam napriklad pri nayavnosti odniyeyi tablici Lyudi mozhna stvoriti dva rozrizi danih Choloviki i Zhinki v kozhnomu z yakih budut zapisi tilki pro lyudej vidpovidnoyi stati rezultat obrobki danih u tablici za pevnimi pravilami napriklad rozriz mozhe mistiti vsi dani realnoyi tablici ale z privedennyam ryadkiv u verhnij registr i obrizanimi pochatkovimi j kincevimi probilami rezultat ob yednannya join kilkoh tablic napriklad za nayavnosti tablic Lyudi Adresa Vulicya Firma ta organizaciya mozhna pobuduvati rozriz yakij bude viglyadati yak tablicya yaka dlya kozhnoyi lyudini mistit jogo osobovi dani yak to adresa misce prozhivannya nazva organizaciyi de vin pracyuye i adresu organizaciyi rezultat ob yednannya kilkoh tablic z odnakovimi nazvami j tipami poliv koli v rozriz potraplyayut vsi zapisi kozhnoyi z tablic yaki zlivayutsya mozhlivo za vinyatkom povtoriv rezultat grupuvannya zapisiv u tablici napriklad za nayavnosti tablici vitrati z zapisami po kozhnomu platezhu mozhna pobuduvati rozriz sho mistit sumu koshtiv vitrachenih na kozhnu okremu stattyu Zrizi danih vikoristovuyutsya v zapitah do BD tak samo yak i zvichajni tablici U razi SQL SUBD nazva zrizu mozhe perebuvati v SQL zapiti na misci nazvi tablici v chastini FROM Zapit z rozrizom vikonuyetsya SUBD tak samo yak zapit v yakomu na misci nazvi zrizu perebuvaye pidzapit yakij viznachaye cej zriz Pri comu SUBD z rozvinenimi mozhlivostyami optimizaciyi pered vikonannyam zapitu mozhe provoditi spilnu optimizaciyu zapitu verhnogo rivnya i zapitu sho viznachaye zriz danih z metoyu minimizaciyi vitrat na vibirku danih Rozriz prihovuye vid prikladnoyi programi skladnist zapitiv i samu strukturu tablic BD Koli programi potribni pevni dani z tablici vona robit najprostishij zapit z pidgotovlenogo zrizu Pri comu navit yaksho dlya otrimannya cih danih potriben dosit skladnij zapit sama programa cogo zapitu ne mistit Vikoristannya rozrizu danih dozvolyaye vidokremiti prikladnu shemu danih vid shemi zberigannya Z poglyadu programi struktura danih vidpovidaye tim zrizam z yakih programa ci dani otrimuye U bazi dani mozhut zberigatisya zovsim inshim chinom dosit lishe stvoriti zriz sho vidpovidaye potrebam programi Podil dozvolyaye nezalezhno modifikuvati programu i shemu zberigannya danih yak pri zmini strukturi fizichnih tablic tak i pri zmini programi dosit zminiti zrizi vidpovidnim chinom Zmina programi ne zachipaye fizichni tablici a zmina fizichnoyi strukturi tablic ne vimagaye koriguvannya programi Za dopomogoyu rozriziv zabezpechuyetsya she odin riven zahistu danih Koristuvachevi mozhut nadavatisya prava tilki na zriz zavdyaki chomu vin ne bude mati dostupu do danih sho zberigayutsya v tablicyah Oskilki SQL zapit sho vibiraye dani rozrizu zafiksovanij na moment jogo stvorennya SUBD otrimuye mozhlivist zastosuvati do cogo zapitu optimizaciyu abo poperednyu kompilyaciyu sho pozitivno poznachayetsya na shvidkosti vikonannya zapitu u porivnyanni z pryamim vikonannyam togo zh zapitu zi storonnoyi programi PrimitkiE M Projdakov L A Teplickij Anglo Ukrayinskij tlumachnij slovnik z obchislyuvalnoyi tehniki Internetu i programuvannya SoftPres 2005 S 552 ISBN 966 530 070 9 https e2u org ua s w view amp dicts 2 amp highlight on amp Dodatkovi dzherelaEduard Mihajlovich Projdakov Leonid Abramovich Teplickij Anglo ukrayinskij tlumachnij slovnik z obchislyuvalnoyi tehniki Internetu i programuvannya 14 000 terminiv abreviatur ta akronimiv gol red G I Artemenko 2 e vid dop i doopr Kiyiv VD SoftPres 2006 823 s ISBN 966 530 027 X Materialized query tables in DB2 Arhivovano 3 sichnya 2013 u Archive is Views in Microsoft SQL Server 18 lyutogo 2017 u Wayback Machine Views in MySQL 30 chervnya 2017 u Wayback Machine Views in PostgreSQL 11 travnya 2016 u Wayback Machine Views in SQLite 16 chervnya 2017 u Wayback Machine Views in Oracle 11 2 2 sichnya 2018 u Wayback Machine Ce nezavershena stattya pro bazi danih Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi