Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OBDZ3_Lect_5-7_Arcitecture.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
406.43 Кб
Скачать

3.4.8. Об'єктно-реляційні субд

Інший спосіб об'єднання можливостей реляційного і об'єктно-орієнтованого підходу до управління даними запропонував відомий американський вчений Майкл Стоунбрейкер Згідно його переконанням реляційну СУБД потрібно просто доповнити засобами доступу до складних даних. При цьому ядро СУБД не вимагає переробки, як у випадку з Sql3, і зберігає всі властиві реляційним системам. Об'єктні розширення реалізуються у вигляді надбудов, які динамічно підключаються до ядра. На основі цієї ідеї під керівництвом М.Стоунбрейкера в університеті Берклі (Каліфорнія, США) була розроблена СУБД Postgres, яка має наступні ключові можливості:

1. Типи, оператори і методи доступу, визначувані користувачем. Наприклад для збереження інформації про земельну ділянку можна визначити новий тип даних "ділянка", необхідні операції над ним (наприклад, обчислення площі), а також метод доступу, оскільки за допомогою B-дерева не можна виконати двовимірний пошук в завданні про багатокутники, що перекриваються. Тут доцільно використовувати дерево вищої розмірності (R-дерево) або інші методи.

2. Підтримка складних об'єктів, що є наборами інших об'єктів.

3. Перевантаження операторів маніпулювання даними.

Наприклад, можливе створення такої конструкції

SELECT власник FROM ділянки WHERE розташування_ділянки IN заданна_область

  1. Створення функцій, визначуваних користувачем.

  1. Динамічне (тобто без переривання роботи СУБД) додавання нових типів даних, операторів, функцій і методів доступу. Опис всіх цих можливостей створюється на мові C і компілюється в об'єктний файл, який може динамічно завантажуватися сервером СУБД.

  1. Спадковість даних і функцій. Наприклад, від типу "ділянка" ми можемо породити нащадків "звичайна ділянка" (сума_налогу, надходження_платежів) і "ділянка звільнена від податку" (сума_налогу, причина_звільнення). При цьому функція заборгованість(ділянка) повинна виконуватися для всіх типів ділянок.

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

Крім того, Postgres володіє властивостями, які дозволяють назвати його темпоральній СУБД. При будь-якому оновленні запису створюється її нова копія, а попередній варіант продовжує існувати вічно. Навіть після видалення запису всі накопичені варіанти зберігаються в базі даних. Можна витягувати з бази даних будь-який варіант запису, якщо вказати момент або інтервал часу, коли цей варіант був поточним. Досягнення цих властивостей дозволило також переглянути схеми журналізації і відкату транзакцій.

Проект Postgres розвивається зараз (2012 рік) міжнародною групою незалежних розробників. До можливостей СУБД додані підтримка SQL (у перспективі планується забезпечення сумісності із стандартом ANSI Sql-92), тому дещо було змінено назву СУБД - тепер це POSTGRESQL, оптимізатор запитів на основі генетичних алгоритмів і багато що інше. При цьому POSTGRESQL залишається вільно поширюваною системою, причому безкоштовно можна отримати як початковий код, так і бінарні файли, зібрані для тієї або іншої платформи (підтримуються практично всі різновиди ОС Unix).

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