Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ans.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
663.04 Кб
Скачать
  1. Функциональные зависимости и аномалии вставки, обновления, удаления.

R(A1, A2, . . . An) f(Ai1, Ai2, . . . Aik) → Al

X → Y ⇐⇒ || πY (σX=x(R)) || ≤ 1

Набор атрибутов Y функционально зависит от набора атрибутов X, если для любого значения X существует ровно одно значение Y.

1. Проанализируем БД и увидим, что имеют место некие соотношения. В некоторых состояниях БД имеются функциональные зависимости. Тем не менее, такие состояния могут быть легко нарушены и зависимость исчезнет. Такой подход хорошо согласуется с чистой теорией реляционных баз данных, поскольку в ней изменений не бывает.

2. Функциональные зависимости могут отражать законы природы и общества. Пример: Первые две цифры номера зачётной книжки совпадают с последними двумя цифрами года поступления. Такая зависимость, если она соблюдается, является законом природы, но такая интерпретация бесполезна для БД. Зависимость отражает свойства реального мира и является частью схемы.

Источник зависимостей: законы реального мира, но не конкретное содержание БД Тривиальные зависимости: любой атрибут зависит от полного набора атрибутов отношения.

Минимальное множество атрибутов, от которых зависят все атрибуты, называется возможным ключом. Возможный ключ - ключ, из которого нельзя выкинуть атрибуты так, чтобы оставшийся набор оставался ключом. Возможный ключ не обязательно единственный - множество «возможных» ключей может быть частично упорядоченным множеством без минимального элемента. Чтобы была уникальность строк, требуется уникальность возможного ключа. Первичный ключ: один из возможных ключей. Остальные ключи должны быть уникальны - можно вводить ограничения целостности.

Зависимости приводят к появлению избыточности. Пример:

Зависимости: AB → C B → D.

a1 b1 c1 d1

a2 b1 c2 d1

a3 b3 c3 d3

a4 b3 c4 d3

Зависимости: A → B B → C.

a1 b1 c1

a2 b1 c1

a3 b3 c3

a4 b3 c3

Невозможно сохранить <b,c>, если нет a.

Вверху значение атрибута D зависит только от B, но не от A. Избыточность с

остоит в том, что повторяются значения D, соответствующие значениям B. Повторяющиеся значения B не избыточны. Чуть ниже избыточность в C, но не в B. Избыточность плоха тем, что:

1. Избыточные данные занимают место.

2. Возникают сложности при обновлении. Функциональные зависимости должны быть удовлетворены - если меняем D, должны поменять и B, причём в нескольких местах.

3. Нет возможности отразить некоторые факты в БД. Нет возможности хранить только B и D, надо и A.

Аномалия обновления – появление в базе данных несогласованности данных при выполнении операций вставки, удаления, модификации записей.

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

Для отношения Студент (ФИО, Группа, Староста), где в столбце Группа хранится полное название группы, а столбец Староста содержит ФИО старосты группы, изменение значения Староста (например, для устранения ошибки) может привести к существованию более одного старосты одной и той же группы.

Аномалии удаления – удаление лишней информации при удалении записи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]