Правило 3.

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

Приклад: Проектується база даних призначена для зберігання інформації про провідників, які працюють на деяких озерах і організують риболовлю для туристів. Назвемо дану базу даних "Рибальський туризм".

Екологи дозволили за одне озеро закріплювати не більше одного провідника.

А профспілки вимагають, що б кожен провідник обов'язково обслуговував тільки одне озеро. Отже в БД можуть бути озера, за якими не закріплені провідники, але не може бути провідників не прикріплених до озера. Інтерес для БД буде представляти:

Прізв - Прізвище провідника

Тном - Номер його телефону

Плата - Щотижнева оплата

Група - Максимальний розмір групи, яку провідник може привести на озеро

Нозера - Назва озера

Риба - Основний вид риби, яка водиться в озері

Оцінка - Оцінка озера рибалкою

У даній БД сутностями буде: провідник і озеро, зв'язки між ними: обслуговує

Рис. 7.28 ER- діаграма зв’язку „Провідник обслуговує озеро”

Зв'язок бінарний, ступінь зв'язку 1:1, клас приналежності однієї сутності обов'язковий, а інший ні. Використовуємо правило (2) та інформацію розподіляємо по двом відношенням: Провідник (Прізв, Тном, Плата, Група, Н_Озера) і Озеро (Н_Озера, Оцінка, Риба)

Рис. 7.29 Діаграма функціональних залежностей відношень „Провідник” та „Озеро”

7.7. Бінарні зв'язки зі ступенем зв'язку 1: N

Розглянемо ситуацію:Викладач може читати кілька курсів. Кожен курс може читатися не більше ніж одним викладачем. Тобто клас приналежності N-зв'язаної суті є обов'язковим, а однозв’язної не обов'язковим.

Рис. 7.30 ER-діаграма зв’язку „Викладач читає курс” 1:N

Таблиця 7.11 R універсальне відношення

НВ Прізв. Тел НК V
В1 Іваненко К1
В2 Мінін - -
ВЗ Орлов К2
В3 Орлов КЗ

Відношення R не оптимальне. В ньому присутнє надлишкове дублювання інформації (в полях Тел та Прізв), пустоти (в полях НК та V), отже одної таблиці недостатньо. Відношення R містить в собі аномалії, його необхідно розбити на R1 та R2.

Помістимо всі атрибути сутності ВИКЛАДАЧ у відношення R1 а всі атрибути сутності КУРС в відношення R2 і додамо до нього атрибут НВ, що є ключем сутності ВИКЛАДАЧ.

Таблиця 7.12 R1 Таблиця 7.13 R2

відношення "Викладач" відношення "Курс НП"

НВ Прізв. Тел   НК V Нв
В1 Іваненко   К1 В1
В2 Мінін   К2 В3
ВЗ Орлов   КЗ В3
В3 Орлов      

Обидва відношення R1 і R2 знаходяться в НФБК, так як всі їх детермінанти є можливими ключами. У R1 це НВ, а в R2 це НК і <НК, НВ>.

Розглянемо ситуацію, коли приналежність обох сутностей є обов'язковою:

Рис. 7.31 ER-діаграма зв'язку "Викладач читає курс" 1: N

Таблиця 7.14 R Універсальне відношення.

НВ Прізв. Тел НК V
В1 Іваненко К1
В2 Мінін К2
ВЗ Орлов КЗ
В3 Орлов К4

В даній таблиці відсутні порожні поля, але проблема з дублюванням надлишкової інформації залишилася, отже, відношення R містить у собі аномалії і потребує розбиття на R1 i R2.Помістимо всі атрибути сутності ВИКЛАДАЧ в відношення R1 а всі атрибути сутності КУРС в відношення R2 і додамо до нього атрибут НB, що є ключем сутності ВИКЛАДАЧ.

Таблиця 7.15 R1 Таблиця 7.16 R2

відношення "Викладач" відношення "Курс_НВ"

НВ Прізв. Тел   НК V НВ
В1 Іваненко   К1 В1
В2 Мінін   К2 В2
ВЗ Орлов   КЗ В3
В3 Орлов   К4 ВЗ