- •Тема 1.3. Этапы проектирования баз данных. Системы управления базами данных.
- •Проблемы проектирования
- •Нормализация данных.
- •Обеспечение целостности.
- •2. Проблемы проектирования.
- •Проблемы проектирования
- •Избыточное дублирование данных и аномалии
- •Формирование исходного отношения
- •2. Нормализация данных
- •3. Обеспечение целостности
Формирование исходного отношения
Проектирование БД начинается с определения всех объектов, сведения о которых будут включены в базу, и определения их атрибутов. Затем атрибуты сводятся в одну таблицу - исходное отношение.
2. Нормализация данных
Проектирование БД является одним из этапов жизненного цикла информационной системы. Основной задачей, решаемой в процессе проектирования БД, является задача нормализации ее отношений. Метод нормальных форм является классическим методом проектирования реляционных БД. Этот метод основан на фундаментальном в теории реляционных баз данных понятии зависимости между атрибутами отношений.
Процесс нормализации – это устранения избыточности данных и приведение третьей нормальной форме.
Нормализация отношений БД необходима для устранения избыточности хранимых данных, а также для устранения аномалий вставки, удаления и модификации записей.
Функциональная зависимость – это ситуация, когда каждому значению одного атрибута в точности соответствует единственное значение другого атрибута.
Транзитивная зависимость – это ситуация, когда значение одного атрибута можно вычислить, зная значение одного или нескольких других атрибутов. Например, зная цену и количество всегда можно вычислить сумму.
Процесс проектирования БД с использованием метода нормальных форм является итерационным и заключается в последовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определённый тип функциональных зависимостей, устраняет соответствующие аномалии при выполнении операций над отношениями БД и сохраняет свойства предшествующих нормальных форм.
Выделяют следующую последовательность нормальных форм:
первая нормальная форма (1НФ);
вторая нормальная форма (2НФ);
третья нормальная форма (3НФ);
усиленная третья нормальная форма, или нормальная форма Бойса-Кодда (БКНФ);
четвертая нормальная форма (4НФ);
пятая нормальная форма (5НФ).
Первая нормальная форма (1НФ). Отношение находится в 1НФ, если все его атрибуты являются атомарными (простыми) и в отношении нет повторяющихся атрибутов. Эта форма требует, чтобы каждое поле таблицы:
было неделимым;
не содержало повторяющихся групп.
Неделимость поля – значение поля не должно делиться на более мелкие значения. Н-р, если в поле «Подразделение» содержится название и факультета и кафедры, то требование неделимости не соблюдается.
Повторяющиеся группы – поля, содержащие одинаковые по смыслу значения. Н-р, требуется получить статистику продаж 4-х товаров за месяц.
-
Д ата
Товар 1
Товар 2
Товар 3
Товар 4
Вторая нормальная форма (2НФ). Отношение находится в 2НФ, если оно находится в 1НФ и все не ключевые атрибуты функционально полно зависят от первичного ключа. Эта форма требует, чтобы:
все поля таблицы зависели от первичного ключа, те поля, которые зависят только от части первичного ключа должны быть выделены в составе отдельных таблиц;
первичный ключ не был избыточен.
Третья нормальная форма (3НФ). Отношение находится в 3НФ, если оно находится в 2НФ и отсутствуют транзитивные зависимости.
Отношение находится в 3НФ в том и только в том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа. Эта форма требует, чтобы: в таблице не имелось транзитивных зависимостей между неключевыми полями, т.е. чтобы значение любого поля таблицы, не входящего в первичный ключ не зависело от другого поля, входящего в первичный ключ.
Если в отношении имеется зависимость атрибутов составного ключа от неключевых атрибутов, то необходимо перейти к усиленной 3НФ.
Усиленная 3НФ или нормальная форма Бойса – Кодда (БКНФ). Отношение находится в БКНФ, если оно находится в 3НФ и все ключевые атрибуты не имеют функциональной зависимости от не ключевых атрибутов.
В следующих нормальных формах (4НФ и 5НФ) учитываются не только функциональные, но и многозначные зависимости между атрибутами.
На практике обычно ограничиваются структурой БД, соответствующей 3НФ или БКНФ. Поэтому процесс нормализации отношений методом нормальных форм предполагает последовательное удаление из исходного отношения следующих межатрибутных зависимостей:
частичных зависимостей неключевых атрибутов от ключа (удовлетворение требований 2НФ);
транзитивных зависимостей неключевых атрибутов от ключа (удовлетворение требований 3НФ);
зависимости ключей (атрибутов составных ключей) от неключевых атрибутов (удовлетворение требований БКНФ).
Кроме метода нормальных форм Кодда, используемого для проектирования небольших БД, применяют и другие методы, например метод ER-диаграмм (метод «Сущность-связь»).Этот метод используется при проектировании больших БД, на нем основан ряд средств проектирования БД.