Создание модели данных с помощью 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. Выбор языка программирования баз данных

Выбрать язык программирования – главная задача проектировщика БД. Существует множество языков программирования, но мы остановимся на трех:

● Microsoft Visual FoxPro

Традиционно одной из наиболее распространенных в России и странах СНГ является СУБД Microsoft Visual FoxPro, новая версия которой, Visual FoxPro 7.0, содержит дополнения и улучшения, расширяющие возможности системы. Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение DBF.

Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы.

Для объединения компонентов создаваемого приложения используется проект. Использование проекта упрощает разработку приложения и его сопровождение.

● Microsoft Access

Microsoft Access является инструментом, рассчитанным на разработку БД, системы запросов и форм программистом – профессионалом и лишь во вторую очередь – инструментом для доступа к данным, хранящимся в БД.

Microsoft Access – один из компонентов семейства офисных приложений Microsoft Office – является одной из самых популярных настольных (desktop) СУБД. Это связано с тем, что СУБД Access предоставляет пользователю очень широкие возможности для ввода, обработки и представления данных. Эти средства являются не только удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений. Изначала система управления базами данных Access обладала рядом уникальных возможностей:

Объединение информации из самых разных источников (электронных таблиц, текстовых файлов, других баз данных);

Представление данных в удобном для пользователя виде с помощью таблиц, диаграмм, отчетов;

Интеграция с другими компонентами Microsoft Office.

Совершенствуясь от версии к версии, система Access стала инструментом, который может удовлетворить самые разные категории пользователей: от новичка, которому нравится дружеский интерфейс, позволяющий ему справиться с его задачами, до профессионального разработчика, имеющий весь необходимый инструментарий для уникального решения конкретной задачи.

● Database Desktop и Borland C++ Builder

Является очень хорошим программным продуктом и средством разработки БД. Однако имеет ряд недостатков, которые существенно затрудняют работу проектировщика.

А) Невозможность добавлять к проекту новые файлы, таблицы и базы данных, созданные за рамками головного проекта.

Б) Для создания частей БД используется множество разных программ, между которыми постоянно необходимо переключатся (Database Desktop – создание таблиц, Borland C++ Builder – компоновщик и визуальный язык программирования).

В) Плохая наглядность проекта во время разработки.

Для создания информационной системы «Служба занятости» на основе проведенных исследований и имеющихся возможностей был выбран Database Desktop и Borland C++ Builder.

 

4. Разработка экранных форм

4.1. Создание таблиц

При создании базы данных было выявлено две сущности:

1. Организация;

2. Трудоустраиваемый.

В каждой сущности имеются атрибуты:

1. Организация – код организации; название организации; адрес организации.

2. Трудоустраиваемый – код организации; код трудоустраиваемого; ФИО трудоустраиваемого; дата рождения; пол; образование; специальность; район проживания; должность.

Рассмотрим работу Базы данных на примере двух таблиц: «Организация» и «Трудоустраиваемый». Структура таблиц выглядит так, как показано на рисунках 11 и 12:

Рис. 11 - Структура таблицы «Организация»

Рис. 12 - Структура Таблицы «Трудоустраиваемый»

4.2. Создание приложения

На рисунке 13 показана сама программа для работы с базой данных, в основу которой входят эти две таблицы.

Рис.13 - Программа для работы с базой данных

В приложении реализована функция сортировки. Сортировка может производиться по 8 критериям:

1.код организации;

2.Ф.И.О.;

3.Дата рождения;

4.Пол;

5.Образование;

6.Специальность;

7.Район;

8.Должность.

Рис.14 - Виды сортировок

На следующем рисунке показан результат работы выбранной нами сортировки – «Ф.И.О»

Рис.15 - Результат работы сортировки «Ф.И.О»

5. Язык запросов SQL

SQL символизирует собой Структурированный Язык Запросов. Это–язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.

Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.

В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.

Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных 90-х годов должен знать SQL.

Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (МЕЖДУНАРОДНОЙ ОРГАНИЗАЦИЕЙ ПО СТАНДАРТИЗАЦИИ). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.

Иногда это несколько нарушает стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и становиться стандартами рынка в силу полезности своих качеств.

Для той цели, чтобы пользователям было легче найти какую-то запись (информацию), во многих программах, работающих с огромными архивами данных – в частности и Базах Данных, программисты снабжают свои приложения средствами сортировки. Некоторые из них прошивают код сортировки, а некоторые программисты позволяют пользователям самим выбирать из предложенных ими видов сортировок ту, которая более подойдет пользователю.

Вот и в нашем приложении тоже представлена возможность выбора сортировки – из перечисленных 6 видов. Конечно, все эти виды сортируют данные по алфавиту (для текста – от А до Я(A-Z), для цифровой информации, по возрастающей от 0), но выбрав нужный вид, можно быстрее найти то, что требуется.

Рассмотрим SQL запрос для приложения «Трудоустройство».

Все SQL-запросы выполняются автоматически по выбору соответствующего пункта в списке сортировок, “SQL-сортировка” для этих визуальных компонентов, описание оператора SELECT проводится ниже.

КОД ПРОГРАММЫ

void __fastcall TForm1::SKChange(TObject *Sender) //Выбор таблицы

{ Table1->Active=false;

Table1->Active=false;

if(SK->Position == 0)

{ Table2->Active=false;

DB->DataSource=DataSource1;

DBN->DataSource=DataSource1;

Table1->Active=true; }

if(SK->Position == 1)

{ Table1->Active=false;

DB->DataSource=DataSource2;

DBN->DataSource=DataSource2;

Table2->Active=true; }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CBChange(TObject *Sender) // выбираем в всплывающем списке сортировку…

{

DB->DataSource=DataSource3;

Table1->Active=false;

Table2->Active=false;

if (CB->ItemIndex == 0) // если в всплывающем списке сортировки …

Код организации ….то

{

Query1->Active = false; // активность Query -false (выключено)

Query1->SQL->Clear();//функция очистки буфера SQL-запроса

/*добавить в буфер нов. запись SQL -запроса */

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY KOD_ORG");

Query1->Active = true;} //активность Query -true (включено)

else if (CB->ItemIndex == 1) // если в всплывающем списке сортировки “ФИО” то….

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY FIO");

Query1->Active = true;}

else if (CB->ItemIndex == 2)

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY DATA_ROG");

Query1->Active = true;}

else if (CB->ItemIndex == 3)

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY POL");

Query1->Active = true;}

else if (CB->ItemIndex == 4)

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY OBRAZOV");

Query1->Active = true;}

else if (CB->ItemIndex == 5)

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY SPEC");

Query1->Active = true;}

else if (CB->ItemIndex == 6)

{

Query1->Active = false;

Query1->SQL->Clear();

Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY RAION");

Query1->Active = true;}

}

//---------------------------------------------------------------------------

 

Заключение

В результате курсового проекта была спроектирована и реализована информационная система «Службы занятости».

Данная система удовлетворяет всем требованиям, предъявленным в задании, и реализует большинство необходимых сотрудникам службы занятости функций.

В результате выполнения курсовой работы был сделан вывод, что сегодня внедрение информационных систем может способствовать:

- получению более рациональных вариантов решения управленческих задач за счет внедрения математических методов и интеллектуальных систем и т.д.;

- освобождению работников от рутинной работы за счет ее автоматизации;

- обеспечению достоверности информации;

- замене бумажных носителей данных на магнитные и оптические, что приводит к более рациональной организации переработки информации на компьютере и снижению объемов бумажных документов;

- уменьшению затрат на производство продуктов и услуг.

В процессе выполнения данного курсового проекта были освоены на практике методы предпроектного обследования объекта информатизации, приобретен практический опыт по подготовке и систематизации необходимых материалов, изучены действующие стандарты, технические условия, положения и инструкции по эксплуатации аппаратных и программных средств вычислительной техники, периферийного и связного оборудования.

Список литературы

1. Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite. – М.: ДИАЛОГ – МИФИ, 2002. – 224с.

2. Маклаков С.В. BPWin и ERWin. CASE – средства разработки информационных систем. – М.: ДИАЛОГ – МИФИ, 1992. – 256с.

3. Кириллов В.В. Структурированный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.

4. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с.

5. Атре Ш. Структурный подход к организации баз данных. – М.:Финансы и статистика, 1993. – 320 с.

6. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1999. – 351 с.

7. Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика, 1998. – 320 с.

8. Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.

9. Мартин Дж. Планирование развития автоматизированных систем. – М.: Финансы и статистика, 1994. – 196 с.

10. Мейер М. Теория реляционных баз данных. – М.: Мир, 1997. – 608 с.

11. Питер Роб, Карлос Коронел. Системы БД: проектирование, реализация и управление.-Санкт-Петербург:БХВ-Петербург,2004.-1024 с.

12. Архангельский А.Я.Программирование C++Builder6.М: Бином,2003.-1151с.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-10-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: