Слайд 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.