Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для Белаш / Лекции / 4 - Разработка структуры БД.doc
Скачиваний:
1
Добавлен:
07.08.2024
Размер:
249.34 Кб
Скачать

2.3. Ограничения на изменения в записях.

Изменениями в записях являются:

  • вставка новой строки;

  • обновление ключа;

  • удаление строки.

СОТРУДНИК

НомерСотрудника

Имя

Должность

…….

АВТОМОБИЛЬ

Номер

Производитель

Модель

НомерСотрудника

…….

Вопросы:

1 - Если удаляется информация о сотруднике из отношения СОТРУДНИК, что будет с автомобилем, прикрепленным к нему в отношении АВТОМОБИЛЬ?

2 - Если изменяется номер сотрудника в отношении СОТРУДНИК, что будет с номером этого сотрудника, если к нему прикреплен автомобиль в отношении АВТОМОБИЛЬ?

Для решения подобных вопросов СУБД позволяют реализовывать следующие ограничения на изменения в записях:

  • каскадное обновление полей,

  • каскадное удаление записей.

Каскадное обновление полей – изменение значения первичного ключа одного отношения приводит к автоматическому изменению соответствующих значений внешнего ключа другого отношения.

Пример: Если установлено каскадное обновление полей, то при изменении номера сотрудника в отношении СОТРУДНИК номер сотрудника автоматически поменяется в отношении АВТОМОБИЛЬ, если к этому сотруднику прикреплен автомобиль.

Каскадное удаление записей – удаление записи одного отношения приводит к автоматическому удалению записей другого отношения, имеющего значения внешнего ключа, равного значению первичного ключа удаляемой записи.

Пример: Если установлено каскадное удаление записей между отношениями КЛИЕНТ и ЗАКАЗЫ_КЛИЕНТА, то при удалении какого-либо клиента из отношения КЛИЕНТ вся информация о его заказах будет удалена из отношения ЗАКАЗЫ_КЛИЕНТА.

Нормализация отношений

Отношения, получившиеся в результате преобразования концептуальной модели данных в реляционное представление, могут иметь неоптимальную структуру, приводящую к нежелательным последствиям при изменении данных в этих отношениях.

Пример: Неоптимальная (нерациональная) структура реляционной БД.

ПОСТАВКИ

Код поставки

Название поставщика

Адрес поставщика

Товар

Количество

Цена

А). Аномалия модификации.

Адрес поставщика повторяется для каждой поставки. Если у поставщика изменился адрес, то требуется изменить это данное во всех записях.

Если по какой-либо причине будут выполнены не все необходимые изменения, то БД будет противоречивой.

Б). Аномалия удаления.

При удалении записи о поставке теряется информация о поставщике (если была только одна запись о поставке этого поставщика).

В). Аномалия вставки.

Нельзя включить в БД информацию о поставщике, если от него еще не было поставок.

Нормализация отношений – процесс построения оптимальной структуры таблиц и связей в реляционной БД.

Нормализация отношений, т.е. приведение их к нормальным формам, является способом предотвращения аномалий.

Отношения последовательно должны быть приведены к нормальным формам:

  • Первая нормальная форма (1НФ).

  • Вторая нормальная форма (2НФ).

  • Третья нормальная форма (3НФ).

  • Нормальная форма Бойса-Кодда (НФБК).

  • Четвертая нормальная форма (4НФ).

  • Пятая нормальная форма (5НФ).

На практике обычно достаточно привести отношения к 3НФ.