На рис. 7 представлено итоговое расположение работ в дереве узлов:
Рис. 7 - Диаграмма дерева узлов.
- диаграмма «Центр службы занятости» – 1-ый уровень дерева узлов;
- диаграммы «Консультационный отдел», «Обработка запроса» и «Картотека» – 2-ой уровень дерева узлов;
- диаграммы «Приемная», «Статический отдел», «Открытие БД», «Выполнение запроса» и «Администратор БД» – 3-ий уровень;
- диаграммы «Обработка запроса трудоустраиваемого» и «Обработка запроса работодателя» – 4-ый уровень дерева узлов.
2. Создание модели данных с помощью AllFusion Erwin Data Modeler 4.1
Информационная модель в нотации IDEF1X
Для представления информационной модели данных используется CASE-средство ERWin. С его помощью при проектировании модели информационной системы «Служба занятости» была создана физическо-логическая модель базы данных, представленная на рисунках (рис. 8, 9).
Рис. 8 - Модель данных в нотации IDEF1X (логический уровень)
Рис. 9 - Модель данных в нотации IDEF1X (физический уровень)
База данных представлена в виде сущностей, их атрибутов и связей между ними. Каждая сущность представляет множество подобных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных. Атрибут выражает определенное свойство объекта. С точки зрения физической модели базы данных сущности соответствует таблица (например, «Работодатель», «Картотека»), экземпляру сущности – строка в таблице, а атрибуту – колонка таблицы. В результате проектирования было выделено шесть сущностей.
Связь на диаграмме отображает логическую зависимость одной сущности от другой. В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Экземпляр зависимой сущности определяется только через отношение к родительской сущности. Зависимая сущность изображается на диаграмме прямоугольником со скругленными углами.
На нашей диаграмме зависимыми сущностями являются: «Консультационный отдел». Родительскими для нее являются сущности «Работодатель» и «Трудоустраиваемый» соответственно.
При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов родительской сущности. Неидентифицирующая связь служит для связывания независимых сущностей.
Для того, чтобы однозначно идентифицировать экземпляр сущности используется первичный ключ (атрибут или группа атрибутов). Атрибуты первичного ключа на диаграмме не требуют специального обозначения - это те атрибуты, которые находятся в списке атрибутов выше горизонтальной линии.
Например, на рис. 8 сущность «Работодатель» однозначно идентифицирует первичный ключ «Заявка работодателя(РК)» и «Дата заявки работодателя(РК)».
При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (FK). Пример такой миграции атрибутов с участием дочерней сущности «Консультационный отдел», родительской сущности «Работодатель» и первичного ключа родительской сущности «Заявка работодателя» и «Дата заявки работодателя» представлен на рис. 10:
Рис. 10 - Пример миграции атрибутов
Сущности и атрибуты, определенные в информационной модели представлены в отчете (на рис. 11), сгенерированном с помощью пункта меню Tools/Data Browser/Erwin Repots.
Name | Definition | Logical Only |
Картотека | Хранение и проверка заявок | No |
Консультационный отдел | Консультация, прием заявок, формирование отчетов | No |
Работодатель | Анкета заполняемая работодателем при обращении в Службу занятости | No |
Требования предприятия | Требования, предъявляемые работодателя к трудоустраиваемому | No |
Требования трудоустраиваемого | Требования трудоустраиваемого к работодателю | No |
Трудоустраиваемый | Анкета заполняемая трудоустраиваемым при обращении в Службу занятости | No |
Name | Definition | Required | Is PK |
Заявка работодателя | Анкета заполняемая работодателем при обращении в службу занятости | Yes | Yes |
Дата заявки работодателя | Дата обращения работодателя в центр занятости | Yes | Yes |
Пол | Необходимый пол работника | No | No |
Возраст | Необходимый возраст работника | No | No |
Опыт работы | Необходимый опыт работы работника в данной области | No | No |
Образование | Необходимое образование работника | No | No |
Прописка | Необходимая прописка работника | No | No |
Дополнительные навыки | Дополнительные навыки которыми должен владеть работник | No | No |
Заявка трудоустраиваемого | Анкета заполняемая трудоустраиваемым при обращении в службу занятости | Yes | Yes |
Дата заявки трудоустраиваемого | Дата обращения трудоустраиваемого в центр занятости | Yes | Yes |
Оплата | Желаемая оплата труда | No | No |
График работы | График работы | No | No |
Адрес предприятия | Место нахождения предприятия устраивающее трудоустраиваемого | No | No |
Заявка работодателя | Анкета заполняемая работодателем при обращении в службу занятости | Yes | Yes |
Дата заявки работодателя | Дата обращения работодателя в центр занятости | Yes | Yes |
Название фирмы | Полное название фирмы | Yes | No |
Должность | Предлагаемая должность | No | No |
Оплата | Возможная оплата труда | No | No |
Требования | Требования работодателя предъявляемые к работнику | No | No |
Телефон | Контактный телефон работодателя | No | No |
Адрес | Почтовый адрес работодателя | No | No |
Проверка заявок | Проверка заявок | Yes | Yes |
Заявка трудоустраиваемого | Анкета заполняемая трудоустраиваемым при обращении в службу занятости | Yes | Yes |
Дата заявки трудоустраиваемого | Дата обращения трудоустраиваемого в центр занятости | Yes | Yes |
Заявка работодателя | Анкета заполняемая работодателем при обращении в службу занятости | Yes | Yes |
Дата заявки работодателя | Дата обращения работодателя в центр занятости | Yes | Yes |
Возврат невыполненных заявок | Возврат невыполненных заявок по истечению | No | No |
Извещение работодателю | Извещение работодателя о том, что к нему направлен рабочий | No | No |
Извещение трудоустраиваемому | Извещение трудоустраиваемому о том, что его направляют на работу | No | No |
Отчет о выполненных заявках | Отчеты о выполненных заявках | No | No |
Отчет о невыполненных заявках | Отчеты о невыполненных заявках | No | No |
Проверка заявок | Проверка заявок | Yes | Yes |
Заявка трудоустраиваемого | Анкета заполняемая трудоустраиваемым при обращении в службу занятости | Yes | No |
Дата заявки трудоустраиваемого | Дата обращения трудоустраиваемого в центр занятости | Yes | No |
Заявка работодателя | Анкета заполняемая работодателем при обращении в службу занятости | Yes | No |
Дата заявки работодателя | Дата обращения работодателя в центр занятости | Yes | No |
Заявка трудоустраиваемого | Анкета заполняемая трудоустраиваемым при обращении в службу занятости | Yes | Yes |
Дата заявки трудоустраиваемого | Дата обращения трудоустраиваемого в центр занятости | Yes | Yes |
ФИО | Фамилия, имя и отчество трудоустраиваемого | No | No |
Специальность | Специальность трудоустраиваемого по которой он хочет найти работу | No | No |
Опыт работы | Опыт работы трудоустраиваемого по данной специальности | No | No |
Требования | Желаемые условия для работы | No | No |
Образование | Образование трудоустраиваемого | No | No |
Пол | Пол трудоустраиваемого | No | No |
Возраст | Возраст трудоустраиваемого | No | No |
Телефон | Контактный телефон трудоустраиваемого | No | No |
Адрес | Адрес трудоустраиваемого | No | No |
3. Выбор языка программирования баз данных