База данных отдела кадров

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    380,64 Кб
  • Опубликовано:
    2015-01-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

База данных отдела кадров

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Сибирский государственный индустриальный университет»

Институт информационных технологий и автоматизированных систем

Кафедра прикладной информатики и программирования




Пояснительная записка

К курсовой работе

по дисциплине Программная инженерия на тему

«База данных отдела кадров»


Выполнил:

студент гр. ИП-12

Веревин Д.С.

Проверил:

Доцент Бабичева Н. Б.



Новокузнецк

Содержание

Введение

1. Описание области проектирования

2. Формы

3. Запросы

4. Отчёты

Заключение

Приложение 1. Процедура составления фильтра для окна «Редактор запроса»

Приложение 2. Процедура составления SQL кода запроса

Приложение 3. Процедура генерации формы отчёта

Приложение 4. Код подгружаемой библиотеки

Введение

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

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

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

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

Зачастую итогом таких нарушений становятся трудовые споры и судебные слушания.

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

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

1. Описание области проектирования

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

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

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

База данных, соответствующая была реализована с помощью СУБД СУБД Microsoft Access. Соответствующий данной базе интерфейс был реализован в среде разработки Delphi 7 на языке программирования Delphi.

Диаграмма базы данных представлена на рисунке 3.

Рисунок 1 - Диаграмма связей в среде разработки Microsoft Access

. Формы

При открытии программы открывается главная форма.

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

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

Скриншот работы формы авторизации представлен на рисунке 2.

Рисунок 2 - Скриншот работы формы авторизации.

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

Рисунок 3 - Скриншот работы главной формы.

На форме присутствует горизонтальное меню находятся пункты:

Программа

Кнопка Выход

Кнопка фильтр

База данных

Добавить

Удалить

Редактировать

Запрос

Новый запрос

Открыть запрос

О программе

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

Скриншот фильтра по базе данных представлен на рисунке 4.

Рисунок 4 - Скриншот фильтра по базе данных.

При нажатие на База данных\Добавить вызывается форма для добавления новых значений в базу данных. Родителем формы добавления является главная форма.


Рисунок 5 - Скриншот работы формы добавления данных.

При нажатие на База данных\Удалить выделеная запись удаляется из базы данных.

При нажатие на База данных\Редактировать вызывается форма для редактирования записей в базе данных. Родителем формы добавления является главная форма.

Скриншот работы формы редактирования данных представлен на рисунке 6.

Рисунок 6 - Скриншот работы формы добавления данных.

Нажатием на кнопку «О программе» вызывается окно с краткой информацией.

Скриншот формы «О программе» представлен на рисунке 7.

Рисунок 7 - Скриншот формы «О программе».

. Запросы

Запрос - это обращение к БД для поиска или изменения в базе данных информации, соответствующей заданным критериям.

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

Редактор запросов открывается в отдельном окне. Вызвать его можно через База данных\Новый запрос или же загружая уже созданный ранние запрос через База данных\Открыть запрос. При создание нового запроса открывается форма «Фильтр запроса» для того чтобы пользователь отметил таблицы и поля, которые будет использовать в запросе. Так же можно сразу воспользоваться шаблонами находящиеся в пункте меню Запрос\Шаблон\... .

Скриншот работы формы «Фильтр запроса» представлен на рисунке 8.

Рисунок 8 - Скриншот работы формы «Фильтр запроса».

После добавления фильтра или после открытия старого запроса показывается форма редактирования запроса. На ней можно сгенерировать свой запрос.

Скриншот работы формы редактор запроса представлен на рисунке 9.

Рисунок 9 - Скриншот работы формы редактор запроса.

Либо если вы вошли, как администратор, вызвать окно «SQL редактор» отредактировать или просмотреть уже сгенерированный вами запрос или написать новый на языке SQL.

Существует возможность загрузки и сохранения запросов. Вызовом диалогового окна сохранения: Запрос\Сохраненить запрос или закрузки: Запрос\Закрузить запрос. Так же возможен экспорт данных по запросу в Excel: Запрос\Экспорт в Excel.

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

4. Отчёты

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

Отчёт генерируется по актуальному запросу, то есть по запросу который уже сгенерирован и выведен в таблицу. Окно отчёта вызывается нажатием на кномку «Отчёт» в окне редактора запросов.

Скриншот работы формы отчёт представлен на рисунке 10.

Рисунок 9 - Скриншот работы формы «SQL редактор».

Так как отчёты нужны для распространения данных полученные после формирования запроса в разных форматах. В программе существует экспорт актуального отчёта в программную среду Microsoft Excel.

Чтобы произвести экспорт отчёта нужно в главном меню окна нажать кнопку «Экспорт в Excel». Программа самостоятельно включит приложение Microsoft Excel и транспортирует туда данные из отчёта.

Запросы сохраняются в программе до тех пор пока пользователь не выйдет из неё. Так же как уже упомянута ранние запросы можно хранить в отдельном файле и по мере надобности подгружать их. И именно, по этому запросы можно легко восстановить и сгенерировать по ним отчёт.

Заключение

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

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

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

Добавление новых записей в таблицу, о новых сотрудниках, удаление занесенных ранние данных, изменение записей в таблицах базы данных, если данные по сотруднику изменились или сотрудник был уволен;

Составления запросов, для отыскания необходимой информации в базе данных и дальнейшей генерации отчёта по этому запросу. А также экспорт запросов в Excel; база данные кадры запрос

Сохранение и загрузка запросов. Позволяет переносить и хранить уже созданные запросы для экономии времени сотрудников;

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

Просмотр выборок данных по результатам запросов;

Просмотр отчётов по результатам запросов. Перевод их в Excel.

Приложение 1. Процедура составления фильтра для окна «Редактор запроса»

procedure TForm7.pnl3Click(Sender: TObject);,i:Integer;:string;

{Íà÷àëî From}

froms:='';:=0;i:=1 to 4 do if chk[i].Checked then:=countFroms+1;i of

: begin froms:=froms+'Lichdata,'; aFroms[countFroms]:='Lichdata' end;

: begin froms:=froms+'Adres,'; aFroms[countFroms]:='Adres' end;

: begin froms:=froms+'Telephones,'; aFroms[countFroms]:='Telephones' end;

: begin froms:=froms+'Doljnost,'; aFroms[countFroms]:='Doljnost' end;;;froms='' then[1]:='Lichdata';[2]:='Adres';[3]:='Telephones';[4]:='Doljnost';:='lichdata,Adres,Telephones,Doljnost';:=4;froms:=LeftStr(froms,Length(froms)-1);.from:=froms;

{Êîíåö From}

{Íà÷àëî Select}

form4.cbb1.Items.Clear;:='';countFroms>0 theni:=5 to 21 dochk[i].Checked then:=otchet+chk[i].caption+',';.cbb1.Items.Add(chk[i].caption);;otchet='' then otchet:='*'otchet:=LeftStr(otchet,Length(otchet)-1);

{Êîíåö Select}.Panels[0].Text:='Òàáëèö: '+IntToStr(countFroms);.Panels[1].Text:='SQL êîä: select '+otchet+' from '+froms;

fdm.form7hide;;

Приложение 2. Процедура составления SQL кода запроса

procedure TForm4.createQuery;,errorEdt:Boolean;,table,SignEdt:string;:array [1..21] of Integer;:array [1..8] of string;,cloneend,i,j,countEdt,countCbb:integer;:='select ';:='';cbb1.Text<>'' then:=sqlcod+cbb1.Text;[1]:=cbb1.Text;i:=2 to 8 docbb[i].Text<>'' then:=1;:=True;(f) and (z<=8) do(cbb[i].Text+'='+clone[z]+' z='+inttostr(z));cbb[i].text=clone[z] then f:=false;:=z+1;;f then:=sqlcod+','+cbb[i].Text;[i]:=cbb[i].Text;;sqlcod:=sqlcod+' *';form7.froms='' then.pnl3.OnClick(Action);;:=sqlcod+' from '+form7.froms;:=0;i:=1 to 15 doedt[i].Text<>'' then countEdt:=countEdt+1;:=1;:=False;edt[1].Text<>'' then((not errorEdt) and (j<=15)) doedt[j].text<>'' then:=True;edt[j].Text[1]='!' then(edt[j].Text[2]='=') then begin countsignedt[j]:=2; errorEdt:=False; end;(edt[j].Text[2]='<') then begin countsignedt[j]:=2; errorEdt:=False; end;(edt[j].Text[2]='>') then begin countsignedt[j]:=2; errorEdt:=False; end;(edt[j].Text[1]='=') then begin countsignedt[j]:=1; errorEdt:=False; end(edt[j].Text[1]='<') then begin countsignedt[j]:=1; errorEdt:=False; end(edt[j].Text[1]='<') and (edt[j].Text[2]='>') then begin countsignedt[j]:=2; errorEdt:=False; end(edt[j].Text[1]='>') then begin countsignedt[j]:=1; errorEdt:=False; end:='';i:=1 to 2 do SignEdt:=SignEdt+edt[j].Text[i];SignEdt='IN' then begin countsignedt[j]:=3; errorEdt:=False; end:='';i:=1 to 4 do SignEdt:=SignEdt+edt[j].Text[i];SignEdt='LIKE' then begin countsignedt[j]:=5; errorEdt:=False; end:='';i:=1 to 7 do SignEdt:=SignEdt+edt[j].Text[i];SignEdt='BETWEEN' then begin countsignedt[j]:=8; errorEdt:=False; end;;;:=j+1;;:=0;i:=1 to 8 do if cbb[i].Text<>'' then countCbb:=countCbb+1;(errorEdt) and (countEdt<>0) then;

Log('ÎØÈÁÊÀ! Óñëîâèå çàïðîñà íàïèñàííî íå êîððåêòíî!',mmo1);

endedt[1].Text<>'' then:=sqlcod+' where';

if (cbb1.textand (cbb1.text<>'Äàòà_Ðîæä') and (cbb1.text<>'Ñòàæ') then:=sqlcod+' ('+cbb1.Text+edt1.Text[1]+'''';i:=2 to Length(edt1.Text) do sqlcod:=sqlcod+edt1.Text[i];:=sqlcod+''')';:=sqlcod+' ('+cbb1.Text+edt1.Text+')';

j:=1 to 7 docbb[j+1].text<>'' thenedt[j*2].text<>'' then

if (cbb[j+1].text<>') and (cbb[j+1].text<>'Äàòà_Ðîæä') and (cbb[j+1].text<>') then:=sqlcod+' and ('+cbb[j+1].Text+edt[j*2].Text[1]+'''';i:=2 to Length(edt[j*2].Text) do sqlcod:=sqlcod+edt[j*2].Text[i];:=sqlcod+''')';:=sqlcod+' and ('+cbb[j+1].Text+edt[j*2].Text+')'

edt[j*2+1].text<>'' then

if (cbb[j+1].text<>) and (cbb[j+1].text<>'Äàòà_Ðîæä') and (cbb[j+1].text<>') then:=sqlcod+' or ('+cbb[j+1].Text+edt[j*2+1].Text[1]+'''';i:=2 to Length(edt[j*2+1].Text) do sqlcod:=sqlcod+edt[j*2+1].Text[i];:=sqlcod+''')';:=sqlcod+' or ('+cbb[j+1].Text+edt[j*2+1].Text+')';;;

;

Form7.countFroms>1 thenedt[1].Text='' then sqlcod:=sqlcod+' where';Form7.aFroms[1]='Lichdata' theni:=2 to Form7.countFroms do

if i>2 then sqlcod:=sqlcod+' and ('+Form7.aFroms[1]+'.êëþ÷='+Form7.aFroms[i]+'. 'sqlcod:=sqlcod+' ('+Form7.aFroms[1]+'.÷='+Form7.aFroms[i]+'.)'i:=2 to Form7.countFroms doi>2 then sqlcod:=sqlcod+' and ('+Form7.aFroms[1]+'.='+Form7.aFroms[i]+'. 'sqlcod:=sqlcod+' ('+Form7.aFroms[1]+'. ='+Form7.aFroms[i]+'.';(not errorEdt) then.nListSQLCod:=Form1.nListSQLCod+1;( ('+sqlcod+')',mmo1);

SQLQuery[Form1.nListSQLCod]:=TQuery.Create('Çàïðîñ'+inttostr(Form1.nListSQLCod),sqlcod);.Items.Add(SQLQuery[Form1.nListSQLCod].NameQuery);('+SQLQuery[Form1.nListSQLCod].NameQuery,mmo1);:=Form1.nListSQLCod;.ADOQuery1.SQL.Clear;.ADOQuery1.SQL.Add(sqlcod);.ADOQuery1.Open;

end;;

Приложение 3. Процедура генерации формы отчёта.

procedure TForm4.btn3Click(Sender: TObject);:Integer;

Form8.Caption:='Îò÷¸ +SQLQuery[ActionQuery].NameQuery;

Log('Ñãåíåðèðîâàí îò÷¸ò ïî çàïðîñó '+SQLQuery[ActionQuery].NameQuery,mmo1);.Show;dbgrd1.Columns.Count<>0 then.dbedt[1]:=TDBEdit.Create(form8);.dbedt[1].Parent:=form8;.dbedt[1].Left:=130;.dbedt[1].Top:=30;.dbedt[1].Width:=form8.Width-170;.dbedt[1].Height:=21;.dbedt[1].DataSource:=fDM.DataSource1;.dbedt[1].DataField:=dbgrd1.Columns[0].Title.Caption;.dbedt[1].ReadOnly:=True;.lbl[1]:=TLabel.Create(form8);.lbl[1].Parent:=form8;.lbl[1].Caption:=dbgrd1.Columns[0].Title.Caption+': ';.lbl[1].Left:= Form8.dbedt[1].Left- Form8.lbl[1].Width-5;.lbl[1].Top:=30;;dbgrd1.Columns.Count>1 theni:=2 to dbgrd1.Columns.Count do.dbedt[i]:=TDBEdit.Create(form8);.dbedt[i].Parent:=form8;.dbedt[i].Left:=form8.dbedt[1].Left;.dbedt[i].Top:=form8.dbedt[i-1].Top+10+form8.dbedt[i-1].Height;.dbedt[i].Width:=form8.dbedt[1].Width;.dbedt[i].Height:=21;.dbedt[i].DataSource:=fDM.DataSource1;.dbedt[i].DataField:=dbgrd1.Columns[i-1].Title.Caption;.dbedt[i].ReadOnly:=True;.lbl[i]:=TLabel.Create(form8);.lbl[i].Parent:=form8;.lbl[i].Caption:=dbgrd1.Columns[i-1].Title.Caption+': ';.lbl[i].Left:=form8.dbedt[1].Left-form8.lbl[i].Width-5;.lbl[i].Top:=form8.dbedt[i-1].Top+10+form8.dbedt[i-1].Height;;.Height:=form8.dbedt[dbgrd1.Columns.Count].Top+form8.dbedt[dbgrd1.Columns.Count].Height+100;.Enabled:=false;.row:=dbgrd1.Columns.Count;

end;

Приложение 4. Код подгружаемой библиотеки

library Project2;,,;:integer=1;

{$R *.res}Log(text:string; PlaceLog:TMemo); stdcall; export;textLog:string;:='['+inttostr(i)+'] ';:=textLog+DateToStr(Date);:=textLog+' / '+Timetostr(Time)+': ';:=textLog+text;.Lines.Add(textLog);:=i+1;;Log;

begin.

Похожие работы на - База данных отдела кадров

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!