Лабораторные работы CASE-средства проектирования баз данных
Краткие теоретические сведения
Нормализация
Нормализация– процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционной модели данных. Нормализация позволяет быть уверенным, что каждый атрибут определен для своей сущности, значительно сократить объем памяти для хранения информации и устранить аномалии в организации хранения данных. В результате проведения нормализации должна быть создана структура данных, при которой информация о каждом факте хранится только в одном месте. Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам– формализованным требованиям к организации данных. Известны шесть нормальных форм:
1) первая нормальная форма (1NF);
2) вторая нормальная форма (2NF);
3) третья нормальная форма (3NF);
4) нормальная форма Бойса-Кодда (усиленная 3NF);
5) четвертая нормальная форма (4NF);
6) пятая нормальная форма (5NF).
На практике обычно ограничиваются приведением данных к третьей нормальной форме (полная атрибутивная модель, FA).
Нормальные формы основаны на понятии функциональной зависимости (в дальнейшем будет использоваться термин «зависимость»).
Функциональная зависимость (FD).Атрибут В сущности Е функционально зависит от атрибута А сущности Е тогда и только тогда, когда каждое значение А и Е связало с ним точно одно значение В и Е, т.е. А однозначно определяет В.
Полная функциональная зависимость. Атрибут В сущности Е полностью функционально зависит от ряда атрибутов А сущности Е тогда и только тогда, когда В функционально зависит от А и не зависит ни от какого подряда А. Функциональные зависимости определяются бизнес правилами предметной области.
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Процесс преобразования отношений базы данных (БД) к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Устранение избыточности производится, как правило, за счёт декомпозиции отношений таким образом, чтобы в каждом отношении хранились только первичные факты (то есть факты, не выводимые из других хранимых фактов).
Первая нормальная форма (1NF)
Сущность находится в первой нормальной форме тогда и только тогда, когда все атрибуты содержат атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т.е. несколько значений для каждого экземпляра. Другой ошибкой нормализации является хранение в одном атрибуте разных по смыслу значений.
Для приведения сущности к первой нормальной форме следует:
1) разделить сложные атрибуты на атомарные;
2) создать новую сущность;
3) перенести в нее все «повторяющиеся» атрибуты;
4) выбрать возможный ключ для нового РК (или создать новый РК);
5) установить идентифицирующую связь от прежней сущности к новой, РК прежней сущности станет внешним ключом (FK) для новой сущности.
Пример
Исходная не нормализованная (то есть не являющаяся правильным представлением некоторого отношения) таблица:
ФИО
Данные
Иванов Иван Иванович
ПП-119 АСУ Муж. 19.01.1990
Петров Петр Петрович
Э-119 Электронщики Муж. 1991
Васильева Катерина Ильинишна
Прикладная Информатика 1990 Жен ПК-129
Таблица, приведенная к 1NF (являющаяся правильным представлением некоторого отношения):