Науковий посібник

Вінницький державний технічний університет містить море(!) аналітичної інформації

Характеристика зв'язків

Структура даних може бути описана формально. Опис глобальної логічної структури бази даних називається схемою. Схема визначає всі типи елементів даних, які зберігаються в базі даних, а також усі зв'язки між ними. Схема бази даних, як правило, дуже складна. Конкретний користувач або прикладний програміст не повинен знати про схему в цілому. Така необізнаність часто навіть необхідна з точки зору безпеки даних. Програміст або користувач повинен бути інформований тільки про множину даних і зв'язків, які орієнтовані на його конкретну область.

Частина схеми отримала назву підсхеми. По суті, підсхема - це деяка організація файлів прикладного програміста. В функції СКБД входить побудова відповідних підсхем із загальної схеми і передача даних користувачам і системним програмістам. При цьому схема даних повина бути спроектована таким чином, щоб із неї могли бути побудовані всі підсхеми по запитам користувачів або прикладних програм. Ні схема, ні підсхема не визначають методів фізичного зберігання даних.

Схеми і підсхеми представляють в вигляді діаграм, на яких зображують типи елементів даних і зв'язки між ними. Розрізняють чотири види зв'язків:

1) необов'язковий зв'язок: існування об'єктів не залежить від зв'язку;

2) можливий зв'язок: існування одного з об'єктів залежить від зв'язку;

3) умовний зв'язок: частковий вид можливого зв'язку, коли задається умова існування (наприклад, зв'язок між об'єктами СТУДЕНТ, СТИПЕНДІЯ можлива при умові відповідної успішності);

4) обов'язковий зв'язок: існування обох об'єктів залежить від зв'язку.

Односторонні зв'язки між парами елементів називаються асоціаціями, а двохсторонні - відображеннями.

Між двома сутностями А й В можливі чотири види зв'язків:

перший тип - зв'язок ОДИН-ДО-ОДНОГО (1:1): за допомогою та-кого відображения подають такий тип зв'язку, коли в кожний мо-мент часу кожний екземпляр елемента, від якого направлений зв'язок, ідентифікує один і тільки один екземпляр елемента, до якого направлений зв'язок, при цьому ця ідентифікація є унікальною в обох напрямках. Приклад відображения 1:1 приве-дено на рис.2.2. Якщо відомо значення А , то однозначно визна-чається і значення В. І навпаки.

другий тип - зв'язок ОДИН-ДО-БАГАТЬОХ (1:Б): якщо екземпляр елемента даних, від якого направлений зв'язок, ідентифікує деяке число екземплярів елементів даних, до яких направлений зв'язок, причому ідентифікація в даному напрямку не обов'язково є унікальною, то таке відображення називається ОДИН-ДО-БАГАТЬОХ (1:Б). Прикладом такого відношення (рис.2.3) може бути НОМЕР ВІДДІЛУ - ТАБЕЛЬНІ НОМЕРИ ПРАЦЮЮЧИХ. У відділі працює багато службовців, але кожний працюючий відноситься тільки до одного відділу.

Оскільки між двома сутностями можливі зв'язки в обох направ-леннях, то існує ще два типи зв'язків БАГАТО-ДО-ОДНОГО (Б:1) і БАГАТО-ДО-БАГАТЬОХ (Б:Б). Відображення Б:1 є аналогічним відображенням 1:Б.

Якщо екземпляр елемента даних, від якого направлений зв'язок, ідентифікує деяке число екземплярів елементів даних, до яких направлений зв'язок, і навпаки, тобто ідентифікація не є унікальною в обох напрямках, то таке відображення називається БАГАТО-ДО-БАГАТЬОХ (Б:Б).

Прикладом такого відношення (рис.2.4) є відношення ВИКЛАДАЧІ-СТУДЕНТИ. Кожний студент "пов'язаний" з багатьма викладачами і кожний викладач читає лекції різним групам студентів.

Характер зв'язків між сутностями не обмежується переліченими. Існують і більш складні зв'язки:

· множина зв'язків між одними й тими ж сутностями;

Рисунок 2.4 - Приклад відображення БАГАТО-ДО-БАГАТЬОХ

Рисунок 2.5 - Приклад простої асоціації типу 1

Рисунок 2.6 - Приклад складної асоціації типу М

Рисунок 2.7 - Приклад умовної асоціації типу С

Наприклад, пацієнт, маючи одного врача, що лікує, може мати також декілька врачів-консультантів; врач може бути врачом, що лікує для декількох пацієнтів та може одночасно консультувати декількох других пацієнтів.

· тренарні зв'язки;

Наприклад, врач може призначити декількох пацієнтів на декілька аналізів, аналіз може бути призначений декількома врачами декільком пацієнтам, й пацієнт може бути призначеним на декілька аналізів декількома врачами); зв'язки більш високих порядків, се-мантика (зміст) яких іноді дуже складна.

Існує три типа асоціацій:

- асоціація типу 1 (проста);

- асоціація типу М (складна);

- асоціація типу С (умовна).

В простій асоціації типу 1 (рис.2.5) екземпляр елемента даних, від якого направлено зв'язок, ідентифікує один і лише один екземпляр елемента даних, до якого направлено зв'язок. Ця ідентифікація є унікальною й визначає функціональну залежність.

В складній асоціації типу М (рис.2.6) екземпляр елемента даних, від якого направлено зв'язок, ідентифікує деяке число екземплярів елементів даних, до яких направлено зв'язок. Ідентифікація є багатозначною залежністю і не обов'язково унікальною. При цьому зв'язок в оберненому напрямку не розглядається.

В умовній асоціації типу С (рис.2.7) для даного екземпляра елемента даних, від якого спрямований зв'язок, може не існувати відповідного екземпляра елемента даних, до якого спрямований зв'язок. Якщо він існує, то відноситься до єдиного екземпляра елемента даних. Наприклад, ПІБ РОБІТНИКА і ДАТА ЗВІЛЬНЕННЯ.

У реальних базах даних існує велика кількість типів елементів даних. Для зменшення кількості зв'язків елементи об'єднують у групи. Таке групування значно зменшує кількість записів. Об'єднання елементів у групи повинно бути аргументованим і продуманим.

Для підвищення ілюстративності аналізуємих зв'язків застосовується мова інфологічного моделювання (МІМ), у якій сутності й асоціації подають пропозиціями виду:

СУТНІСТЬ (атрибут 1, атрибут 2 , ... , атрибут n)

АСОЦІАЦІЯ[СУТНІСТЬ S1, СУТНІСТЬ S2, ...](атрибут 1, атрибут2, ... , атрибут n)

де S - ступінь зв'язку, а атрибути, що входять у ключ, повинні бути відзначені за допомогою підкреслення.

Для виявлення зв'язків між сутностями необхідно, як мінімум, визначити самі сутності. Але це не проста задача, тому що в різних предметних областях один і той же об'єкт може бути сутністю, атрибутом або асоціацією.

Контрольні запитання.

1. Що Ви розумієте під схемою бази даних?

2. Що таке підсхема бази даних?

3. Перелікувати основні типи зв'язків між елементами даних.

4. Які види зв'язків між сутностями Вам відомі?

5. Визначте основні типи асоціацій.

Назад | Зміст | Вперед



Copyright ©VSTU
Created: November 16, 2000