- •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.12. Получение предварительных отношений из er-диаграмм для бинарных связей 1:1 (правило 2 – кп сущностей обязательный и необязательный; правило 3 – кп обеих сущностей необязательный)
Правило 2. Если степень бинарной связи 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений. Под каждую сущность выделяется одно отношение, при этом ключ сущности должен служить первичным ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класс принадлежности является необязательным, добавляется в качестве атрибута в отношение, выделенное для сущности с обязательным классом принадлежности.
Пример 4.6. Класс принадлежности сущности Преподаватель обязательный, а сущности Дисциплина - необязательный (рис. 4.12).
Рис. 4.12. ER-диаграмма для примера 4.6
Получаем отношения: Преподаватель (КП, Фамилия, Телефон, КД) (табл. 4.11), Дисциплина (КД, Наименование, Число часов) (табл. 4.12).
Таблица 4.11
Отношение «Преподаватель»
КП |
Фамилия |
Телефон |
КД |
П1 |
Иванов |
234566 |
Д1 |
П2 |
Андреев |
233367 |
Д2 |
ПЗ |
Суслов |
226785 |
ДЗ |
Таблица 4.12
Отношение «Дисциплина»
КД |
Наименование |
Число часов |
Д1 |
Программирование |
48 |
Д2 |
Математика |
56 |
ДЗ |
Физика |
34 |
Д4 |
Информатика |
68 |
Правило 3. Если степень бинарной связи равна 1:1 и класс принадлежности ни одной из сущностей не является обязательным, то необходимо использовать три отношения: по одному для каждой сущности и одно отношение для связи. Причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения. Отношение связи должно иметь в числе своих атрибутов ключи каждой сущности.
Пример 4.7. Класс принадлежности обеих сущностей - Преподаватель и Дисциплина - необязательный (рис. 4.13).
Рис. 4.13. ER-диаграмма для примера 4.7
Получаем отношения: Преподаватель (КП, Фамилия, Телефон) (табл. 4.13), Дисциплина (КД, Наименование, Число часов) (табл. 4.14), Читает (КП, КД) (табл. 4.15).
Таблица 4.13
Отношение «Преподаватель»
КП |
Фамилия |
Телефон |
П1 |
Иванов |
234566 |
П2 |
Андреев |
233367 |
ПЗ |
Суслов |
226785 |
П4 |
Репин |
274564 |
Таблица 4.14
Отношение «Дисциплина»
КД |
Наименование |
Число часов |
Д1 |
Программирование |
48 |
Д2 |
Математика |
56 |
дз |
Физика |
34 |
Д4 |
Информатика |
68 |
Таблица 4.15
Отношение «Читает»
КП |
КД |
П1 |
Д1 |
ПЗ |
дз |
П4 |
Д4 |