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

Презентация:



Advertisements
Похожие презентации
Нормализация таблиц реляционной базы данных © Панова И.В
Advertisements

Нормализация отношений "Сложная система, спроектированная наспех, никогда не работает, и исправить её, чтобы заставить работать, невозможно". Законы Мерфи.
ЛЕКЦИЯ 2 ОСНОВЫ РЕЛЯЦИОННОЙ АЛГЕБРЫ Вопрос 1. Основные операции над отношениями в реляционных базах данных. Вопрос 2. Нормализация реляционных баз данных.
Нормализация данных В IDEF1X (дополнительный материал к лекции по информационному моделированию с использованием методологии IDEF1X)
Функциональные зависимости Нормализация отношений.
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
ПОСТРОЕНИЕ ДЕКОМПОЗИЦИИ, УДОВЛЕТВОРЯЮЩЕЙ ТРЕБОВАНИЯМ 3НФ Синтетический подход. Часть 1.
НОРМАЛИЗАЦИЯ БАЗ ДАННЫХ. Функциональные зависимости Множество атрибутов Y функционально зависит от множества атрибутов Х, где X и Y – атрибуты некоторого.
Нормализация данных В IDEF1X (дополнительный материал к лекции по информационному моделированию с использованием методологии IDEF1X)
Четвёртая нормальная форма (4NF). 1. Определения Четвёртая нормальная форма (4NF) одна из возможных нормальных форм отношения реляционной базы данных.
Четвертая нормальная форма Понятие многозначной зависимости.
Базы данных Лекция 9 Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация.
Модуль 1. Математические основы баз данных и знаний 1.
1 БАЗЫ ДАННЫХ Функциональные зависимости и их использование в базах данных ЗАНЯТИЕ 4 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 8. тема: ТЕОРИЯ НОРМАЛЬНЫХ ФОРМ.
Нормализация реляционной модели данных По учебнику Семакин Н.Г., Хеннер Е.К. Информационные системы и модели © 2006 Медведев Л.Н.
Нормальная форма Бойса - Кодда Отношение находится в нормальной форме Бойса – Кодда когда оно находится в третьей нормальной форме и в нём отсутствуют.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет.
Базы данных Лекция 7 Элементы теории реляционных баз данных: функциональные зависимости и декомпозиция без потерь.
Нормализация. Рассматриваемые вопросы: 1.Нормализация 2.Классы отношений 3.Первоя нормальная форма 4.Вторая нормальная форма 5.Третья нормальная форма.
Транксрипт:

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

ТабельныйНомФИОНомОтделаНазОтдела 100Иванов И.И5Отдел маркетинга 101Петров П.П.2Отдел кадров 105Сидоров С.С.5Отдел маркетинга 113Новиков Н.Н.2Отдел кадров 128Воробьев В.В.2Отдел кадров Сотрудники

ТабельныйНомФИОНомОтделаНазОтдела 100Иванов И.И5Отдел маркетинга 101Петров П.П.2Отдел кадров 105Сидоров С.С.5Отдел маркетинга Сотрудники Пусть требуется добавить новый отдел с номером 10 и названием «Отдел логистики». Как это сделать в текущей таблице?

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

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

НомОтделаНазОтделаНомерТелефона 2Отдел маркетинга , Отдел кадров , Что делать? Создать новую таблицу для многозначного атрибута, в которую нужно добавить исходный первичный ключ НомОтделаНазОтдела 2Отдел маркетинга 5Отдел кадров НомОтделаНомерТелефона

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

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

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

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

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

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

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

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

Таблица находится в 4НФ тогда и только тогда, когда в каждой ее полной декомпозиции, состоящей из двух проекций, каждая проекция содержит первичный ключ исходной таблицы. Пример нарушения 4НФ: рассмотрим таблицу Сотрудник ФИОИнострЯзыкИмяРебенка СмитНемецкийДжон СмитНемецкийМэри СмитРусскийДжон СмитРусскийМэри

Это нарушение происходит из-за того, что два множественных атрибута объекта (т.е., такие атрибуты, которых у каждого объекта может быть несколько) поместили в одну и ту же таблицу, в то время как для каждого множественного свойства нужно создавать отдельную таблицу Исходную таблицу нужно разбить на две проекции: ФИОИнострЯзык СмитРусский СмитНемецкий ФИОИмяРебенка СмитДжон СмитМэри

Таблица находится в 5НФ тогда и только тогда, когда в каждой ее полной декомпозиции каждая проекция содержит первичный ключ исходной таблицы.