- •Реляционные базы данных
- •Цели проектирования баз данных
- •Универсальные отношения
- •Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •Функциональные зависимости
- •Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •Декомпозиция отношений
- •Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Транзитивные зависимости
- •Пример удаления избыточных зависимостей с помощью правил вывода
- •Общая схема проектирования баз данных методом декомпозиции
- •Построение отношений для базы данных “Начальник отдела”.
- •Выявление функциональных зависимостей
- •Декомпозиция универсального отношения
- •Семантическое моделирование или проектирования баз данных методом “Сущность-связь”
- •Сущности и связи
- •Диаграмма еr–экземпляров:
- •Диаграмма er–типа:
- •Терминология метода “Сущность-связь”
- •Степень связи
- •Класс принадлежности сущности
- •Примеры диаграмм er-типа связей степени 1:1.
- •Примеры диаграмм er-типа связей степени 1:n и n:1
- •Примеры диаграмм er-типа связей степени m:n
- •Порядок или мерность связи
- •Бинарные связи со степенью связи 1: 1
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Бинарные связи со степенью связи 1: n
- •Правило 4.
- •Правило 5.
- •Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
Правило 3.
Если связь бинарная, степени 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать для хранения информации три отношения. В первое отношение включаются все атрибуты, характеризующую первую из сущностей. Ключ ее будет являться ключом данного отношения. Во второе отношении включаются атрибуты, характеризующую вторую сущность. Ее ключ будет ключом второго отношения. Третье отношение характеризует связь. Среди своих атрибутов оно содержит ключи двух связываемых сущностей. Ключом может быть любой из этих двух атрибутов.
Пример: Проектируется БД предназначенная для хранения информации о рыболовах-проводниках, которые работают на некоторых озерах. За одно озеро разрешено закрепить не более одного проводника. Каждый проводник обслуживает только одно озеро. В БД могут быть озера, за которым не закреплены проводники, но не может быть проводников ни за кем не закрепленных. Интерес для БД будет представлять:
ФАМ. |
- |
Фамилия проводника |
Тном. |
- |
Номер его телефона |
Плата. |
- |
Еженедельная оплата |
Гр. |
- |
Максимальный размер группы, которую проводник может привести на озеро |
Наз. |
- |
Название озера |
Рыба. |
- |
Основной вид рыбы, которая водится в озере |
Оц. |
- |
Оценка озера рыболовом |
В данной БД сущностями будет: проводник и озеро, связи между ними: обслуживает.
|
Рис. 7.28 ER-диаграмма связи ‘Проводник обслуживает озеро’ |
Связь бинарная, класс принадлежности одной сущности обязательный другой нет, степень связи 1:1. Используем правило (2) и информацию распределяем по двум отношениям:
Проводник (Фам, Тном, Плата, Гр, Н_Озера)
Озеро (Н_Озера, Оц, Рыба)
|
|
Рис. 7.29 Диаграмма функциональных зависимостей отношений ‘Проводник’ и ‘Озеро’ |
Бинарные связи со степенью связи 1: n
Преподаватель может читает несколько курсов. Каждый курс читается одним преподавателем:
|
|
|
Рис. 7.30 ER-диаграмма связи ‘Преподаватель читает курс’ |
необяз. |
обяз. |
Отношение R6 не состоятельно. В R6 присутствуют избыточное дублирование информации, пустые поля, следовательно одной таблицы недостаточно.
Таблица 7.11 R Универсальное отношение |
|
|||||
НП |
Фам |
Тел |
НК |
V |
Не получается использовать одно отношение – будут возникать пустоты в полях НК и V. |
|
П1 |
Иванов |
32 |
К1 |
18 |
||
П2 |
Минин |
33 |
- |
- |
||
П3 |
Орлов |
34 |
К1 |
18 |
||
П3 |
Орлов |
34 |
K2 |
54 |
||
П3 |
Орлов |
34 |
K3 |
48 |
Рассмотрим ситуацию, когда принадлежность обоих сущностей является обязательной:
|
|
|
Рис. 7.35 |
обяз. |
необяз. |
Таблица 7.12 R Универсальное отношение. |
|||||
НП |
Фам |
НК |
V |
Тел |
|
П1 |
Иванов |
К1 |
18 |
32 |
|
П1 |
Иванов |
К2 |
54 |
32 |
|
П2 |
Мининв |
К1 |
18 |
33 |
|
П3 |
Орлов |
K1 |
18 |
34 |
|
П3 |
Орлов |
K2 |
54 |
34 |
|
В данной таблице отсутствуют пустые поля, но проблема с дублированием избыточной информации осталась, следовательно, отношение R содержит в себе аномалии и нуждаются в разбиении на R1 и R2.
Таблица 7.13 R1-отношение “Преподаватель”. |
Таблица 7.14 R2-отношение “Курс_НП”. |
||||||
НП |
Фам |
Тел |
|
НК |
V |
НП |
|
П1 |
Иванов |
34 |
|
К1 |
35 |
П3 |
|
П2 |
Петров |
35 |
|
К2 |
34 |
П1 |
|
П3 |
Зайцев |
36 |
|
К3 |
23 |
П2 |
|
П4 |
Сидоров |
32 |
|
К4 |
11 |
П5 |
|
П5 |
Андреев |
37 |
|
К5 |
23 |
П3 |
|
|
|
|
|
К6 |
25 |
П4 |
|
|
|
|
|
К7 |
45 |
П1 |
|
|
|
|
|
К8 |
12 |
П3 |
|