- •Реляционные базы данных
- •Цели проектирования баз данных
- •Универсальные отношения
- •Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •Функциональные зависимости
- •Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •Декомпозиция отношений
- •Избыточные функциональные зависимости. Правила вывода
- •Правило 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
- •Пример проектирования с использованием ролей
Цели проектирования баз данных
Наиболее важными целями проектирования являются:
Хранение всех необходимых данных в БД, т.е. централизация данных;
Исключение избыточности данных;
Уменьшение количества отношений в БД;
Нормализация отношений для решения проблем, связанных с обновлением или удалением данных.
Первым шагом в процессе проектирования является определение перечня атрибутов (столбцов), которые должны храниться в БД.
На втором шаге принимается решение о том, сколько будет отношений и какие атрибуты будут храниться в каких отношениях.
Необходимо различать дублирование данных и дублирование с избыточностью:
Таблица 6.7 Пример дублирования данных. |
||
Табельный номер |
Номер лаборатории |
В таблице 6.7 Числа 12 и 17 дублируются, но не избыточны. |
287 |
12 |
|
314 |
17 |
|
07 |
12 |
|
354 |
17 |
Таблица 6.8 Пример избыточного дублирования данных. |
|||
Табельный номер |
Номер лаборатории |
Телефон лаборатории |
В таблице 6.8 телефон лаборатории, как видно, дублируется, и это уже избыточное дублирование. |
287 |
12 |
2-17 |
|
314 |
17 |
4-41 |
|
007 |
12 |
|
|
354 |
17 |
|
Третий шаг – устранение избыточности. Полученный файл после устранения избыточности следует считать неудовлетворительным. Во-первых, пустых полей в файле следует избегать, в такой структуре хранения для записей необходимо иметь процедуру поиска. Во-вторых, могут возникнуть серьезные проблемы с удалением информации. Если удалить работника 287, то исчезнет и соответствующий номер лаборатории.
Лучший способ устранения – разбиение отношения
“Служащий – лаборатория – телефон” (таблица 6.8) на два:
“Лаборатория – телефон” (таблица 6.9)
“Служащий – лаборатория” (таблица 6.10)
Таблица 6.9 “Лаборатория-телефон”. |
Таблица 6.10 “Служащий-лаборатория”. |
||||
Номер лаборатории |
Телефон лаборатории |
|
Табельный номер |
Номер лаборатории |
|
12 |
2-17 |
287 |
12 |
|
|
17 |
4-41 |
314 |
17 |
|
|
|
007 |
12 |
|
||
354 |
17 |
|
Разбиение отношений на два или несколько – рабочая процедура проектирования.
Разбиение отношения на два или более приводит к увеличению числа файлов, хранящихся в БД, что порождает проблемы по обработке данных, в данном случае – замедление.
Некоторые отношения порождают серьезные проблемы по удалению и обновлению информации. Проектировщик БД должен уметь находить такие отношения и “нормализовать” их. Нормализация осуществляется путем разбиения отношения на два или более мелких отношения по определенным правилам.