Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии БД / Методичка Технологии БД (блоки 1-2).doc
Скачиваний:
82
Добавлен:
01.05.2014
Размер:
922.11 Кб
Скачать

Возможная декомпозиция

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

Рис. 12 Диаграммы FD в переменных отношений СЛУЖ и СЛУЖ_ПРО_ЗАДАН

Теперь мы можем легко справиться с операциями обновления.

  • Добавление кортежей.Чтобы сохранить данные о принятом на работу служащем, который еще не участвует ни в каком проекте, достаточно добавить соответствующий кортеж в отношениеСЛУЖ.

  • Удаление кортежей.Если кто-то из служащих прекращает работу над проектом, достаточно удалить соответствующий кортеж из отношенияСЛУЖ_ПРО_ЗАДАН. При увольнении служащего нужно удалить кортежи с соответствующим значением атрибутаСЛУ_НОМиз отношенийСЛУЖиСЛУЖ_ПРО_ЗАДАН.

  • Модификация кортежей.Если у служащего меняется разряд (и, следовательно, размер зарплаты), достаточно модифицировать один кортеж в отношенииСЛУЖ.

Рис. 13. Значения переменных отношений

Вторая нормальная форма

Как видно, на Рис. 12 отсутствуют FD, не являющиеся минимальными. Наличие таких FD на Рис. 10 вызывало аномалии обновления. Проблема заключалась в том, что атрибутСЛУ_УРОВотносился к сущностислужащий, в то время как первичный ключ идентифицировал сущностьзадание_служащего_в_проекте.

Определение: Вторая нормальная форма

Переменная отношения находится во второй нормальной форме (2NF)тогда и только тогда, когда она находится в первой нормальной форме, и каждый неключевой атрибут минимально функционально зависит от первичного ключа.

Переменные отношений СЛУЖиСЛУЖ_ПРО_ЗАДАНнаходятся в 2NF (все неключевые атрибуты отношений минимально зависят от первичных ключейСЛУ_НОМи{СЛУ_НОМ, ПРО_НОМ}соответственно). Переменная отношенияСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯне находится в 2NF (например, FD{СЛУ_НОМ, ПРО_НОМ}СЛУ_УРОВне является минимальной). Любая переменная отношения, находящаяся в 1NF, но не находящаяся в 2NF, может быть приведена к набору переменных отношений, находящихся в 2NF. В результате декомпозиции мы получаем набор проекций исходной переменной отношения, естественное соединение значений которых воспроизводит значение исходной переменной отношения (т. е. это декомпозиция без потерь). Для переменных отношенийСЛУЖиСЛУЖ_ПРО_ЗАДАНисходное отношениеСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯвоспроизводится их естественным соединением по общему атрибутуСЛУ_НОМ.

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