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

Страницы работы

6 страниц (Word-файл)

Фрагмент текста работы

всех строках, наша БД будет содержать противоречивую (нецелостную) информацию: в одних строках Смит будет числиться по старому месту, а в других по новому.

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

Для преодоления этих недостатков БД подвергается дальнейшей нормализации. Приведение таблиц к 2НФ и выше производится с использованием аппарата функциональных зависимостей.

Нормальные формы

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

Определение функциональной зависимости (ФЗ) ФЗ - связь типа N:1 (или 1:1) в пределах одного отношения.

Пусть R - отношение, а X и Y - некоторые подмножества множества его атрибутов. Говорят, что Y функционально зависит от X или X функционально определяет Y, если каждое значение X связано с одним и только с одним значением Y.

Обозначение:                 X->Y

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X ->R.Y.

Функциональная зависимость Y от X обозначается: X -> Y или графически:

Например:    R.X, R.Z -> R.Y;

Табельный номер ->Фамилия;

Должность ->Зарплата.

Атрибут А находится в полной функциональной зависимости от множества атрибутов {X,Y}, если он функционально зависит от этого множества атрибутов      {X,Y}->A и не существует функциональной зависимости A ни от какого подмножества данного множества.

Если же существует функциональная зависимость X->A, то А находится в частичной зависимости от XY.

Для нашего примера после приведения таблицы к 1НФ ФЗ изображены на рисунке 14:

                 Рис.14

Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут полностью зависит от первичного ключа

Для нашого примера это правило не соблюдается, так как первичным ключом является {Sid, Pid}, а некоторые атрибуты зависят от отдельных частей первичного ключа. Мы не можем отменить/изменить ФЗ, так как они существуют объективно, но мы можем разбить нашу таблицу таким образом, чтобы левые части ФЗ стали первичными ключами новых таблиц. Проделав такую операцию, получим таблицы:

Рис.15

И ФЗ:

Рис.16

Но и в 2НФ сохраняются некоторые проблемы избыточности и аномалий. Например:

·  добавление - мы не можем добавить новый город, если в нем нет ни одного поставщика

·  удаление - если удаляется информация о единственном поставщике в городе, то удаляется и информация о городе.

·  изменение - если Чикаго переедет США в, например, Австралию, то придется менять много кортежей, содержащих Чикаго.

Определение Неключевым атрибутом называется любой атрибут отношения

Похожие материалы

Информация о работе