овідним засобам в об'єктно-орієнтованих мовах програмування. Стандартизована об'єктно-орієнтована модель описана в рекомендаціях стандарту ODMG - 93 (ObjectDatabaseManagementGroup - група управління об'єктно-орієнтованими базами даних) .Розглянемо спрощену модель об'єктно-орієнтованої БД. Структура об'єктно-орієнтованої БД графічно подана в вигляді дерева, вузлами якого є об'єкти. Властивості об'єктів описуються деяким стандартним типом або типом, конструйованим користувачем (визначається як class). Значення властивості типу class є об'єкт, що є екземпляром відповідного класу. Кожен об'єкт-екземпляр класу вважається нащадком об'єкта, в якому він визначений як властивість. Об'єкт-екземпляр класу належить своєму класу і має одного батька. Родові відносини в БД утворюють зв'язну ієрархію об'єктів. Приклад логічної структури об'єктно-орієнтованої БД бібліотечної справи наведено на рис. 2.9. Тут об'єкт типу Бібліотека є батьківським для об'єктів реалізованих класів Абонент, Каталог і Видача. Різні об'єкти типу Книга можуть мати одного або різних батьків. Об'єкти типу Книга, що мають одного і того ж батька, повинні розрізнятися, принаймні, інвентарним номером (унікальний для кожного примірника книги), але мають однакові значення властивостей isbn, УДК, назву і автор.
Логічна структура об'єктно-орієнтованої БД зовні схожа на структуру ієрархічної БД. Основна відмінність між ними полягає в методах маніпулювання даними. Для виконання дій над даними в розглянутій моделі БД застосовуються логічні операції, посилені об'єктно-орієнтованими механізмами інкапсуляції, успадкування та поліморфізму. Інкапсуляція обмежує область видимості імені властивості межами того об'єкта, в якому воно визначене. Так, якщо в об'єкт типу Каталог додати властивість, що задає телефон автора книги і має назву телефон, то ми отримаємо однойменні властивості у об'єктів Абонент і Каталог. Сенс такої властивості визначатиметься тим об'єктом, в який воно інкапсульоване. Успадкування, навпаки, поширює область видимості властивості на всіх нащадків об'єкта. Так, всім об'єктам типу Книга, що є нащадками об'єкта типу Каталог, можна приписати властивості об'єкта-батька: isbn, УДК, назву і автор. Якщо необхідно розширити дію механізму спадкування на об'єкти, які є безпосередніми родичами (наприклад, між двома нащадками одного батька), то в їх спільний предка визначається абстрактна властивість типу abs. Так, визначення абстрактних властивостей квиток і номер в об'єкті Бібліотека призводить до спадкоємства цих властивостей усіма дочірніми об'єктами Абонент, Книга і Видача. Не випадково тому значення властивості квиток класів Абонент і Видача, показаних на рис. 2.9, є однаковими - 00015.Поліморфізм в об'єктно-орієнтованих мовах програмування означає здатність одного і того ж програмного коду працювати з різнотипними даними. Іншими словами, він означає допустимість в об'єктах різних типів мати методи (процедури або функції) з однаковими іменами. Під час виконання об'єктної програми одні й ті ж методи оперують з різними об'єктами залежно від типу аргументу. Стосовно до розглянутого прикладу поліморфізм означає, що об'єкти класу Книга, що мають різних батьків з класу Каталог, можуть мати різний набір властивостей. Отже, програми роботи з об'єктами класу Книга можуть містити поліморфний код.
Пошук в об'єктно-орієнтованої БД полягає у з'ясуванні подібності між об'єктом, заданим користувачем, і об'єктами, що зберігаються в БД.
Рис. 2.9. Логічна структура БД бібліотечної справи
Основною перевагою об'єктно-орієнтованої моделі даних в порівнянні з реляційною є можливість відображення інформації про складних взаємозв'язках об'єктів. Об'єктно-орієнтована модель даних дозволяє ідентифікувати окремий запис бази даних і визначати функції їх обробки. Недоліками об'єктно-орієнтованої моделі є висока понятійна складність, незручність обробки даних і низька швидкість виконання запитів.
2.7 Настільні СУБД
На сьогоднішній день відомо більше двох десятків форматів даних настільних СУБД, проте найбільш популярними, виходячи з числа проданих копій, вважаються dBase, Раrаdох, FoxPro і Access. Відзначають також СУБД MicrosoftDataEngine - по суті серверну СУБД, що представляє собою полегшену версію Microsoft SQL Server, але призначену для використання головним чином в настільних системах і невеликих робочих групах. Відомості про виробників перерахованих вище СУБД представлені в табл.
Таблиця
СУБДПроізводітельVisualdBaseDBase, IncParadoxCorelMicrosoftAccess 2000MicrosoftMicrosoftFoxProMicrosoftMicrosoftVisualFoxProMicrosoftMicrosoftVisualFoxProMicrosoftMicrosoftDataEngineMicrosoft
Далі кожна з цих СУБД розглядається окремо.
. 7.1 DBase і VisualdB...