Помощь в учёбе, очень быстро...
Работаем вместе до победы

Процедура нормализации. 
Система управления базой данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Таблица имеет составной первичный ключ вида, скажем, (К1,К2), и включает также поле F, которое функционально зависит от части этого ключа, например, от К2, но не от полного ключа. В этом случае рекомендуется сформировать другую таблицу, содержащую К2 и F (первичный ключ — К2), и удалить F из первоначальной таблицы: Для любой заданной таблицы, повторяя применение двух рассмотренных правил, почти… Читать ещё >

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

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

Эта процедура основывается на том, что единственными функциональными зависимостями в любой таблице должны быть зависимости вида K->F, где K — первичный ключ, а F — некоторое другое поле. Заметим, что это следует из определения первичного ключа таблицы, в соответствии с которым K->F всегда имеет место для всех полей данной таблицы. «Один факт в одном месте» говорит о том, что не имеют силы никакие другие функциональные зависимости. Цель нормализации состоит именно в том, чтобы избавиться от всех этих «других» функциональных зависимостей, т. е. таких, которые имеют иной вид, чем K->F.

Если воспользоваться рекомендацией, приведенной выше, и подменить на время нормализации коды первичных (внешних) ключей на исходные ключи, то, по существу, следует рассмотреть лишь два случая:

1. Таблица имеет составной первичный ключ вида, скажем, (К1,К2), и включает также поле F, которое функционально зависит от части этого ключа, например, от К2, но не от полного ключа. В этом случае рекомендуется сформировать другую таблицу, содержащую К2 и F (первичный ключ — К2), и удалить F из первоначальной таблицы:

Заменить T (K1,K2,F), первичный ключ (К1,К2), ФЗ К2->F.

на T1(K1,K2), первичный ключ (К1,К2),.

и T2(K2,F), первичный ключ К2.

2. Таблица имеет первичный (возможный) ключ К, не являющееся возможным ключом поле F1, которое, конечно, функционально зависит от К, и другое неключевое поле F2, которое функционально зависит от F1. Решение здесь, по существу, то же самое, что и прежде — формируется другая таблица, содержащая F1 и F2, с первичным ключом F1, и F2 удаляется из первоначальной таблицы:

Заменить T (K, F1, F2), первичный ключ К, ФЗ F1->F2.

на T1(K, F1), первичный ключ К, и T2(F1,F2), первичный ключ F1.

Для любой заданной таблицы, повторяя применение двух рассмотренных правил, почти во всех практических ситуациях можно получить в конечном счете множество таблиц, которые находятся в «окончательной» нормальной форме и, таким образом, не содержат каких-либо функциональных зависимостей вида, отличного от K->F.

Для выполнения этих операций необходимо первоначально иметь в качестве входных данных какие-либо «большие» таблицы (например, универсальные отношения). Но нормализация ничего не говорит о том, как получить эти большие таблицы. Далее будет рассмотрена процедура получения таких исходных таблиц, а здесь приведем примеры нормализации.

Показать весь текст
Заполнить форму текущей работой