Базы данных. Уровни данных. Нормальные формы схем отношений. Аксиома дополнения (добавления). Способы размещения с применением Хэш-функции, страница 6

102        ПЭВМ       68                    Иванов                доцент  300        ЭВМ     4-80

103        Прогр.       76                    Петров                ассист.  700        ЭВМ     4-80

104        Прогр.       76                    Сидоров                            профес. 500        АСУ      4-80

201        Физика     40                    Фёдоров                            ст. преп 400        Физика 4-70

202        Оптика     60                    Фёдоров                            ст.преп 400       Физика               4-70

Это отношение с составным ключом состоит из 2 – х атрибутов: № и название предмета.

<Должность ® оклад>                 <Номер ® ФИО>                          <ФИО ® Номер>

Атрибут «количество часов» зависит от части ключа, т.е. , только от атрибута «название предмета». Здесь нет атрибутов, находящихся в полной функциональной зависимости от составного ключа. Имеем транзитивную зависимость для атрибутов

<ФИО ® кафедра ® телефон>.

Некоторые функциональные зависимости могут изменяться со временем, например, в данном отношении преподаватель закреплён за одной кафедрой, но со временем может начать работать параллельно и на  другой кафедре, тогда ему уже нельзя будет однозначно определить кафедру. Данное отношение находится в I нормальной форме, т.к. не содержит составных атрибутов. Здесь есть частичная функциональная зависимость атрибутов  ФИО, должность, оклад, кафедра, телефон, отчасти номер составного ключа. Эта неполная функциональная зависимость приводит к следующим аномалиям:

1)           Имеет место дублирование данных о преподавателе, поскольку он может читать несколько предметов;

2)           Существует проблема контроля избыточности данных, т.к. изменение, например, атрибута «Оклад» влечёт за собой необходимость поиска и изменения значений окладов во всех кортежах с данным преподавателем.

3)           Возникает проблема с преподавателями, которые в данное время не ведут предметы и т.о. его невозможно внести в отношение и наоборот, если преподаватель увольняется и удаляется из отношения, то будет удалён и предмет, хотя предмет должен продолжать читаться. Чтобы устранить частичную зависимость и привести это отношение ко II нормальной форме, необходимо разложить его на два отношения следующим образом:

Предм.  Номер   Назван. Кол- во часов

101        ЭВМ           34

102        ПЭВМ         68

103        Прогр.         76

104        Прогр.         76

201        Физика       40

202        Оптика       60

Препод Номер   ФИО                    Должность         Оклад    Кафедра                            Тел

102        Иванов                доц                      300        ЭВМ

103        Петров                ассист.                200        ЭВМ

104        Сидоров                            проф                    500        АСУ

201        Фёдоров                            ст. преп.                            400        Физика

Здесь имеются транзитивные зависимости:

<Номер® кафедра ® телефон>                <Номер® должность® оклад>

Это ведёт к следующим аномалиям ( на примере атрибута «Телефон»):

1)           Имеет место дублирование информации о телефонах для преподавателей одной кафедры.

2)           Изменение номера кафедры влечёт за собой поиск и изменение телефонов всех преподавателей этой кафедры.

3)           Нельзя включить данные о новой кафедре, т.е. название и номер телефона, если на данный момент ещё отсутствуют преподаватели и наоборот, при увольнении всех преподавателей с кафедры  данные о ней нельзя сохранить.

Для того, чтобы привести данное отношение к III нормальной форме, нужно устранить эти аномалии.

Должность 1                    Должность                       Оклад

Доцент                              300

Ассистент                         200

Профессор                        500

Старший препод                            400

Кафедра 1                         Кафедра                            Телефон