Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vidpovidi_BD_2009.doc
Скачиваний:
11
Добавлен:
18.09.2019
Размер:
690.69 Кб
Скачать

20.Об’єктно-орієнтовані бази даних: склад та структура об’єктно-орієнтованої моделі, організація збереження даних та доступу до даних; об’єктно-реляційні бази даних.

Об΄єктно-орієнтовані БД виконують обробку запитів удвічі швидше, ніж ієрархічні.

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

Об’єктно-орієнтовані БД

Виникнення напряму ООБД визначається необхідністю розробки складних інформаційних прикладних систем, для яких технологія попередніх систем БД не була цілком задовільною. У класичній постановці об’єктно-орієнтований підхід базується на концепціях: об'єкта й ідентифікатора об'єкта; атрибутів і методів; класів; ієрархії й спадкування класів.

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

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

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

2) потреба в механізмі визначення різного роду семантичних зв'язків між об'єктами різних класів. Фактично це означає вимогу повного поширення на ООБД засобів семантичного моделювання даних. Потреба у використанні абстракції асоціювання відзначається й у зв'язку з використанні ООБД у сфері автоматизованого проектування й інженерії.

3)перегляд поняття класу. У контексті ООБД виявляється більше зручним розглядати клас як безліч об'єктів даного типу, тобто одночасно підтримувати поняття й типу й класу об'єктів.

Першою формалізованою й загальновизнаною моделлю даних була реляційна модель Кодда. У цій моделі, як і у всіх наступних, виділялися три аспекти - структурний, цілісний і маніпуляційний. Структури даних у реляційної моделі засновані на пласких нормалізованих відносинах, обмеження цілісності виражаються за допомогою засобів логіки першого порядку, маніпулювання даними здійснюється на основі реляційної алгебри або реляційного вирахування.

Основні труднощі об’єктно-орієнтованого моделювання даних у тім, що такого розвиненого математичного апарата, на який могла б опиратися загальна об'єктно-орієнтована модель даних, немає. У великому рахунку тому дотепер немає базової об’єктно-орієнтованої моделі. Беери пропонує загалом формальну основу ООБД, що не є моделлю даних у традиційному змісті, але що дозволяє дослідникам і розроблювачам систем ООБД принаймні говорити на одній мові.

1) слідуючи практиці багатьох ООБД, пропонується виділити два рівні моделювання об'єктів: нижній (структурний) і верхній (поведінковий). На структурному рівні підтримуються складні об'єкти, х ідентифікація й різновиди зв'язку "is-a". База даних - це набір елементів даних, зв’язаних відносинами "входить у клас" або "є атрибутом"=> БД може розглядатися як орієнтованого граф. Важливим моментом є підтримка поряд з поняттям об'єкта поняття значення (на цьому побудована об'єктно-орієнтована СУБД O2).

2) чіткий поділ схеми БД і самої БД. В якості первинних концепцій схемного рівня ООБД виступають типи й класи. Відзначається, що у всіх системах, що використовують тільки одне поняття (або тип, або клас), це поняття неминуче перевантажене: тип припускає наявність деякої безлічі значень, обумовленого структурою даних цього типу; клас також припускає наявність множини об'єктів, але ця множина визначається користувачем. Виходить, типи й класи відіграють різну роль, і для строгості й недвозначності потрібна одночасна підтримка обох понять.

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

3) Важливим, хоча й недостатньо обґрунтованим припущенням Беери є те, що двох традиційних рівнів - схеми й даний - для ООБД недостатньо. Для точного визначення ООБД потрібен рівень мета-схеми, вміст якої повинен визначати види об'єктів і зв'язків, припустимих на схемному рівні БД. Мета-схема повинна грати для ООБД таку ж роль, яку грає структурна частина реляційної моделі даних для схем РБД.

Приклад ООБД:

В O2 підтримуються об'єкти й значення. Об'єкт - це пара (ідентифікатор, значення), причому об'єкти інкапсульовані, тобто їхні значення доступні тільки через методи - процедури, прив'язані до об'єктів. Значення можуть бути атомарними або структурними. Структурні значення будуються зі значень або об'єктів, представлених своїми ідентифікаторами, за допомогою конструкторів множин, кортежів, списків. Елементи структурних значень доступні за допомогою визначених операцій (примітивів).

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

Об'єкти й значення можуть бути іменованими. З іменуванням об'єкта або значення зв'язана тривалість його зберігання (persistency): будь-які іменовані об'єкти або значення довготривалі; будь-які об'єкт або значення, що входять як частина в інший іменований об'єкт або значення, довгострокові. З допомогою спеціальної вказівки, що задається при визначенні класу, можна домогтися довгостроковості зберігання будь-якого об’єкта та цього класу. У цьому випадку система автоматично породжує значення-множину, ім'я якої збігається з ім'ям класу. У цій множині гарантовано втримуються всі об'єкти даного класу.

Метод - програмний код, прив'язаний до конкретного класу й може бути застосований до об'єктів цього класу. Визначення методу в O2 виробляється в 2 етапи. Спочатку оголошується сигнатура методу, тобто його ім'я, клас, типи або класи аргументів і тип або клас результату. Методи можуть бути публічними (доступними з об'єктів інших класів) або приватними (доступними тільки усередині даного класу). На другому етапі визначається реалізація класу на одній з мов програмування O2 (докладніше мови обговорюються в наступному розділі нашого огляду).

У моделі O2 підтримується множинне спадкування класів на основі відношення супертип/підтип. У підкласі допускається додавання й/або перевизначення атрибутів і методів. Можливі при множинному спадкуванні двозначності (по іменуванню атрибутів і методів)дозволяються шляхом перейменування або шляхом явної вказівки джерела спадкування. Об'єкт підкласу є об'єктом кожного суперкласу, на основі якого породжений даний підклас. Підтримується визначений клас "Оbject", що є коренем решітки класів; будь-який інший клас є неявним спадкоємцем класу "Object" й успадковує визначені методи ("is_same", "is_value_equal" і т.д.).

Специфічна особливість моделі O2 - можливість оголошення додаткових "виняткових" атрибутів і методів для іменованих об'єктів. Це значить, що конкретний іменований об'єкт-представник класу може мати тип, що є підтипом типу класу. Звичайно, з такими атрибутами не працюють стандартні методи класу, але спеціально для іменованого об'єкта можуть бути визначені додаткові (або перевизначені стандартні) методи, для яких додаткові атрибути вже доступні. Підкреслюється, що додаткові атрибути й методи прив’язуються не до конкретного об'єкта, а до імені, за яким у різні моменти часу можуть стояти загалом кажучи різні об'єкти. Для реалізації виняткових атрибутів і методів потрібне розвиток техніки пізнього зв'язування.

Особливості ООБД у порівнянні з ООП:

Необхідно зберігати екземпляри об”єктів;необхідно перетворити показники на об”єкти на постійні унікальні ідентифікатори;необхідно зберігати методи об”єктного класу.

Після створення об”єктів необхідно встановити зв”язки між ними.ООБД на відміну від реляційних –вони є навігаційними (є сукупність таблиць,ієрархія-процес руху по об”єктам (таблицям))).

Принципи побудови ООБД: в якості одиниці зберігання і маніпуляції виступає об”єкт; кожен об”єкт має унікальний ідентифікатор;об”єкти організовуються в ієрархію типів і підтипів;стан об”єкту визначається цого даними і зв”язкаии з об2жктами.;поведінка об2єкту визн .його методами.

Для роботи з ООБД існує Object database Manager group ODMG (Oracle,ibm тощо).

Розробили 3 мови для ООБД:dql-DATA QUERY LANGUAGE,ddl-data dephinition language,dml-data manipulation language.

Типи відношень в ООБД:

1:1,1:N,M:N,наслідування ,агрегація/

+: ця система працюватиме швидше

-: складність написання.

Об”єктно-реляційні бд:

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

ОРБД дозволяють у порівнянні з РБД моделювати більш складні структури даних .Застосовують нові типи даних.(авторський тип даних).Для роботи зООБД використовується мова SQL 3.

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