Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц10 Сутність-звязок Укр!.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
135.09 Кб
Скачать

7

Тема 4. Проектування баз даних (09.2013) Лекція 10

10.1. Правила формування відношень

Правила формування відношень засновані на урахуванні:

  • ступеня зв'язку між сутностями (1:1, 1 : М, М : 1, М : М);

  • класу приналежності екземплярів сутностей (обов'язковий і необов'язковий).

Розглянемо формулювання шести правил формування відношень на основі діаграм ER-типу.

Формування відношень для зв'язку 1:1

Правило 1. Якщо ступінь бінарного зв'язку 1:1 і клас приналежності обох сутностей обов'язковий, то формується одне відношення. Первинним ключем цього відношення може бути ключ кожної з двох сутностей.

На рис. 10.1 приведена діаграма ER-типу і відношення, сформоване за правилом 1 на її основі. На рисунку використовуються наступні позначення: C1, C2 - сутності 1 і 2; К1, К2 - ключі першої і другої сутності відповідно; R1 - відношення 1, сформоване на основі першої і другої сутностей; K1 v K2,... означає, що ключем сформованого відношення може бути або К1, або К2.

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

ВИКЛАДАЧ_ДИСЦИПЛІНА

ПІБ

Посада

Назва

Години

Іванов І.М.

асистент

СУБД

60

Петров М.І.

викладач

ПЛ/1

70

Сідоров Н.Г.

доцент

Паскаль

100

Єгоров В. В.

доцент

Алгол

80

Козлов С. А.

професор

Фортран

90

Рис. 10.2. Схема і відношення за правилом 1

ВИКЛАДАЧ_ДИСЦИПЛІНА (ФИО, Посада, Найменування, Години)

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

Правило 2. Якщо ступінь зв'язку 1:1 і клас приналежності однієї сутності обов'язковий, а другої - необов'язковий, то під кожну із сутностей формується по відношенню з первинними ключами, що є ключами відповідних сутностей. Далі до відношення, сутність якого має обов'язковий КП, додається як атрибут ключ сутності з необов'язковим КП.

На рис. 10.3 приведена діаграма ER-типу і відношення, сформовані за правилом 2 на її основі.

Щоб переконатися в справедливості правила, розглянемо наступний приклад. На рис. 10.4 приведене вихідне відношення, що містить інформацію про викладачів і дисципліни. Воно представляє варіант, у якому клас сутності ВИКЛАДАЧ є обов'язковим, а сутності ДИСЦИПЛІНА - необов'язковим. При цьому пробіли "-" (порожні поля) присутні у всіх кортежах з інформацією про дисципліни, що не ведуться жодним з викладачів.

Уникнути цієї ситуації можна, застосувавши правило 2, відповідно до якого, утворюються два відношення, приведені на рис. 10.5.

ВИКЛАДАЧ

ДИСЦИПЛІНА

ПІБ▼

Посада

Назва

Год

ПІБ▼

Посада

Назва

Назва▼

Год

Іванов І.М.

асистент

Паскаль

100

Іванов І.М.

асистент

Паскаль

Паскаль

100

Петров М.І.

викладач

СУБД

60

Петров М.І.

викладач

СУБД

СУБД

60

Сідоров Н.Г.

доцент

ПЛ/1

70

Сідоров Н.Г.

доцент

ПЛ/1

ПЛ/1

70

Єгоров В.В.

доцент

АЛГОЛ

80

доцент

АЛГОЛ

АЛГОЛ

80

...

---

Фортран

90

Фортран

90

Рис. 10.4. Вихідне відношення

Рис. 10.5. Відношення, отримані за правилом 2

У результаті ми уникли порожніх полів у відношеннях, не втративши даних. Додав атрибут Назва - ключ сутності ДИСЦИПЛІНА (з необов'язковим КП) як зовнішній ключ у відношення, що відповідає сутності ВИКЛАДАЧ (з обов'язковим КП), ми зв'язали відношення по полю Назва (рис. 10.6).

ПІБ

Посада

Назва

Назва

Години

Рис. 10.6. Зв'язок відношень по зовнішньому ключу

Точніше кажучи, ми створили умови для зв'язування відношень. Це дозволяє, наприклад, одержувати одночасно дані про викладача і про дисципліни що вони ведуть (годинах).

Правило 3. Якщо ступінь зв'язку 1:1 і клас приналежності обох сутностей є необов'язковим, то необхідно використовувати три відношення. Два відношення відповідають сутностям, що зв'язуються, ключі яких є первинними в цих відношеннях. Третє відношення є зв'язковим між першими двома, тому його ключ поєднує ключові атрибути відношень, що зв'язуються.

На рис. 10.7 приведена діаграма ER-типу і відношення, сформовані за правилом 3 на його основі.

На рис. 10.8 приведені приклади відношень, що підтверджують необхідність використання трьох відношень при наявності необов'язкового КП для обох сутностей, що зв'язуються.

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

а) одно відношення

ВИКЛАДАЧ_ДИСЦИПЛІНА

ПІБ

Посада

Назва

Години

Іванов І.М.

асистент

Паскаль

100

Петров М.І.

викладач

СУБД

60

Сідоров Н.Г.

доцент

ПЛ/1

70

АЛГОЛ

80

Єгоров В.В.

доцент

ФОРТРАН

90

Козлов С.А.

професор

б) два відношення

ВИКЛАДАЧ

ДИСЦИПЛІНА

ПІБ

Посада

Назва

Назва

Години

ПІБ

Іванов І.М.

асистент

Паскаль

Паскаль

100

Іванов І.М.

Петров М.І.

викладач

СУБД

СУБД

60

Петров М.І.

Сідоров Н.Г.

доцент

ПЛ/1

ПЛ/1

70

Сідоров Н.Г.

Єгоров В.В.

доцент

ФОРТРАН

АЛГОЛ

80

Козлов С.А.

професор

ФОРТРАН

90

Єгоров В.В.

в) три відношення

ВИКЛАДАЧ

ВЕДЕ

ДИСЦИПЛІНА

ПІБ

Посада

ПІБ

Назва

Назва

Години

Іванов І.М.

ассистент

Іванов І.М.

Паскаль

Паскаль

100

Петров М.И.

викладач

Петров М.І.

СУБД

СУБД

60

Сідоров Н.Г.

доцент

Сидоров Н.Г.

ПЛ/1

ПЛ/1

70

Єгоров В.В.

доцент

Єгоров В.В.

ФОРТРАН

АЛГОЛ

80

Козлов С.А.

професор

ФОРТРАН

90

Рис. 10.8. Варіанти відношень для правила 3

Вихід полягає у використанні трьох відношень, сформованих за правилом 3 (рис. 10.8в). Об'єктні відношення (з атрибутами сутностей) містять повну інформацію про усіх викладачів і дисципліни відповідно. Зв'язне відношення ВЕДЕ містить дані про викладачів, що ведуть дисципліни і про дисципліни, що ведуться викладачами. При цьому в ньому мається тільки одне згадування про кожного викладача і дисципліну в силу зв'язку 1:1. Це відношення містить у даному випадку тільки ключові атрибути обох сутностей, але може мати й інші атрибути, що характеризують цей зв'язок. Наприклад, номер семестру, у якому викладач веде дисципліну.

Отже, сформульовані три правила, що дозволяють формувати відношення на основі ER-діаграм, для варіантів зі ступенем зв'язку типу 1:1.