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

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

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

Выделяют две основные причины неопределенностей:

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

· Противоречивость (чаще всего является результатом неоднозначности; когда, например, по одним данным какой-либо товар находится на складе NN, а по другим – его /товара/ вообще нет).

Ф. Код выделил существование 5 форм нормализации. Но на практике обычно используют первые три нормальные формы.

Первая нормальная форма.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: