яє гарантувати коректність програмного забезпечення. З іншого боку клас є певним шаблоном для створення об'єктів і надає методи, які можуть застосовуватися до цих об'єктів. Таким чином, поняття «клас» більшою мірою відноситься до часу виконання, ніж до часу компіляції.
Підтримка успадкування типів і класів від їх предків. Підтип, або підклас, повинен успадковувати атрибути і методи від його супертіпа, або суперкласу, відповідно.
Перевантаження в поєднанні з повним зв'язуванням. Методи повинні застосовуватися до об'єктів різних типів. Реалізація методу повинна залежати від типу об'єктів, до яких даний метод застосовується. Для забезпечення цієї функціональності зв'язування імен методів в системі не повинно виконуватися до часу виконання програми.
Обчислювальна повнота. Мова маніпулювання даними повинен бути мовою програмування загального призначення.
Набір типів даних повинен бути розширюваним. Користувач повинен мати засоби створення нових типів даних на основі набору зумовлених системних типів. Більш того, між способами використання системних і користувальницьких типів даних не повинно бути ніяких відмінностей.
Необов'язкові характеристики:
· Множинне успадкування
· Перевірка типів
· Розподіл
· Проектні транзакції
· Відкриті характеристики:
· Парадигми програмування (процедурне, декларативне)
· Система подання
· Система типів
· Однорідність. Реалізація - мова програмування - інтерфейс.
Результатом суміщення можливостей (особливостей) баз даних і можливостей об'єктно-орієнтованих мов програмування є Об'єктно-орієнтовані системи управління базами даних (ООСУБД). ООСУБД дозволяє працювати з об'єктами баз даних так само, як з об'єктами в програмуванні в ООЯП. ООСУБД розширює мови програмування, прозоро вводячи довготривалі дані, управління паралелізмом, відновлення даних, асоційовані запити й інші можливості.
Деякі об'єктно-орієнтовані бази даних розроблені для щільної взаємодії з такими об'єктно-орієнтованими мовами програмування як Python, Java, C #, VisualBasic. NET, C + +, Objective-C і Smalltalk; інші мають свої власні мови програмування. ООСУБД використовують точно таку ж модель, що і об'єктно-орієнтовані мови програмування.
2.5.2 Класифікація за ступенем розподіленості
Централізована, або зосереджена (англ. centralizeddatabase): БД, повністю підтримувана на одному комп'ютері.
Розподілена (англ. distributeddatabase): БД, складові частини якої розміщуються в різних вузлах комп'ютерної мережі відповідно з яким-небудь критерієм.
Неоднорідна (англ. heterogeneousdistributeddatabase): фрагменти розподіленої БД в різних вузлах мережі підтримуються засобами більше однієї СУБД
Однорідна (англ. homogeneousdistributeddatabase): фрагменти розподіленої БД в різних вузлах мережі підтримуються засобами однієї і тієї ж СУБД.
Фрагментований, або секціонірованная (англ. partitioneddatabase): методом розподілу даних є фрагментованість (партіціонірованіе, секціонування),...