Нормализация схемы базы данных

Нормализация схемы базы данных. Нормальная форма - свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных.

Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.

Нормализация - это процесс преобразования базы данных к виду, отвечающему нормальным формам.

Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную избыточность, то есть нормализация не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение объёма БД. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в БД информации.

Устранение избыточности производится, как правило, за счёт декомпозиции отношений таким образом, чтобы в каждом отношении хранились только первичные факты то есть факты, не выводимые из других хранимых фактов. Таблица находится в первой нормальной форме, если каждый её атрибут атомарен, то есть может содержать только одно значение.

Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц. Отношение находится во второй нормальной форме 2NF , если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов частей. Или другими словами в 2NF нет неключевых атрибутов, зависящих от части составного ключа.

Для исходной схемы базы данных, полученной в предыдущем разделе и находящейся в первой нормальной форме, нормализация ко второй нормальной форме не требуется, т.к. в схеме отсутствуют отношения, имеющие составной первичный ключ. Т.е. исходная схема базы данных уже находится во второй нормальной форме.

Отношение находится в третьей нормальной форме 3NF , если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа Primary key, PK . Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. В схеме базы данных разрабатываемой ИС, приведенной ко второй нормальной форме, присутствует транзитивная зависимость между атрибутами в отношении Аудитория атрибут Номер аудитории зависит от внешнего ключа ФИО преподавателя, а атрибуты Кол-во мест и кол-во оборудования зависят от неключевого атрибута Номер аудитории.

Таким образом, нормализацией к третьей нормальной форме в данном случае представляет собой вынесение атрибутов Номер аудитории, кол-во мест и кол-во оборудования в отдельное отношение Аудитория. Отсюда получаем следующие изменения в списке атрибутов Аудитория o Номер аудитории - int NOT NULL внешний ключ, FK o Кол-во мест - int NULL o Кол-во оборудования - int NULL Преп Ауд o ФИО преподавателя - varchar 70 NOT NULL внешний ключ, FK o Номер аудитория - int NOT NULL первичный ключ, PK Результирующее отношение, находящееся в третьей нормальной форме, приведено на рисунке 5. 36 Рис. 5 Нормализованная база данных Выводы Во второй главе курсовой работы приведена разработка информационно-логической модели.

Выделены сущности, дано их описание и построена инфологическая модель предметной области.

Далее в ходе обоснования выбора модели данных описаны существующие модели данных иерархическая, сетевая, реляционная, объектно-ориентированная, указаны их достоинства и недостатки, и сделан выбор в пользу реляционной модели. Затем на основании инфологической модели построена даталогическая модель данных, дан список атрибутов ее отношений и проведена нормализация до третьей нормальной формы. Таким образом, завершено проектирование базы данных и получена вся информация, необходимая для реализации проектируемой инфомационной системы в одной из реляционных СУБД.