Фамилии зав. кафедрами могут неоднократно появляться в отношении,
что и видно на рисунке. Но несмотря на дублирование фамилий, ни одна из
дублируемых фамилий не является избыточной. Отсутствие избыточности легко
обнаруживается, если из отношения удалить одну из дублируемых фамилий
(рис.5.4(б)). Видно, что в результате удаления теряется информация:
невозможно определить фамилии зав. кафедрами, на которых работают
преподаватели с номерами 108 и 125.
На рис 5.5(а) приведен пример отношения с избыточным дублированием
данных. Отношение П-3-Т похоже на отношение П-3, но включает
дополнительный атрибут Нтел, представляющий собой номер телефона зав.
кафедрой.
П-3-Т П-3-Т П-3 3-Т
НП ЗавК Нтел НП ЗавК Нтел НП ЗавК ЗавК Нтел
102 Шаньгин 2854 102 Шаньгин 2854 102 Шаньгин Шаньгин 2854
104 Вернер 2882 104 Вернер 2882 104 Вернер Вернер 2882
108 Вернер 2882 108 Вернер - 108 Вернер
125 Шаньгин 2854 125 Шаньгин - 125 Шаньгин
(а) (б) (в)
Рис.5.5. Избыточное дублирование данных
и исключение избыточных данных
В приведенном экземпляре отношения номера телефонов Шаньгина и
Вернера появляются более чем один раз, и дублированная информация о
телефонных номерах является избыточной. Причина избыточности в том, что,
если, например, удалить один из телефонных номеров Шаньгина, то эта
информация может быть получена из других кортежей отношения. Из рис.4.5(б)
видно, что телефонные номера Шаньгина и Вернера не утеряны, поскольку
каждый из них обнаруживается в одном из кортежей отношения.
Такой способ исключения избыточности плох по двум причинам. Во-
первых, пустых полей в БД следует избегать, так как при их наличии
необходимо дополнительное программирование, направленное на определение
действительных значений пустых полей. Во-вторых, что более важно,
отношение, представленное на рис.4.5(б), имеет структуру, которая создает
серьезные проблемы при удалении информации. Если преподаватель с номером
НП=102 уволится с кафедры и кортеж <102, Шаньгин, 2854> будет удален из