Аномалии обновлений по причине наличия транзитивных функциональных зависимостей

Нетранзитивные функциональные зависимости и третья нормальная форма

 

В произведенной декомпозиции переменной отношения СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯ множество FD переменной отношения СЛУЖ_ПРО_ЗАДАН предельно просто – в единственной нетривиальной функциональной зависимости детерминантом является возможный ключ. При использовании этой переменной отношения не возникают какие-либо аномалии обновления. Однако переменная отношения СЛУЖ не является такой же совершенной.

 

 

Функциональные зависимости переменной отношения СЛУЖпо-прежнему порождает некоторые аномалии обновления. Они вызываются наличием транзитивной FD СЛУ_НОМ®СЛУ_ЗАРП(через FD СЛУ_НОМ® СЛУ_УРОВи СЛУ_УРОВ®СЛУ_ЗАРП). Эти аномалии связаны с избыточностью хранения значения атрибута СЛУ_ЗАРПв каждом кортеже, характеризующем служащих с одним и тем же разрядом.

 

· Добавление кортежей. Невозможно сохранить данные о новом разряде (и соответствующим ему размере зарплаты), пока не появится служащий с новым разрядом. (Первичный ключ не может содержать неопределенные значения.)

 

· Удаление кортежей. При увольнении последнего служащего с данным разрядом мы утратим информацию о наличии такого разряда и соответствующем размере зарплаты.

 

· Модификация кортежей. При изменении размера зарплаты, соответствующей некоторому разряду, мы будем вынуждены изменить значение атрибута СЛУ_ЗАРПв кортежах всех служащих, которым назначен этот разряд (иначе не будет выполняться FD СЛУ_УРОВ®СЛУ_ЗАРП).