ю їх зв'язування.
Зв'язування таблиць дозволяє:
а) засобами СУБД автоматично виконувати контроль цілісності вводяться в базу даних;
б) спростити доступ до даних при виконанні операцій пошуку, перегляду, редагування, вибірки і підготовки звітів за рахунок автоматичного звернення до довільних полям пов'язаних записів.
Зв'язування виконується по полях зв'язку, які можуть бути звичайними або ключовими.
Використовуються такі основні типи зв'язків:
а) один до багатьох (1: M);
б) багато до одного (M:
1):
в) один до одного (1:
1);
г) багато до багатьох (M: M).
З перерахованих видів зв'язку найбільш широко використовується зв'язок виду 1: М. Зв'язок виду 1: 1 можна вважати приватним випадком зв'язку 1: М, коли одного запису головної таблиці відповідає одна запис допоміжної таблиці. Зв'язок М: 1 по суті, є "дзеркальним відображенням "зв'язку 1: М. Що залишився вид зв'язку М: М характеризується як слабкий вид зв'язку або навіть як відсутність зв'язку. Тому надалі розглядається зв'язок виду 1: М.
При утворенні зв'язку виду 1: М один запис головної таблиці (головна, батьківська запис) виявляється пов'язаної з кількома записами додаткової (додаткові, підлеглі запису).
Контроль цілісності зв'язків зазвичай означає аналіз вмісту двох таблиць на дотримання наступних правил:
кожного запису основної таблиці відповідає нуль або більше записів додаткової таблиці;
кожна запис додаткової таблиці має рівно одну батьківську запис основної таблиці.
Контроль цілісності здійснюється при виконанні наступних основних операцій над даними двох таблиць:
введення нових записів,
модифікацію записів,
видалення записів.
При введенні даних нових записів виникає питання визначення такої послідовності введення записів до таблиці, щоб не допустити порушення
цілісності.
Виходячи з наведених правил, логічною є схема, при якій дані спочатку вводяться в основну таблицю, а потім - в додаткову. Черговість введення може бути встановлена на рівні цілих таблиць або окремих записів (випадок одночасного введення в кілька відкритих таблиць). При цьому контроль цілісності може полягати як у забороні виконання порушують цілісність дій (режим заборони додавання запису в дочірню таблицю, якщо немає відповідного запису до батьківської), так і на оновлення пов'язаних записів з метою зробити коректним зміна даних (обробка поновлення - виправлення значення зовнішнього ключа у всіх дочірніх записах при зміні значення первинного ключа в батьківській запису).
Таким чином, реляційний метод структурування даних є одним з найбільш простих для сприйняття і ефективних для реалізації методів. Відповідно до нього кожна сутність предметної області представляється таблицею. Кожен стовпець такої таблиці містить значення одного з атрибутів сутності.
В об'єктно-орієнтованої моделі при поданні даних є можливість ідентифікувати окремі записи бази. Між записами бази даних і функціями їх обробки встановлюються взаємозв'язки за допомогою механізмів, подібних відповідним засобам в об'єктно-орієнтованих мовах програмування.
Структура об'єктно-орієнтованої БД графічно подана в вигляді дерева, вузлами якого є об'єкти. Властивості об'єктів описуються деякими стандартним типом (наприклад, строковим - string) або типом, конструюються користувачем (визначається як class).
Приклад логічної структури об'єктно-орієнтованої БД бібліотечної справи наведено на рис.1.
В
Рис.1. Логічна структура БД бібліотечної справи
Тут об'єкт типу БІБЛІОТЕКА є батьківським для об'єктів-екземплярів класів АБОНЕНТ, КАТАЛОГ і ВИДАЧА. Різні об'єкти типу КНИГА можуть мати одного або різних батьків. Об'єкти типу КНИГА, мають одного і того ж батька, повинні відрізнятися за крайньої міру інвентарним номером (унікальний для кожного екземпляра книги), але мають однакові значення властивостей isbn, удк, назва і автор.
Для виконання дій над даними в розглянутій моделі БД застосовуються логічні операції, посилені об'єктно-орієнтованими механізмами інкапсуляції, успадкування та поліморфізму. Обмежено можуть застосовуватися операції, подібні командам SQL (наприклад, для створення БД). Створення і модифікація БД супроводжується автоматичним формуванням і подальшим коректуванням індексів (індексних таблиць), що містять інформацію для швидкого пошуку даних.
Розглянемо коротко поняття інкапсуляції, успадкування та поліморфізму стосовно до об'єктно-орієнтованої моделі БД.
Інкапсуляція обмежує область видимості імені властивості межами того об'єкта, в якому воно визначено. Так, якщо в об'єкт типу КАТАЛОГ додати властивість, що задає телефон автора книги і має назву телефон, то ми отримаємо од...