Правило 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 | ВЗ |