Создание баз данных в Microsoft Access
М. А. Ковалева
http://izd-mn.com/
10
достигается разбиением одной большой таблицы на две или более мелких. Конечной целью
нормализации является получение такого проекта базы данных, в
котором каждый факт
появляется лишь в одном месте.
Таблица, в которую включены все интересующие атрибуты, называется
универсальным отношением. При использовании универсального отношения база данных
будет
состоять лишь из одной таблицы, в которой будет хранится вся информация о
рассматриваемом объекте.
Таблицу, содержащую в одном или нескольких полях большое количество
повторяющихся данных, можно разделить на две или более связанных таблиц. Такой способ,
позволяющий более эффективно хранить данные, называют нормализацией таблиц.
В некоторых СУБД, например Access, предусмотрен мастер анализа таблиц, который
позволяет нормализовать таблицы базы данных. При использовании мастера пользователь
имеет возможность самостоятельно определить создаваемые таблицы или позволить мастеру
провести нормализацию таблиц.
Мастер анализа таблиц преобразует таблицу, содержащую повторяющиеся данные, в
набор
связанных таблиц, где уже нет повторений. Это повышает эффективность работы с
базой данных и уменьшает ее размер. После создания набора таблиц данные по-прежнему
можно просматривать и обрабатывать вместе, создав для этого запрос.
Универсальное отношение порождает ряд проблем.
Избыточность
Аномалии обновления (потенциальная противоречивость)
Аномалии включения
Аномалии удаления
Большая часть проблем исчезнет, если данные из универсальной таблицы разнести в
несколько более мелких таблиц. Эту задачу можно решить путем нормализации.
Процесс нормализации состоит из нескольких этапов. На каждом из этапов изменяют
структуру данных так, чтобы она удовлетворяла определенным
критериям - требованиям
нормальной формы.
Нормализация представляет собой последовательное изменение структуры данных в
соответствии с требованиями нормальных форм.
Всего существует шесть нормальных форм. Теория нормализации опирается на
довольно сложный математический аппарат реляционной алгебры,
изложение которого
вытекает за рамки данного пособия.
Дадим определение первых трех нормальных форм.
Таблица находится в первой нормальной форме, если ни одно поле строки не содержит
более одного значения и любое ключевое поле не является пустым. Как следует из
определения, любая таблица реляционной базы данных автоматически удовлетворяет
требованиям первой нормальной формы.
Таблица находится во второй нормальной форме, если она удовлетворяет требованиям
первой нормальной формы, и все ее поля, не входящие в первичный ключ, связаны полной
функциональной зависимостью с первичным ключом. Как следует из этого определения,
необходимо чтобы только первичный ключ однозначно идентифицировал значения полей в
любом столбце и в то же время значения полей в столбцах не
зависели от любой части
составного ключа. Если первичный ключ состоит из одного столбца, то это требование
удовлетворяется автоматически. Если же первичный ключ является составным, то
есть
состоит из двух и более столбцов, то такая таблица не обязательно будет находится во второй
нормальной форме. если таблица не удовлетворяет требованиям второй нормальной формы,
то она должна быть разбита на две или более таблиц так, чтобы первичный ключ однозначно
идентифицировал значение в любом столбце.
Таблица находится в третьей нормальной форме тогда и только тогда, когда она
удовлетворяет требованиям второй нормальной формы и ни одно из ее не ключевых полей не