Навігація
Головна
 
Головна arrow Інформатика arrow Бази даних
< Попередня   ЗМІСТ   Наступна >

Сутність ООБД

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

Об'єктно-орієнтований підхід

Рис. 7.1. Об'єктно-орієнтований підхід

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

Об'єктно-орієнтоване програмування - методологія програмування, заснована на представленні програм у вигляді пов'язаної сукупності об'єктів, кожен з яких є екземпляром певного класу, а класи утворюють ієрархію по спадкуванню.

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

Об'єктно-орієнтоване проектування

Рис. 7.2. Об'єктно-орієнтоване проектування

Об'єктно-орієнтоване програмування бере за основу модель атомарного елемента (рис. 7.1).

Справа в тому, що, незважаючи на потужні засоби налагодження програм, ДЛЯ підвищення продуктивності процедури програмування доцільно налагоджувати програми послідовно, по блоках. Програма в цілому відлагоджується швидше, якщо блоки були налагоджені заздалегідь. Ці передумови і покладені в основу об'єктно-орієнтованого програмування.

Будь-яка математична модель має вигляд, представлений на рис. 7.1, а складна - на рис. 7.3.

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

Початок роботи класу задається за допомогою спеціальних внутрішніх (наприклад, натискання кнопки) або зовнішніх (виклик з іншої підпрограми) сигналів, званих подіями.

Програмну реалізацію класу називають компонентою. Реалізація компоненти в деякій прикладній програмі отримала назву об'єкта.

В об'єктно-орієнтованому програмуванні використовуються три основних принципи: інкапсуляція, спадкування, поліморфізм.

Інкапсуляція - виділення класу з доступом до нього через властивості або методи.

Об'єктно-орієнтоване програмування

Рис. 7.3. Об'єктно-орієнтоване програмування

Спадкування - трансформація класу шляхом зміни властивостей і методів за допомогою методів, званих конструктором і деструктором.

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

Поліморфізм дозволяє використовувати метод з одним ім'ям як у базовому, так і в похідних класах. Справа в тому, що кількість класів значно: вже зараз воно наближається до ста і продовжує зростати. Якщо для похідних класів застосовувати для однотипних, "схожих" методів (наприклад, накреслення квадрата та кола) різні імена, користувачеві, особливо початківцю, буде складно освоїтися з таким розмаїттям імен.

Наведемо основні положення ООБД, що базуються на об'єктно-орієнтованому підході.

  • 1. Як значення стовпця може бути використаний довільний кортеж. Іншими словами, стовпець може бути як би деякої іншої таблицею. Таким чином, створюється можливість реалізації таблиць з нелінійної структурою.
  • 2. Процедура маніпуляції даними дозволяє приєднувати процедури, визначені значеннями стовпців.
  • 3. Дані стовпців можуть успадковуватися.
  • 4. Елементами відносин можуть служити нс тільки окремі елементи, як в реляційних БД, але і безлічі.
  • 5. Формуються класи даних, які організовують стовпці в ієрархію.

Базовою мовою ООБД найчастіше є С ++. Для роботи з такими ООБД розробляється новий варіант мови програмування SQL, що отримав назву SQL3 і містить усередині себе в якості окремого випадку реляційну модель (SQL2). Якщо SQL2 визначає сім способів зв'язування зі стандартними мовами програмування, в SQL3 це кількість передбачається збільшити.

У технології розробки ООБД конкурує два напрямки.

  • • Distributed Object Linking and Embedding (OLE) фірми Microsoft.
  • • Common Object Request Broker Architecture (CORBA) групи OBDMG, підтримувана фірмами IBM, Novell, DEC, з орієнтацією на всі платформи. У рамках цього напрямку виділені і сформовані зазначені раніше мова визначення об'єктів Object Definition Language (ODL); об'єктна мова запиту Object Query Language (OQL); мова визначення інтерфейсів Interface Definition Language (IDL).

У другому напрямку зазвичай виділяють [4] два стандарти управління БД:

  • • ODL / OQL, в якому об'єкти і методи формуються зазвичай за допомогою мови програмування С;
  • • мова програмування SQL3, деякі особливості якого описані в гл. 9.

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

Таким чином, щоб скористатися об'єктно-орієнтованим підходом у побудові власне БД, необхідно:

  • 1) провести інкапсуляцію даних, т. Е. Виділити класи та об'єкти;
  • 2) визначити можливі види структури реалізованих таблиць;
  • 3) створити наслідування класів даних;
  • 4) забезпечити поліморфізм.

Реалізація навіть першої позиції неоднозначна і різна, наприклад в ООСУБД і ОРСУБД. Є деяке відмінність навіть в рамках різних ООСУБД.

У різних ООБД існує дещо відмінний, принаймні за термінологією, набір властивостей. У той же час суттєвої різниці між наборами властивостей немає, і тому ілюструємо їх на прикладі ООСУБД CACHE.

У ній виділяють класи типів даних і класи самих даних (класи об'єктів, таблиці).

Якщо провести аналогію з термінами реляційної БД, то поняттю "клас (об'єкт)" ООБД відповідає приблизно поняття "таблиця", а поняттю "властивість" - "поле (стовпець) таблиці".

Як властивості [38, 40] прийняті константи, посилання на об'єкти, вбудовані об'єкти, потоки даних (BLOB і CLOB), колекції у вигляді масивів (Array) і списків (List), багатовимірні властивості. До властивостей відносять і зв'язки між об'єктами.

Для властивостей є типи, основними з яких є Currency (грошовий), Date, Float, Integer, List (список), Name (ім'я), Numeric, Status (помилки), String.

В якості типів властивостей можуть виступати зв'язки, які [40 | можна розділити на прості, реалізовані посиланнями, і відносини, іноді звані асоціаціями. При посиланні в якості типу властивостей виступає клас (об'єкт), з яким зв'язується дане властивість. Можливо вбудовування одного об'єкта в інший. У асоціаціях виділяють відносини ONE-TO-MANY (1: М) і PARENT- CHILDREN (батько - діти).

Розрізняють три основні групи методів: кол (мовою Cache ObjectScript), вираз (фрагмент коду, що викликається за значенням), виклик. Неважко бачити, що дані осередків неатомарни.

Структура ООБД може бути побудована різними способами: за допомогою візуальної мови, мов програмування Cache ObjectScript, SQL.

В інших ООСУБД для цих цілей часто використовують мову С ++.

ООБД в рамках системи OLTP і OLAP взаємодіє з багатовимірної моделлю даних (ММД). Обговоримо специфіку ММД.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук