Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_KL_2010_14.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
28.97 Mб
Скачать

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

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

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

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

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

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

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

2.4.1.Понятие функциональной зависимости

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

Термин функциональная зависимость означает следующее: атрибут B отношения R функционально зависит от атрибута A того же отношения, если в каждый момент времени каждому значению атрибута A соответствует не более чем одно значение атрибута B, связанного с A в отношении R.

Утверждение, что B функционально зависит от A, означает то же самое, что A однозначно определяет B, т. е. если в какой-то момент времени известно значение A, то можно получить и значение B.

Атрибут может функционально зависеть не от какого-то одного атрибута, а от целой группы атрибутов. Атрибут (или набор атрибутов) B из отношения R называется полностью зависимым от другого набора атрибутов A отношения R, если B функционально зависит от всего множества A, но не зависит ни от какого подмножества A. Например, если и , то функциональная зависимость неполная.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]