- •1. Основные понятия
- •2. Преимущества БнД
- •3. Недостатки БнД
- •1. Инфологическое проектирование
- •2. Определение требований к операционной обстановке
- •3. Выбор субд и других программных средств
- •4. Логическое проектирование бд
- •5. Физическое проектирование бд
- •1. Уточнение понятия концептуальной модели
- •2. Основные компоненты концептуальной модели
- •3. Требования, предъявляемые к концептуальной модели
- •4. Преимущества использования er-моделирования
- •1. Понятия «объект» и «класс объектов»
- •2. Разновидности объектов
- •3. Изображение простого объекта
- •1. Понятия «объект» и «класс объектов»
- •2. Разновидности объектов
- •3. Изображение простого объекта
- •1. Связи между объектами
- •2.2.4. Описание свойств объекта. Разновидности свойств
- •Ключевые атрибуты
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Четвертая нормальная форма
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Четвертая нормальная форма
- •1. Аномалии модификации данных
- •2. Нормализация отношений
- •3.4. Проектирование логической структуры реляционной базы данных
- •3.4.1. Вводные положения
- •3.4.2. Алгоритм перехода от базовой er-модели к схеме реляционной базы данных
- •3.1. Общие сведения о даталогическом проектировании
- •3.2. Критерии оценки бд
- •5)Поддержание наличия возможных ключей в таблице.
- •4.9.2. Ограничения целостности связи
- •4 Запросы с подгруппировкой
- •Пример.
- •Добавление новых элементов.
- •2) Многострочный оператор
- •Удаление существующих данных
- •Обновление существующих данных
- •На это следует обратить внимание
- •Распределенные бд. Технология клиент-сервер.
- •10.4.2. Блокировки
- •10.4.3. Режимы доступа к информации
- •10.4.4. Уровни изоляции в sql
- •10.4.5. Использование хранимых процедур и триггеров для контроля целостности бд
1. Аномалии модификации данных
В качестве примера возьмём отношение со следующими атрибутами (ключевые атрибуты выделены подчёркиванием):
ПОСТАВКИ (Номер поставки, Название товара, Цена товара, Количество, Дата поставки, Название поставщика, Адрес поставщика)
Различают три вида аномалий: аномалии обновления, удаления и добавления. Аномалия обновления может возникнуть в том случае, когда информация дублируется. Другие аномалии возникают тогда, когда две и более независимые сущности объединены в одно отношение. Например:
1. Аномалия обновления: в отношении ПОСТАВКИ она может возникнуть, если у какого-либо поставщика изменился адрес. Изменения должны быть внесены во все кортежи, соответствующие поставкам этого поставщика; в противном случае данные будут противоречивы.
2. Аномалия удаления: при удалении записей обо всех поставках одного поставщика все данные о поставщике будут утеряны.
3. Аномалия добавления: в нашем примере она возникнет, если с поставщиком заключен договор, но поставок от него еще не было. Информация о таком поставщике не может быть внесена в отношение ПОСТАВКИ, т.к. для него не определён ключ (номер поставки и название товара) и другие обязательные поля.
Для решения проблемы аномалии модификации данных при проектировании РБД проводится нормализация отношений.
2. Нормализация отношений
В рамках реляционной модели данных Э.Ф. Коддом был разработан аппарат нормализации отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме. Нормализация схемы отношения выполняется путём декомпозиции схемы.
Декомпозицией схемы отношения R называется замена её совокупностью схем отношений Аi таких, что
и не требуется, чтобы отношения Аi были непересекающимися. Декомпозиция отношения должна обладать следующими свойствами:
Полнота - декомпозиция не должна приводить к потере зависимостей между атрибутами сущностей.
Восстановимость - должна существовать операция реляционной алгебры, применение которой позволит восстановить исходной отношение.
В нормализованном отношении все неключевые атрибуты функционально зависят от ключа отношения. Говорят, что неключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа.
Вторая нормальная форма (2НФ).
Отношение находится во 2НФ, если оно приведено к 1НФ и каждый неключевой атрибут функционально полно зависит от составного ключа.
Для того чтобы привести отношение ко 2НФ, нужно:
построить его проекцию, исключив атрибуты, которые не находятся в функционально полной зависимости от составного ключа;
построить дополнительные проекции на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.
Третья нормальная форма (3НФ).
Отношение находится в 3НФ, если оно находится во 2НФ и в нем отсутствуют транзитивные зависимости.
Введём понятие многозначной зависимости. Многозначная зависимость существует, если заданным значениям атрибута X соответствует множество, состоящее из нуля (или более) значений атрибута Y (X–»Y). Если в отношении присутствуют многозначные зависимости, то схема отношения должна находиться в 4НФ.
Различают тривиальные и нетривиальные многозначные зависимости. Тривиальной называется такая многозначная зависимость X–»Y, для которой Y Ì X или X U Y = R, где R – рассматриваемое отношение. Тривиальная многозначная зависимость не нарушает 4НФ. Если хотя бы одно из двух этих условий не выполняется (т.е. Y не является подмножеством X или X U Y состоит не из всех атрибутов R), то такая многозначная зависимость называется нетривиальной.
Четвертая нормальная форма (4НФ).
Отношение находится в 4НФ, если оно находится в 3НФ и в нем отсутствуют нетривиальные многозначные зависимости.
Нормализация сокращает дублирование данных, но появление новых отношений усложняет поддержку логической целостности данных.