і типами об'єктів;
-операції над об'єктами одного або різних типів, звані "методами";
-інкапсуляція структурного та функціонального опису об'єктів, що дозволяє розділяти внутрішнє і зовнішнє опису (у термінології передував об'єктному модульного програмування - "модульність" об'єктів);
-наследуемость зовнішніх властивостей об'єктів на основі співвідношення "клас-підклас" [5]. p> До достоїнств об'єктно-орієнтованої моделі відносять:
-можливість для користувача системи визначати складні типи даних (використовуючи наявний синтаксис і властивості успадкованого і інкапсуляції);
-наявність успадкованого властивостей об'єктів;
-повторне використання програмного опису типів об'єктів при зверненні до інших типами, на них посилаються [3]. p> До недоліків об'єктно-орієнтованої моделі можна віднести:
-відсутність строгих визначень, різне розуміння термінів і відмінності в термінології, наприклад, виявляла готовність викласти вісім різних тлумачень такого базового поняття, як "успадкованого";
-як наслідок - ця модель не досліджена настільки ретельно математично, як реляційна;
-відсутність общеупотребимих стандартів, що дозволяють пов'язувати конкретні об'єктно-орієнтовані системи з іншими системами роботи з даними [17]. p> Деякі фахівці основним і головною відмінністю об'єктно-орієнтованої моделі від реляційної вважають наявність унікального системного ідентифікатора. Ця різниця пов'язана з одним цікавим семантичним явищем. Справа в тому, що в реляційної моделі об'єкт цілком описується його атрибутами.
Модель "Об'єктів-ролей"
Ще однією моделлю даних, що має конкретну реалізацію, є модель "Об'єктів-ролей", запропонована ще на початку 70-х років. На відміну від реляційної моделі в ній немає атрибутів, а основні поняття - це об'єкти і ролі, що описують їх. Ролі можуть бути як "ізольовані", властиві виключно якого-небудь об'єкту, так і існуючі як елемент якого-небудь відносини між об'єктами. Модель служить для понятійного моделювання, що відрізняє її від реляційної моделі. Модель "об'єктів-ролей" зараз привертає велику увагу фахівців, однак до промислових масштабів її використання, порівнянних з двома попередніми, їй поки далеко [15].
Концептуальна модель даних
Концептуальна модель найбільш повно відповідає потребам проектування баз знань і побудована на низці принципів, які ми зараз розглянемо. Є дві великі області понять у концептуальної моделі. Обидві вони побудовані за принципом ієрархічного дерева. Перша область - це дерево типів даних, друга - дерево даних. Дерево типів описує структуру даних дерева даних, тому без дерева типів немає ніякої логічної цілісності дерева даних.
Рівень спрощення - рівень деталізації уявлення про об'єкт реального світу, достатній нам для його опису і подальшого використання.
Властивість об'єкта - це одна з характеристик об'єкта реального світу, інформацію, про яку ми будемо зберігати в базі даних.
Події - набір реакцій об'єкта на зміни зовнішніх умов, описаних у нашій базі даних.
Тип - набір властивостей і подій об'єкта, описаних як єдиний комплекс. При цьому, залежно від рівня спро щень, у нас може бути властивістю типу інший тип.
Об'єкт - сукупність типів і властивостей, об'єднаних в один тип, здатний описати об'єкт реального світу.
Зв'язок - це властивість типу або властивості типу, яка характеризує взаємозв'язок типів у дереві даних або спосіб зміни значення властивості об'єктного типу відповідно. Бувають три типи зв'язків: включення в дереві даних, вставка з іншого типу значення властивості типу та посилання на екземпляр типу в дереві даних. Включення дозволяє будувати дерево даних.
Спадкування - це спосіб опису дерева типів [19].
Маючи такі багаті можливості, концептуальна модель довгий час була не реалізована. Авторами концептуальної моделі були Сміт і Сміта - американські вчені, написали ряд статей у 1972 - 1976 роках, які, на загальну думку, вважалися утопією.
Інфологіческая модель даних
Найбільш близька до концептуальної моделі, модель "Сутність-зв'язок", хоч і значно більш збиткова з погляду користувача. Основними конструктивними елементами інфологіческіх моделей, є сутності, зв'язки між ними та їх властивості.
Сутність - будь помітний об'єкт.
Атрибут - пойменована характеристика сутності.
Зв'язок - асоціювання двох або більше сутностей.
Ключ - мінімальний набір атрибутів, за значеннями яких можна однозначно знайти необхідний екземпляр сутності. Як правило - це первинний ключ у таблиці бази даних.
К. Дейт визначає три основні класи сутностей: стрижневі, асоціативні і характерис...