Учебное пособие: Построение модели DFD и реализация в СУБД Visual FoxPro

КОНЕЦ ЕСЛИ

ЕСЛИ изменить ИНФОРМАЦИЮ О ПРЕПОДАВАТЕЛЯХ ТО

ВЫПОЛНИТЬ редактировать ИНФОРМАЦИЮ О ПРЕПОДАВАТЕЛЯХ

КОНЕЦ ЕСЛИ

ЕСЛИ удалить ИНФОРМАЦИЮ О ПРЕПОДАВАТЕЛЯХ ТО

ВЫПОЛНИТЬ удалить ИНФОРМАЦИЮ О ПРЕПОДАВАТЕЛЯХ

КОНЕЦ ЕСЛИ

Спецификация процесса A0.4

@ВХОД = ПОИСК КУРАТОРА

@ВХОД = ДАННЫЕ О ГРУППАХ И ПРЕПОДАВАТЕЛЯХ

@ВЫХОД = ПОИСК ИНФОРМАЦИИ О КУРАТОРЕ

@ВЫХОД = ИНФОРМАЦИЯ О КУРАТОРЕ

@СПЕЦПРОЦ A0.4 ПОИСК КУРАТОРА

ПОИСК ИНФОРМАЦИИ О КУРАТОРЕ = ПОИСК КУРАТОРА

ВЫПОЛНИТЬ Поиск в БД ИНФОРМАЦИИ О КУРАТОРЕ

ИНФОРМАЦИЯ О КУРАТОРЕ = найденные в БД ДАННЫЕ О ГРУППАХ И ПРЕПОДАВАТЕЛЯХ


Проектирование структуры базы данных

Выделим две сущности: Группы и Преподаватели.

Связь между этими сущностями имеет тип «многие к одному» так как каждый преподаватель может быть куратором в нескольких группах и в каждой группе может быть только один куратор.

Сущность «Преподаватели» имеет атрибуты: ФИО, Год рождения, учёная степень, Адрес. Ни один из этих атрибутов не уникален для каждого конкретного преподавателя. К тому же для разных преподавателей могут совпадать сразу совокупность значений таких атрибутов, как ФИО, год рождения и Учёная степень. Поэтому выделим отдельный атрибут ID_Преподавателя, однозначно идентифицирующий каждый экземпляр сущности «Преподаватели». От атрибутов, не входящих в состав уникального идентификатора, функционально не зависят другие атрибуты.

Сущность «Группа» имеет атрибуты: Название группы, Имя куратора, Должность, Оклад, ID_Преподавателя (являющегося куратором данной группы). Так как название группы уникально, то это атрибут будет являться уникальным идентификатором для сущности «Группы». Все остальные атрибуты функционально зависят от уникального идентификатора.

· «Имя куратора». В каждой студенческой группе только один куратор.

· «Должность». У каждого куратора, а значит и группы, может быть только одна должность.

· «Оклад». У каждой должности только один оклад.

· «ID_Преподавателя». В каждой группе только один куратор, а значит и один преподаватель является куратором в данной группе.

Так как несколько должностей могут иметь один и тот же оклад, но каждая должность может иметь только один оклад, то атрибут «Оклад» функционально зависит от атрибута «Должность», не входящего в состав уникального идентификатора. Атрибут «Должность» также не может рассматриваться в качестве альтернативного ключа, ибо нет функциональной зависимости ключевого атрибута «Название группы» от атрибута «Должность», то есть одна и та же должность куратора может быть в разных группах, а альтернативный ключ должен идентифицировать каждую запись, а не набор записей. Отсюда следует, что данная структура не находится в третьей нормальной форме. Для приведения её в третью нормальную форму необходимо выделить отдельную сущность «Должности» и атрибуты «Должность» и «Оклад» выделить для этой сущности.

Определим степени связей между сущностями.

Связь между сущностью «Группы» и «Преподаватели» имеет тип «Многие к одному», так как каждый преподаватель может быть куратором в нескольких группах, а у каждой группы может быть только один куратор.

Связь между сущностью «Группы» и «Должности» имеет тип «Многие к одному», так как одна и та же должность куратора может быть в разных группах и у каждой группы может быть только один куратор, значит и одна должность куратора.

Диаграмма связей между сущностями представлена на рисунке 2.16.3.

К-во Просмотров: 414
Бесплатно скачать Учебное пособие: Построение модели DFD и реализация в СУБД Visual FoxPro