Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемТамара Пономарева
2 устранение дублирования информации; решение проблемы присоединенных записей. Почему дублирование информации – это плохо? Лишний расход памяти. Проблемы с корректировкой данных.
3 ТабельныйНомФИОНомОтделаНазОтдела 100Иванов И.И5Отдел маркетинга 101Петров П.П.2Отдел кадров 105Сидоров С.С.5Отдел маркетинга 113Новиков Н.Н.2Отдел кадров 128Воробьев В.В.2Отдел кадров Сотрудники
4 ТабельныйНомФИОНомОтделаНазОтдела 100Иванов И.И5Отдел маркетинга 101Петров П.П.2Отдел кадров 105Сидоров С.С.5Отдел маркетинга Сотрудники Пусть требуется добавить новый отдел с номером 10 и названием «Отдел логистики». Как это сделать в текущей таблице?
5 Таблицу «Сотрудники» следует разбить на 2 проекции: Сотрудники2(ТабельныйНом, ФИО, НомОтдела) Отдел (НомОтдела, НазОтдела) Если к этим проекциям применить операцию join, то получим исходную таблицу. Полная декомпозиция таблицы – это набор произвольного числа ее проекций, соединение которых идентично исходной таблице. Процесс нормализации заключается в переходе от исходной таблицы к ее полной декомпозиции вплоть до получения таблиц в пятой нормальной форме.
6 Таблица находится в 1НФ тогда и только тогда, когда в каждом ее поле (на пересечении строки и столбца) находится ровно одно значение (не более одного и не ноль значений). Специально для выполнения этого требования придумано значение NULL. Пример нарушения 1НФ: в поле НомерТелефона указано несколько номеров через запятую.
7 НомОтделаНазОтделаНомерТелефона 2Отдел маркетинга , Отдел кадров , Что делать? Создать новую таблицу для многозначного атрибута, в которую нужно добавить исходный первичный ключ НомОтделаНазОтдела 2Отдел маркетинга 5Отдел кадров НомОтделаНомерТелефона
8 Пусть X и Y – списки полей таблицы. Говорят, что Y функционально зависит от X, если каждому значению X соответствует единственное значение Y. Обозначают X->Y. Любое неключевое поле функционально зависит от первичного ключа!
9 Пусть X и Y – списки полей таблицы. Говорят, что Y находится в полной функциональной зависимости от X, если: Y функционально зависит от X; Y функционально не зависит ни от какого подмножества X, не совпадающего с X. Заказы (НомерЗаказа, НомерТовара, ОписаниеТовара, Количество) Поле «ОписаниеТовара» зависит от части ключа «НомерТовара», т.е., не находится в полной функциональной зависимости от первичного ключа таблицы.
10 Таблица находится в 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НФ тогда и только тогда, когда она находится во 2НФ, и не существует функциональных зависимостей между неключевыми полями. Пример нарушения 3НФ: рассмотрим таблицу: Сотрудники (ТабельныйНомер, ФИО, НомерОтдела, НазваниеОтдела) НазваниеОтдела функционально зависит от НомерОтдела т.е, от неключевого поля. Такие зависимости называются транзитивными. Применяя теорему Хита, разобьем эту таблицу на 2 проекции: Сотрудники2 (ТабельныйНомер, ФИО, НомерОтдела) Отделы (НомерОтдела, НазваниеОтдела)
14 Примечание: Обычно на практике достаточно ограничиться таблицами в 3НФ, остальные нормальные формы нарушаются редко и представляют только теоретический интерес.
15 Таблица находится в НФБК тогда и только тогда, когда любая функциональная зависимость сводится к полной функциональной зависимости от первичного ключа (т.е., нет функциональных зависимостей ключевых полей от неключевых). Пример нарушения НФБК: рассмотрим таблицу (предполагается, что нет одинаковых городов): Адреса (Индекс, Город, Улица) Город функционально зависит от Индекс. Разбивать такую таблицу на 2 проекции не стоит. Лучше смириться с таким нарушением.
16 Таблица находится в 4НФ тогда и только тогда, когда в каждой ее полной декомпозиции, состоящей из двух проекций, каждая проекция содержит первичный ключ исходной таблицы. Пример нарушения 4НФ: рассмотрим таблицу Сотрудник ФИОИнострЯзыкИмяРебенка СмитНемецкийДжон СмитНемецкийМэри СмитРусскийДжон СмитРусскийМэри
17 Это нарушение происходит из-за того, что два множественных атрибута объекта (т.е., такие атрибуты, которых у каждого объекта может быть несколько) поместили в одну и ту же таблицу, в то время как для каждого множественного свойства нужно создавать отдельную таблицу Исходную таблицу нужно разбить на две проекции: ФИОИнострЯзык СмитРусский СмитНемецкий ФИОИмяРебенка СмитДжон СмитМэри
18 Таблица находится в 5НФ тогда и только тогда, когда в каждой ее полной декомпозиции каждая проекция содержит первичный ключ исходной таблицы.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.