Слайд 2ОПРЕДЕЛЕНИЕ 1
Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при
обновлении, включении и удалении данных.
Слайд 3ОПРЕДЕЛЕНИЕ 2
Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до
тех пор, пока все они не будут находиться в НФБК или 3НФ.
Слайд 4НОРМАЛЬНАЯ ФОРМА БОЙСА-КОДДА
Теоретики реляционных систем Кодд и Бойс обосновали и предложили более
строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько возможных ключей.
Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.
Слайд 5Процедура нормализации основывается на том, что единственными функциональными зависимостями в любой таблице
должны быть зависимости вида K->F, где K – первичный ключ, а F – некоторое другое поле.
Это следует из определения первичного ключа таблицы, в соответствии с которым K->F всегда имеет место для всех полей данной таблицы.
Слайд 6"Один факт в одном месте" говорит о том, что не имеют силы
никакие другие функциональные зависимости.
Цель нормализации состоит именно в том, чтобы избавиться от всех этих "других" функциональных зависимостей, т.е. таких, которые имеют иной вид, чем K->F.
Слайд 7ВАРИАНТ 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.
Слайд 8ВАРИАНТ 2
Таблица имеет первичный (возможный) ключ К и не являющееся возможным ключом
поле F1, которое, конечно, функционально зависит от К, и другое неключевое поле F2, которое функционально зависит от F1. Решение здесь, по существу, то же самое, что и прежде – формируется другая таблица, содержащая F1 и F2, с первичным ключом F1, и F2 удаляется из первоначальной таблицы:
Заменить T(K,F1,F2), первичный ключ К, ФЗ F1->F2
на T1(K,F1), первичный ключ К,
и T2(F1,F2), первичный ключ F1.