
- •Основні поняття
- •Характеристика зв'язків
- •Відділ а Співробітники в
- •Відділ а Дата звільнення в
- •Класифікація сутностей
- •Аналіз предметної області
- •Розробка універсального відношення
- •Розробка er-моделі предметної області
- •Книга має Твір
- •Книга належить Розділ
- •Ієрархічна (деревовидна) структура даних
- •Мережна структура даних
- •Реляційна модель даних
- •Поняття ключа, основні типи ключів
- •Студент-успішність
- •Основні поняття реляційної алгебри. Дії над таблицями.
- •Загальні відомості щодо нормалізації схем бд
- •Перша та друга нормальна форма
- •Третя нормальна форма та нфбк
- •Нормальна форма Бойса-Кодда
- •П'ята нормальна форма та послідовність етапів нормалізації
- •Об'єктно-орієнтовані субд
- •1 Зв'язок об'єктно-орієнтованих субд із загальними поняттями об'єктно-орієнтованого підходу
- •2 Об'єктно-орієнтовані моделі даних (оомд)
- •3 Мови програмування об'єктно-орієнтованих баз даних
- •4 Мови запитів об'єктно-орієнтованих баз даних
- •Мови реляційних баз даних
- •1. Загальна характеристика
- •2. Типова організація сучасної скбд
- •3. Мова foxpro
- •4. Мова sql
- •Загальні підходи
- •Спискові структури
- •Зв'язаний розподіл пам'яті
- •Нелінійні зв'язкові структури
- •Представлення рядкових даних
- •Індексні методи
- •Способи включення записів та організіція індексних файлів
- •Адресні методи
- •Табл 5.1 - Розрахунок адреси
- •Табл 5.2 - Розмiщення даних у пам'ятi
- •Порівняльні параметри
- •Інвертований метод
- •Поняття експертних систем
- •Подання знань в соз
- •Основні моделі знань та їх порівняльні характеристики
- •Представлення знань із використанням логіки предикатів
- •Найпростіші конструкції мови предикатів
- •Предикатні формули
- •Любить (х, у),
- •Визначення правильно побудованої формули
- •Правило резолюції для простих пропозицій
- •S1 (заперечення): ¬ а
- •Чи одержує студент стипендію.
- •S: ¬одержує (студент, стипендію)
- •Порядок розв'язування задачі
- •Семантичні мережі
- •Продукційні моделі
- •Якщо - то (явище - реакція)
- •Подання знань із застосуванням фреймів
- •Стратегії пошуку в соз
- •Нечіткі множини в системах баз знань
- •Визначення I класифiкацiя аіс
- •Автоматизованi БнД
- •Риcунок 1.4 - Схема взаємодiї колективу спецiалiстiв банку
- •Вимоги до БнД
- •Принципи побудови БнД
2 Об'єктно-орієнтовані моделі даних (оомд)
Основні труднощі об'єктно-орієнтованого моделювання даних пов'язані з відсутністю розвинутого математичного апарату їх обробки.
Формальна основа ООМД передбачає:
виділення двох рівнів моделювання об'єктів: нижній (структурний) і верхній (поведінковий, маніпуляційний). На структурному рівні підтримуються складні об'єкти, їх ідентифікація і різновид зв'язку "IS-A". База даних - це набір елементів даних, пов'язаних відношеннями "ВХОДИТЬ ДО КЛАСУ" або "Є АТРИБУТОМ". Отже, БД може розглядатися як орієнтований граф. В якості первинних концепцій схемного рівня ООБД виступають типи і класи: тип припускає наявність деякої множини значень, обумовленої структурою даних цього типу; клас також припускає наявність множини об'єктів, але ця множина визначається користувачем. Таким чином, типи і класи грають різну роль й мають бути одночасно підтриманими;
наявність двох традиційних рівнів - схеми і даних - для ООБД недостатньо, що призводить до обов'язкового визначення видів об'єктів і зв'язків, припустимих на схемному рівні БД. Схема повинна грати для ООБД таку ж роль, яку грає структурна частина реляційної моделі даних для схем реляційних баз даних.
Розглянемо особливості конкретної моделі даних, що застосовуються в об'єктно-орієнтованій СУБД O2, що підтримує об'єкти і значення. Об'єкт - це пара (ідентифікатор, значення), причому об'єкти інкапсульовані, тобто їх значення доступні тільки через методи - процедури, прив'язані до об'єктів.
Значення можуть бути атомарними або структурними.
Структурні значення будуються зі значень або об'єктів, поданих своїми ідентифікаторами, за допомогою конструкторів множин, кортежів і списків.
Елементи структурних значень доступні за допомогою визначених операцій (примітивів). Можливі два види організації даних: класи, прикладами яких є об'єкти, що інкапсулюють дані і поведінку, і типи, прикладами яких є значення. Кожному класу співставляється тип, що описує структуру примірників класу.
Типи визначаються рекурсивно на основі атомарних типів і раніше визначених типів і класів із застосуванням конструкторів.
Поведінкова сторона класу визначається набором методів. Об'єкти і значення можуть бути іменованими, що визначає тривалість їх збереження (persistency): будь-які іменовані об'єкти або значення довготривалі; будь-який об'єкт або значення, що є частиною іншого іменованого об'єкта або значення, долготривалий.
Метод - програмний код, прив'язаний до конкретного класу і застосовується до об'єктів цього класу.
Визначення методу в СУБД O2 відбувається у два етапи:
Обява сигнатури методу, тобто його імені; класу, типів або класів аргументів; типу або класу результату. При цьому, методи можуть бути публічними (доступними з об'єктів інших класів) або приватними (доступними тільки всередині даного класу).
Реалізація класу на одній з мов програмування O2. В моделі підтримується множинне спадкування класів на основі відношення супертип/підтип.У підкласі допускається додавання і/або перевизначення атрибутів і методів.
При множинному спадкуванні можливі двозначності (по назві атрибутів і методів) розвязуютсья або шляхом перейменування, або явною вказівкою на джерело спадкування. Об'єкт підкласу є об'єктом кожного суперкласу, на основі якого даний підклас породжений. Підтримується визначений клас "Оbject", що є коренем дерева класів; будь-який інший клас вважається неявним спадкоємцем класу "Object" і успадковує визначені методи ("is_same", "is_value_equal", тощо).
Характерною особливістю моделі O2 є можливість оголошення додаткових "виключних" атрибутів і методів для названих об'єктів, тобто конкретний іменований об'єкт-представник класу може мати тип, що є підтипом типу класу.