Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fylthy animal.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
908 Кб
Скачать
☆
  1. Об'єктно-орієнтовані бази даних

Одним з найновіших напрямків досліджень в області БД є застосування об’єктно-орієнтованої парадигми до їх побудови

Результатом таких досліджень стала об’єктно-орієнтована БД

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

В об’єктно-орієнтованій СКБД зв’язки між об’єктами забезпечуються засобами СКБД

Іншою задачею, яку вирішує об’єктно-орієнтована СКБД, полягає у забезпеченні постійного зберігання наявних об’єктів

Така вимога, не зважаючи на свою очевидність, суттєво відрізняється від наявних методів роботи з об’єктами

Об’єкти створюються в процесі виконання об’єктно-орієнтованої програми, зазвичай знищуються після її завершення

Однак об’єкти, які створено та передано до БД певною програмою, повинні зберігатися і після завершення роботи такої програми

Важливою перевагою об’єктно-орієнтованих БД є те, що вони дозволяють створювати ПЗ певної системи в рамках однієї парадигми

Такий метод суттєво відрізняє дану технологію від загальноприйнятої практики застосування імперативних мов програмування для при розробці ПЗ, яке взаємодіє з релятивною БД

Для демонстрації даної переваги розглянемо задачу зберігання імен співробітників у реляційній БД

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

Така структура виправдовує себе коли потрібно працювати з числовими або символьними даними

Однак розширення реляційної БД шляхом створення нового відношення, яке містить атрибути аудіо- та відеотипів, може виявитися складною задачею

Щоб опрацьовувати дані цих типів необхідно буде змінити наявні процедури

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

  1. Забезпечення цілісності бд - протокол фіксації / відкоту змін в бд

Поняття транзакції має безпосередній зв'язок з поняттям цілісності БД. Дуже часто БД може мати такі обмеження цілісності, які просто неможливо не порушити, виконуючи лише один оператор зміни БД. Наприклад, нехай в базі даних є дві таблиці ПРАЦІВНИКИ і ВІДДІЛИ. Природним обмеженням цілісності є збіг значення атрибуту ВІТД_РОЗМІР в рядку таблиці ВІДДІЛИ, що описує даний відділ, з числом рядків таблиці СПІВРОБІТНИКИ даного відділу. Як в цьому випадку прийняти на роботу у відділ нового співробітника? Незалежно від того, яка операція буде виконана першою (вставка нового рядку у таблицю СПІВРОБІТНИКИ або модифікація існуючого рядку таблиці ВІДДІЛИ) після виконання операції база даних залишиться в нецілісному стані.

Тому для підтримки подібних обмежень цілісності допускається їх порушення в транзакції з тією умовою, щоб до моменту завершення транзакції умови цілісності були дотримані. У системах з розвиненими засобами обмеження та контролю цілісності кожна транзакція починається при цілісному стані БД і повинна залишити цей стан цілісними після свого завершення. Недотримання цієї умови призводить до того, що замість фіксації результатів транзакції відбувається її відкат (тобто замість оператора COMMIT виконується оператор ROLLBACK), і БД залишається в такому стані, в якому перебувала до моменту початку транзакції, тобто в цілісному стані.

  1. Для уникнення таких аномалій(СКБД може ставити транзакції в чергу, внаслідок чого. вони будуть виконуватися послідовно), планувальник СКБД використовує механізм, який називається протоколом блокування.

Існує два типи блокувань:

  • спільне

  • виняткове

Ці типи співвідносяться з типами доступу до даних, які необхідні транзакціям. Якщо в процесі виконання транзакції елемент не буде змінюватися — відбувається спільний доступ. Якщо ж елемент буде змінюватися — доступ стає винятковим

На початку запиту, кожна транзакція повинна вказати необхідний тип доступу до даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]