Презентация по Химии "Теория нормализации" - скачать смотреть бесплатно

Содержание

Слайд 2

устранение дублирования информации; решение проблемы “присоединенных записей”. Почему дублирование информации –

устранение дублирования информации;
решение проблемы “присоединенных записей”.
Почему дублирование информации – это плохо?
Лишний

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

Цели теории нормализации:

Слайд 3

Дублирование информации Сотрудники

Дублирование информации

Сотрудники

Слайд 4

«Присоединенные» записи Сотрудники Пусть требуется добавить новый отдел с номером 10

«Присоединенные» записи

Сотрудники

Пусть требуется добавить новый отдел с номером 10 и названием

«Отдел логистики». Как это сделать в
текущей таблице?
Слайд 5

Таблицу «Сотрудники» следует разбить на 2 проекции: Сотрудники2(ТабельныйНом, ФИО, НомОтдела) Отдел

Таблицу «Сотрудники» следует разбить на 2 проекции:
Сотрудники2(ТабельныйНом, ФИО, НомОтдела)
Отдел (НомОтдела, НазОтдела)
Если

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

Полная декомпозиция

Слайд 6

Таблица находится в 1НФ тогда и только тогда, когда в каждом

Таблица находится в 1НФ тогда и только тогда, когда в каждом

ее поле (на пересечении строки и столбца) находится ровно одно значение (не более одного и не ноль значений).
Специально для выполнения этого требования придумано значение NULL.
Пример нарушения 1НФ: в поле НомерТелефона указано несколько номеров через запятую.

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

Слайд 7

Первая нормальная форма Что делать? Создать новую таблицу для многозначного атрибута,

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

Что делать? Создать новую таблицу для многозначного атрибута, в

которую нужно добавить исходный первичный ключ
Слайд 8

Пусть X и Y – списки полей таблицы. Говорят, что Y

Пусть X и Y – списки полей таблицы. Говорят, что Y

функционально зависит от X, если каждому значению X соответствует единственное значение Y. Обозначают X->Y.
Любое неключевое поле функционально зависит от первичного ключа!

Функциональная зависимость

Слайд 9

Пусть X и Y – списки полей таблицы. Говорят, что Y

Пусть X и Y – списки полей таблицы. Говорят, что Y

находится в полной функциональной зависимости от X, если:
Y функционально зависит от X;
Y функционально не зависит ни от какого подмножества X, не совпадающего с X.
Заказы (НомерЗаказа, НомерТовара, ОписаниеТовара, Количество)
Поле «ОписаниеТовара» зависит от части ключа «НомерТовара», т.е., не находится в полной функциональной зависимости от первичного ключа таблицы.

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

Слайд 10

Таблица находится в 2НФ тогда и только тогда, когда каждое неключевое

Таблица находится в 2НФ тогда и только тогда, когда каждое неключевое

поле таблицы связано полной функциональной зависимостью с первичным ключом.
Пример нарушения 2НФ: рассмотрим таблицу:
Заказы (НомерЗаказа, НомерТовара, ОписаниеТовара, Количество)
Поле «ОписаниеТовара» зависит от части ключа «НомерТовара», т.е., не находится в полной функциональной зависимости от первичного ключа таблицы, требования 2НФ нарушаются.
Что делать?

Вторая нормальная форма

Слайд 11

Теорема Хита (устанавливает связь между функциональной зависимостью и полной декомпозицией таблицы).

Теорема Хита (устанавливает связь между функциональной зависимостью и полной декомпозицией таблицы).


Пусть список столбцов таблицы разбит на 3 непересекающиеся части: H, J, K. Если K функционально зависит от J, то выполняется утверждение: 
Таблица =
proj H, J (Таблица)
join
proj J, K (Таблица)

Теорема Хита

Слайд 12

Заказы (НомерЗаказа, НомерТовара, ОписаниеТовара, Количество) Поле «ОписаниеТовара» зависит от части ключа

Заказы (НомерЗаказа, НомерТовара, ОписаниеТовара, Количество)
Поле «ОписаниеТовара» зависит от части ключа «НомерТовара».
Положим

J=«НомерТовара», K= «ОписаниеТовара», H=остальные столбцы, применим теорему Хита. Получим 2 проекции:
Заказы2 (НомерЗаказа, НомерТовара, Количество)
Товары(НомерТовара, ОписаниеТовара,)

Вторая нормальная форма

Слайд 13

Таблица находится в 3НФ тогда и только тогда, когда она находится

Таблица находится в 3НФ тогда и только тогда, когда она находится

во 2НФ, и не существует функциональных зависимостей между неключевыми полями.
Пример нарушения 3НФ: рассмотрим таблицу:
Сотрудники (ТабельныйНомер, ФИО,
НомерОтдела, НазваниеОтдела)
НазваниеОтдела функционально зависит от НомерОтдела т.е, от неключевого поля. Такие зависимости называются транзитивными. Применяя теорему Хита, разобьем эту таблицу на 2 проекции:
Сотрудники2 (ТабельныйНомер, ФИО, НомерОтдела)
Отделы (НомерОтдела, НазваниеОтдела)

Третья нормальная форма

Слайд 14

Примечание: Обычно на практике достаточно ограничиться таблицами в 3НФ, остальные нормальные

Примечание: Обычно на практике достаточно ограничиться таблицами в 3НФ, остальные нормальные

формы нарушаются редко и представляют только теоретический интерес.

Процесс нормализации – когда остановиться?

Слайд 15

Таблица находится в НФБК тогда и только тогда, когда любая функциональная

Таблица находится в НФБК тогда и только тогда, когда любая функциональная

зависимость сводится к полной функциональной зависимости от первичного ключа (т.е., нет функциональных зависимостей ключевых полей от неключевых).
Пример нарушения НФБК: рассмотрим таблицу (предполагается, что нет одинаковых городов):
Адреса (Индекс, Город, Улица)
Город функционально зависит от Индекс.
Разбивать такую таблицу на 2 проекции не стоит. Лучше смириться с таким нарушением.

Нормальная форма Бойса-Кодда

Слайд 16

Таблица находится в 4НФ тогда и только тогда, когда в каждой

Таблица находится в 4НФ тогда и только тогда, когда в каждой

ее полной декомпозиции, состоящей из двух проекций, каждая проекция содержит первичный ключ исходной таблицы.
Пример нарушения 4НФ: рассмотрим таблицу Сотрудник

Четвертая нормальная форма

Слайд 17

Это нарушение происходит из-за того, что два множественных атрибута объекта (т.е.,

Это нарушение происходит из-за того, что два множественных атрибута объекта (т.е.,

такие атрибуты, которых у каждого объекта может быть несколько) поместили в одну и ту же таблицу, в то время как для каждого множественного свойства нужно создавать отдельную таблицу
Исходную таблицу нужно разбить на две проекции:

Четвертая нормальная форма