Проектування об'єктно-орієнтованих баз даних
Проектування об'єктно-орієнтованих баз даних (ООБД) має багато спільних рис з проектуванням реляційних БД і в цілому можна застосовувати методологію концептуального і логічного моделювання, яка застосовується для створення традиційних БД. Відмінності полягають у такому.
Процес проектування реляційних БД в основному направлений на ідентифікацію елементів даних, а не на визначення операцій з даними. Значна частина обмежень на дані і перетворення даних зазвичай розглядається на більш пізніх етапах проектування БД і реалізується на програмному коді застосувань. Операції не є частиною моделі БД.
При проектуванні ООБД визначаються як дані, так і процедури їх обробки.На етапі реалізації обов'язково повиннівикористовуватися об'єктно-орієнтовані мови. При проектуванні ООБД дані і процедури вважаються єдиною сутністю і об'єкти розглядаються як окремі модулі.
Нормалізація зберігає своє значення і дозволяє зменшити збитковість даних. Для ідентифікації кожного об'єкта використовується унікальний ідентифікатор об'єкта. Кожен атрибут об'єкта залежить від ідентифікатора. Також для ідентифікації атрибутів об'єкта може вводитись первинний ключ. Схема БД містить опис структури даних об'єкта, обмеження, а також правила поведінки об'єкта.
В об'єктно-орієнтованих моделях є зв'язки двох типів:
· посилання між класами;
· наслідування в ієрархії класів.
Реляційні моделі використовують зв'язки на основі значень. Це означає, що зв'язки між сутностями встановлюються через спільні значення в одному або декількох атрибутах різних сутностей. На відміну від цього в об'єктно-орієнтованих моделях даних використовується підхід заснований на ідентифікаторах (OID), тому зв'язки не залежать від стану об'єкта.
В об'єктно-орієнтованих моделях даних створюється схема, в якій зв'язки складають частину структури БД. Об'єктно-орієнтовані БД є навігаційними: доступ до даних виконується за допомогою зв'язків, які зберігаються всередині самих даних. Об'єктно-орієнтовані моделі даних також передбачають доступ, орієнтований на множинність значень. Навігаційний доступ реалізується за допомогою ідентифікаторів OID.
Асоціативний доступ, орієнтований на множинність об’єктів, в об'єктно-орієнтованих моделях даних реалізується за допомогою явно визначених методів. При проектуванні операції для маніпуляції екземплярами об'єктів в цьому випадку реалізуються в схемі БД.
Процес об'єктно-орієнтованого проектування є ітеративним і послідовним. На рис. 11.1 показана послідовність об'єктно-орієнтованого проектування.
Модель, що отримується в результаті проектування може мати зв'язки "один до одного", "один до багатьох", "багато до багатьох", а також рекурсивні зв'язки, що пов'язано з більшою потужністю об'єктно-орієнтованої моделі. В об'єктно-орієнтованій моделі даних зв'язки між об'єктами представляються атрибутами, які реалізуються об'єктними ідентифікаторами OID.
Визначення об'єктів
Визначення внутрішнього представлення даних, семантичних обмежень і операцій
Створення класів на основі схожих об'єктів, реалізація обмежень і операцій за допомогою методів
Побудова ієрархії класів за допомогою базових типів даних і розроблених класів
Визначення відношень усередені класу (зв'язки атрибут-клас) за допомогою базових типів даних
Рис. 11.1. Етапи проектування об'єктно-орієнтованої бази даних
Приклад.Зв'язок між об'єктами типу1:1представляєтьсяза рахунок додавання посилкових атрибутів у обидва об'єкти (рис. 11.2). Додаткові атрибути посилаються на ідентифікатор об'єкта (OID).
Рис. 11.2. Зв'язок "один до одного"
Зв'язок між об'єктами типу 1:M представляється за рахунок додавання посилкового атрибуту в перший об'єкт, який посилається на другий об'єкт, і атрибуту, який містить набір покажчиків на перший об'єкт, в другий об'єкт (рис. 11.3).
ДИСЦИПЛІНА: OID2 | ||||
1:M | Код: 001 | |||
Назва: бази даних | ||||
Кількість годин: 324 | ||||
Викладач: OID1 | ||||
ВИКЛАДАЧ: OID1 | ||||
ДИСЦИПЛІНА: OID3 | ||||
Табельний номер: 231 | ||||
Код: 002 | ||||
Прізвище: Тищенко П.П. | ||||
Назва: штучний інтелект | ||||
Посада: доцент | ||||
Кількість годин: 162 | ||||
Вчений ступінь: к.т.н. | ||||
Викладач: OID1 | ||||
Дисципліна: OID2, OID3, OID4 | ||||
ДИСЦИПЛІНА: OID4 | ||||
Код: 003 | ||||
Назва: методи оптимізації | ||||
Кількість годин: 216 | ||||
Викладач: OID1 | ||||
Рис. 11.3. Зв'язок "один до багатьох"
Зв'язок між об'єктами типу N:M представляється за рахунок додавання посилкового атрибуту, який містить набір покажчиків, в кожен об'єкт (рис. 11.4).
Об'єктно-орієнтовані СУБД являють собою результаткомбінування об'єктно-орієнтованих можливостей (поліморфізм, наслідування, інкапсуляція) з можливостями БД (цілісність, безпека, управління транзакціями і паралельним виконанням, резервне копіювання, відновлення, маніпулювання даними).
Об'єктно-орієнтована СУБД повинна відповідати таким вимогам:
· підтримка складних об'єктів;
· підтримка унікальної ідентифікації об'єктів (OID);
· підтримка класів або типів; − підтримка наслідування;
· інкапсуляція об'єктів;
· управління БД;
· забезпечення паралельної роботи декількох користувачів;
· можливість відновлення після перебоїв;
· підтримка запитів до БД на мові високого рівня;
· запис і зчитування даних із зовнішніх пристроїв пам'яті.
N:M | ||||
ДИСЦИПЛІНА: OID2 | ||||
ВИКЛАДАЧ: OID1 | ||||
Код: 001 | ||||
Табельний номер: 231 | Назва: бази даних | |||
Прізвище: Тищенко П.П. | Кількість годин: 324 | |||
Посада: доцент | Викладач: OID1, OID5 | |||
Вчений ступінь: к.т.н. | ||||
ДИСЦИПЛІНА: OID3 | ||||
Дисципліна: OID2, OID3, OID4 | ||||
Код: 002 | ||||
Назва: штучний інтелект | ||||
ВИКЛАДАЧ: OID5 | Кількість годин: 162 | |||
Викладач: OID1, OID5 | ||||
Табельний номер: 431 | ||||
Прізвище: Петренко О.А. | ДИСЦИПЛІНА: OID4 | |||
Посада: професор | Код: 003 | |||
Вчений ступінь: д.т.н. | Назва: методи оптимізації | |||
Дисципліна: OID2, OID3, OID4 | Кількість годин: 216 | |||
Викладач: OID1, OID5 | ||||
Рис. 11.4. Зв'язок "багато до багатьох"
Питаннями розвитку об'єктно-орієнтованих систем займається OMG (Object Management Group) − робоча група по розвитку стандартів об'єктного програмування. Цією групою розроблена мова UML (Unified Modeling Language), яка використовується для моделювання компонентів БД. Групою OMG також були створені стандарти об'єктів OMA (ObjectManagement Architecture), які допускають взаємодію об'єктів на різних платформах і системах.
До переваг об'єктно-орієнтованих баз даних можна віднести такі:
· можливість включення детальної семантичної інформації в БД;
· можливість розширення базових типів даних, підтримка складних вкладених структур, визначення довільних структур (мультимедіа і т.ін.);
· контроль версій;
· можливість багаторазового використання класів, прискорення розробки застосувань за рахунок наслідування.
До недоліків об'єктно-орієнтованих баз даних належить:
· відсутність достатньо проробленої теоретичної бази у об'єктної моделі;
· складність структури;
· навігаційне управління даними, складність додавання атрибутів і методів;
· відсутність стандартної мови запитів.
Дата добавления: 2016-03-22; просмотров: 887;