- •4.2. Основные понятия рбд (отношение, сущность, атрибут, связь, ключ, домен, примеры)
- •4.3. Нормализация отношений (1, 2, 3 нф; нфбк; фз; потенциальный ключ; детерминант; пример)
- •4.4. Целостность реляционных данных. Преимущества и недостатки рмд
- •4.5. Реляционные операции. Операции над отношениями
- •Контрольные вопросы
- •4.6. Постановка задачи проектирования рбд с использованием метода «сущность-связь» (сущность, связь, атрибут, er-диаграмма)
- •4.7. Построение er-диаграммы предметной области (er-диаграммы экземпляров и классов; пример)
- •4.8. Бинарных связи и классы принадлежности. Случай 1 – связь 1:1, кп обеих сущностей обязательный
- •4.9. Примеры er-диаграмм (связь 1:1): случай 2 – кп сущностей обязательный и необязательный; случай 3 – кп обеих сущностей необязательный
- •4.10. Примеры er-диаграмм: случай 4 – связь 1:n, кп сущностей необязательный; случай 5 – связь n:1, кп сущностей обязательный; случай 6 – связь m:n, кп сущностей необязательный
- •Контрольные вопросы
- •4.11. Получение предварительных отношений из er-диаграмм для бинарных связей 1:1 (шаги использования метода; правило 1 – кп сущностей обязательный)
- •4.12. Получение предварительных отношений из er-диаграмм для бинарных связей 1:1 (правило 2 – кп сущностей обязательный и необязательный; правило 3 – кп обеих сущностей необязательный)
- •4.13. Пример проекта бд «Проводники и озера» (бинарная связь 1:1; кп сущностей обязательный и необязательный; er-диаграммы для экземпляров и классов; диаграмма фз; анализ на нфбк)
- •Контрольные вопросы
- •4.14. Получение предварительных отношений из er-диаграмм для бинарных связей 1:n (правило 4 – кп n-связной сущности обязательный; правило 5 – кп n-связной сущности необязательный)
- •Отношение «Читает»
- •Контрольные вопросы
- •4.15. Получение предварительных отношений из er-диаграмм для
- •4.16. Пример проектирования бд с тройственной связью («Проводник обслуживает Озеро, в нем водится Рыба»; постановка задачи; атрибуты; er-диаграммы; диаграммы фз; отношения)
- •Контрольные вопросы
4.13. Пример проекта бд «Проводники и озера» (бинарная связь 1:1; кп сущностей обязательный и необязательный; er-диаграммы для экземпляров и классов; диаграмма фз; анализ на нфбк)
Пример 4.8. Постановка задачи. Предметная область: профессиональные рыболовные проводники Мещерских озер и озера, которые они обслуживают. Разрешается закрепление не более одного проводника за одним озером, и каждый из проводников обслуживает только одно озеро. Таким образом, степень связи 1:1.
Атрибуты: имя проводника, код проводника, номер телефона, ежедневная плата, максимально число людей в группе рыбаков (размер), название озера, код озера, рыболовный рейтинг и основной вид рыбы в озере.
Решение задачи. Предположения при создании ER-диаграммы: все проводники имеют работу, некоторые озера проводниками не обслуживаются. Следовательно, класс принадлежности сущности Проводник обязательный, а сущности Озеро необязательный.
Связь между сущностями: Проводник обслуживает Озеро. На рис. 4.14 – 4.16 показаны ER-диаграммы и диаграмма ФЗ. В табл. 4.16 – 4.17 представлены отношения «Проводники» и «Озера».
Рис. 4.14. ER -диаграмма для экземпляров сущностей
Рис. 4.15. ER -диаграмма для классов сущностей
Таблица 4.16
Проводник (КП, …, КО)
КП |
Фамилия |
Телефон |
Плата |
Размер |
КО |
|
|
|
|
|
|
Таблица 4.17
Озеро (КО, ...)
КО |
Наименование |
Рейтинг |
Вид |
|
|
|
|
Рис. 4.16. Диаграмма ФЗ
Из анализа диаграмм можно заключить, что оба отношения находятся в НФБК. Детерминанты КП и КО являются ключевыми атрибутами.
Контрольные вопросы
Сколько таблиц необходимо, если степень связи 1:1 и класс принадлежности обеих сущностей обязательный?
Какие атрибуты принимаются за ключевые в предварительных отношениях, соответствующих случаю, когда степень связи 1:1 и класс принадлежности обеих сущностей обязательный?
Сколько таблиц необходимо, если степень связи 1:1 и класс принадлежности одной сущности обязательный, а другой - необязательный?
Какие атрибуты принимаются за ключевые в предварительных отношениях, соответствующих случаю, когда степень связи 1:1 и класс принадлежности одной сущности обязательный, а другой - необязательный?
Сколько таблиц необходимо, если степень связи 1:1 и класс принадлежности обеих сущностей необязательный?
Какие атрибуты принимаются за ключевые в предварительных отношениях, соответствующих случаю, когда степень связи 1:1 и класс принадлежности обеих сущностей необязательный?
4.14. Получение предварительных отношений из er-диаграмм для бинарных связей 1:n (правило 4 – кп n-связной сущности обязательный; правило 5 – кп n-связной сущности необязательный)
В такой ситуации используются два правила. Каждое из них определяется классом принадлежности (КП) N-связной сущности. КП 1-связной сущности на результат не влияет. Ниже приводятся правила вместе с рисунками и таблицами, иллюстрирующими их применение.
Правило 4. Если степень бинарной связи равна 1:N и КП N-связной сущности является обязательным, то достаточным является использование двух отношений, по одному на каждую сущность. При этом должно соблюдаться условие - ключ каждой сущности служит в качестве первичного ключа для соответствующего отношения. Дополнительно ключ 1-связной сущности должен быть добавлен как атрибут в отношение, отводимое N-связной сущности (рис. 4.17, табл. 4.18, 4.19).
Рис. 4.17. ER - диаграмма к правилу 4
Таблица 4.18
Отношение «Преподаватель»
КП |
Фамилия |
Телефон |
П1 |
Иванов |
234566 |
П2 |
Андреев |
233367 |
ПЗ |
Суслов |
226785 |
П4 |
Репин |
274564 |
Таблица 4.19
Отношение «Дисциплина»
КД |
Дисциплина |
Число часов |
КП |
Д1 |
Программирование |
48 |
П1 |
Д2 |
Математика |
56 |
П2 |
ДЗ |
Физика |
34 |
П1 |
Д4 |
Информатика |
68 |
П4 |
Правило 5. Если степень бинарной связи равна 1:N и класс принадлежности N -связной сущности является необязательным, то необходимо формирование трех отношений: по одному для каждой сущности и одно отношение для связи (табл. 4.20 – 4.22). Причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения. Отношение связи должно иметь в числе своих атрибутов ключи каждой сущности.
Таблица 4.20
Отношение «Преподаватель»
КП |
Фамилия |
Телефон |
П1 |
Иванов |
234566 |
П2 |
Андреев |
233367 |
ПЗ |
Суслов |
226785 |
П4 |
Ренин |
274564 |
Таблица 4.21
Отношение «Дисциплина»
КД |
Дисциплина |
Число часов |
Д1 |
Программирование |
48 |
Д2 |
Математика |
56 |
ДЗ |
Физика |
34 |
Д4 |
Информатика |
68 |
Таблица 4.22