Общие понятия о нормализации 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие понятия о нормализации



Проектирование базы данных должно решить одну из основных задач - сокращение избыточности хранимых данных.

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

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

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

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

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

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

- избыточности. Информация во многих столбцах многократно повторяется. Чем больше данных хранится в базе данных, тем больше информации дублируется и тем выше непроизводительные затраты;

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

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

- аномалии удаления. При удалении «учебного курса» теряется информация о преподавателе и студентах. Однако эта информация может понадобиться в будущем. Потребуется повторный ввод данных.

Большая часть проблем будет решена, если данные из универсального отношения разнести на несколько более мелких таблиц. Именно эту задачу и решает нормализация.

При первом знакомстве нормализация кажется довольно простым занятием, однако в ходе этого процесса могут возникнуть определенные трудности, например часто приходится изменять состав столбцов в таблицах, чтобы иметь возможность связывать их.

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

При описании нормальных форм используется несколько понятий. Определим поля значений А, В и С, тогда между этими полями можно определить следующие отношения.

1. Функциональной зависимостью между полями А и В называется зависимость, при которой каждому значению А в любой момент времени соответствует единственное значение В из всех возможных. Примером функциональной зависимости может служить связь города и страны, так как любой город находится в единственной стране, и с течением времени эта связь не меняется.

2. Полной функциональной зависимостью между составным полем А и полем В называется зависимость, при которой поле В зависит функционально от поля А и не зависит функционально от любого подмножества поля А.

3. Многозначная функциональная зависимость. Поле А однозначно определяет поле В, если для каждого значения поля А существует хорошо определенное множество соответствующих значений поля В. Например, если рассматривать таблицу с описанием сотрудников и поле Образование, то это поле имеет хорошо определенное множество допустимых значений (высшее, среднее, незаконченное среднее и т. д.).

4. Транзитивная функциональная зависимость между полями А и С наблюдается в том случае, если поле В функционально зависит от поля А, а поле С - от поля В. В то же время не существует функциональной зависимости поля А от поля В.

5. Несколько полей взаимно независимы, если ни одно из них не является функционально зависимым от другого поля.

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

 



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 159; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.28.12 (0.006 с.)