Управление данными. Громов Ю.Ю - 22 стр.

UptoLike

Основной пример.
Рассмотрим в качестве предметной области некоторую организацию, выпол-
няющую некоторые проекты. Модель предметной области опишем следующим неформальным текстом.
1. Сотрудники организации выполняют проекты.
2. Проекты состоят из нескольких заданий.
3. Каждый сотрудник может участвовать в одном или нескольких проектах или временно не участво-
вать ни в каких проектах.
4. Над каждым проектом может работать несколько сотрудников, или временно проект может быть
приостановлен, тогда над ним не работает ни один сотрудник.
5. Над каждым заданием в проекте работает один сотрудник.
6. Каждый сотрудник числится в одном отделе.
7. Каждый сотрудник имеет телефон, находящийся в его отделе.
В ходе дополнительного уточнения того, какие данные необходимо учитывать, выяснилось сле-
дующее.
1. О каждом сотруднике необходимо хранить табельный номер и фамилию. Табельный номер явля-
ется уникальным для каждого сотрудника.
2. Каждый отдел имеет уникальный номер.
3. Каждый проект имеет номер и наименование. Номер проекта является уникальным.
4. Каждая работа из проекта имеет номер, уникальный в пределах проекта. Работы в разных проек-
тах могут иметь одинаковые номера.
3.3. 1НФ (ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА)
Первая нормальная форма (1НФ) это обычное отношение. Согласно определению отношений лю-
бое отношение автоматически уже находится в 1НФ. Напомним кратко свойства отношений (это и бу-
дут свойства 1НФ):
в отношении нет одинаковых кортежей;
кортежи не упорядочены;
атрибуты не упорядочены и различаются по наименованию;
все значения атрибутов атомарны.
В ходе логического моделирования на первом шаге предложено хранить данные в одном отноше-
нии, имеющем следующие атрибуты:
СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ
(
Н_СОТР
,
ФАМ
,
Н_ОТД
,
ТЕЛ
,
Н_ПРО
,
ПРОЕКТ
,
Н_ЗАДАН
), где
Н_СОТР
табельный номер сотрудника
ФАМ
фамилия сотрудника
Н_ОТД
номер отдела, в котором числится сотрудник
ТЕЛ
телефон сотрудника
Н_ПРО
номер проекта, над которым работает сотрудник
ПРОЕКТ
наименование проекта, над которым работает сотрудник
Н_ЗАДАН
номер задания, над которым работает сотрудник. Так как сотрудник в каждом проекте
выполняет одно задание, то в качестве потенциального ключа отношения необходимо взять пару атри-
бутов {
Н_СОТР
,
Н_ПРО
}.
В текущий момент состояние предметной области отражается следующими фактами:
сотрудник Иванов, работающий в 1 отделе, выполняет в первом проекте «Космос» задание 1 и во
втором проекте «Климат» задание 1;
сотрудник Петров, работающий в 1 отделе, выполняет в первом проекте «Космос» задание 2;
сотрудник Сидоров, работающий во 2 отделе, выполняет в первом проекте «Космос» задание 3 и
во втором проекте «Климат» задание 2.
Это состояние отражается в таблице (курсивом выделены ключевые атрибуты):
Н_СОТР
ФАМ
Н_ОТД
ТЕЛ
Н_ПРО
ПРОЕКТ
Н_ЗАДАН
1
Иванов 1 11-22-33
1
Космос
1