TY - JOUR AU - Markitan, Volodymyr AU - Vozniak, Mykola AU - Bulatetska , Lesia AU - Bulatetskyi, Vitalii PY - 2022/06/30 Y2 - 2024/03/29 TI - ЗБЕРІГАННЯ ІЄРАРХІЧИХ СТРУКТУР В РЕЛЯЦІЙНИХ БАЗАХ ДАНИХ JF - Електронне фахове наукове видання «Кібербезпека: освіта, наука, техніка» JA - Кібербезпека: освіта, наука, техніка VL - 4 IS - 16 SE - Статті DO - 10.28925/2663-4023.2022.16.8597 UR - https://csecurity.kubg.edu.ua/index.php/journal/article/view/366 SP - 85-97 AB - <p>Системи управління реляційними базами даних і сама мова SQL не мають жодних вбудованих механізмів для зберігання та управління ієрархічними структурами. Існує кілька&nbsp; різних способів представлення дерев в реляційних базах даних. В роботі розглянуто метод моделювання ієрархічних структур даних у вигляді списків суміжності (Adjacency List)&nbsp; та таблиці зв’язків (Closure Table). Для кожного методу, подано приклади написання запитів для розв’язання типових завдань, які зустрічаються під час роботи з деревовидними структурами: пошук всіх дочірніх вузлів, всіх нащадків та предків заданого вузла, переміщення вузла до іншого батьківського вузла, видалення вузлів з усіма його нащадками. Розглянуто можливість використання рекурсивних запитів при&nbsp; відображення всього дерева в моделі списків суміжності. У випадку, якщо глибина дерева&nbsp; не відома, або не відомо на якому рівні знаходиться заданий елемент, то запит не може бути побудований стандартними засобами оператора SELECT, тоді потрібно створювати рекурсивну процедуру, або писати рекурсивний запит. Для того, щоб уникнути рекурсії при виведенні всього дерева, всіх вузлів піддерева та&nbsp; пошук шляху від певного місця до кореня, моделювання ієрархічних структур даних виконують у вигляді таблиці зв’язків (Closure Table). При цьому ускладнюється процес додавання нового вузла, переміщення вузла до іншого батьківського вузла. В такому випадку для спрощення написання запитів пропонується створювати тригери, які будуть будувати, або перебудовувати зв’язки. Враховуючи те, що іноді виникає потреба збереження залежних, зокрема ієрархічних структур в реляційній базі даних, потрібно вміти орати модель збереження таких даних.&nbsp; На вибір методу, для розв’язання конкретної задачі, впливає швидкість виконання основних операцій з деревами.&nbsp; Дослідження різних варіантів організації деревоподібних структур SQL дозволить зрозуміти та обрати самий оптимальний спосіб побудови такої структури в реляційній базі даних для конкретної задачі. Усі, наведені в даній роботі SQL запити, створювалися та тестувалися для реляційних баз даних Oracle.</p> ER -