Проектирование информационных систем на базе MySQL и Internet

Автор работы: Пользователь скрыл имя, 02 Апреля 2014 в 22:22, курсовая работа

Краткое описание

Разрабатываемая система позволяет предприятию через Internet объявить конкурс на имеющиеся у нее вакантные должности, собирать и хранить сведения об участниках конкурса в виде заполняемых ими анкет.

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

Содержание

1 Задание
2 Анализ задания
3 Проектирование базы данных
4 Разработка CGI-программ и HTML-документов
5 Схема размещения информации на Internet узле
6 Контрольный пример
7 Выводы
8 Список литературы

Прикрепленные файлы: 1 файл

реферат обд.doc

— 337.00 Кб (Скачать документ)


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

 

 

Нижегородский Государственный Технический Университет

 

 

Нижегородский Вечерний Факультет

 

 

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

 

 

 

Курсовая работа

 

по дисциплине:

 

«Проектирование информационных систем»

 

Проектирование информационных систем

 

На базе MySQL и Internet

 

 

 

 

 

 

Выполнили:

Греков В.В.

Певченко Г.П.

группа 99-ИКУ

 

Проверил:

Штанюк А.А.

 

 

 

г.Кстово

 

2003

 

 

Содержание

 

 

1 Задание            

2 Анализ задания          

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

4 Разработка CGI-программ и HTML-документов   

5 Схема размещения информации  на Internet узле  

6 Контрольный пример         

7 Выводы            

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

 

 

 

 

Задание

 

Разработать информационную систему для реализации конкурсного отбора кадров на базе программного обеспечения MySQL и Internet.

 

 

 

 

Анализ задания

 

Разрабатываемая система позволяет предприятию через Internet объявить конкурс на имеющиеся у нее вакантные должности, собирать и хранить сведения об участниках конкурса в виде заполняемых ими анкет.

 

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

 

 

 

 

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

 

Реализация базы данных с помощью MySQL.

 

После запуска MySQL в командной строке создаем базу данных Konti:

C:\mysql\bin\mysqladmin create Konti

 

После этого в созданной базе создаем таблицы t1 и t2:

 

Создание таблицы t1:

 

use Konti

create table t1(prof varchar(30) not null primary key, knkrs int not null, ed varchar(30) not null, cpc varchar (30) not null, crok int not null);

 

Поле “prof” - является ключевым и содержит наименование вакансии.

Поле “knkrs” - содержит количество анкет, заявленных на данную вакансию.

Поле “ed” - содержит сведения о необходимом образовании претендента на данную вакансию.

  Поле “cpc” - содержит сведения о необходимой специализации претендента на данную вакансию.

  Поле “crok” - содержит сведения о необходимом опыте работы претендента по своей специализации.

 

Создание таблицы t2:

 

create table t2(fio varchar(30) not null primary key, eda varchar(30) not null, cpca varchar(30) not null, croka int not null, adress varchar(60) not null, vak varchar(30) not null);

 

поле “fio” (ключевое поле) – фамилия имя и отчество претендента;

поле “eda” – образование претендента;

поле “cpca” – специальность претендента;

поле “croka” – срок работы претендента по специальности;

поле “adress” – адрес претендента;

поле “vak” – выбранная вакансия претендента;

 

 

 

 

Разработка CGI-программ и HTML-документов

 

Файл Kontinental-HH.htm - главная страница.

Содержит две кнопки:

  • "Просмотр вакансий" – запускает скрипт list.cgi и предназначена для пользователя информационной системы - предоставляет ему возможность ознакомиться со списком вакансий на предприятии, узнать текущий конкурс на нее и заполнить анкету;
  • "База данных” (пароль) – запускает скрипт BDvakans.cgi и предназначена для администратора - предоставляет ему возможность вносить в базу данных новые вакансии, удалять занятые, а также редактировать список присланных анкет, отбирая наиболее перспективные для деятельности предприятия.

 

Kontinental-HH.htm

<html>

<head><title>Континенталь-НН</title></head>

<body bgcolor="#faf1d8">

<center><h1><font color="#800000">ОАО "Континенталь-НН" &reg</font></h1></center>

<p ALIGN="center"><font size="5"><strong><font color="#800000">Отдел кадров</font></strong></font></p>

<p ALIGN="center"><font size="2"><strong>ПРОФЕССИОНАЛЬНЫЙ ПОДХОД К ЧЕЛОВЕЧЕСКИМ РЕСУРСАМ</font></strong></p>

<table border="0">

<tr><td><blockquote class="text">

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

Если Вы, ознакомившись со списком вакансий, увидели для себя возможности к самореализации, наша кадровая служба с интересом ознакомится с Вашим резюме.<br>

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

</blockquote>

</td></tr>

</table>

<form action="http://myserver/cgi-bin/list.bat">

<center><input type="submit" value="Просмотр вакансий"></center>

</form>

<br>

<form action="http://myserver/cgi-bin/BDvakans.bat" method="post">

<center><input type="submit" value="База  данных">

<input type="password" name="111" ></center>

<center>Введите пароль для доступа <br><font size="2">(Временно пароль не используется)</font></center>

</form>

</body>

</html>

 

 

Файл list.cgi – исполняемая программа.

Выводит список вакансий и конкурс на них на основе данных таблицы t1. Имеет 1 кнопку:

- “Заполнить анкету" – запускает скрипт anketa.cgi и передает в него данные о выбранной вакансии.

 

list.cgi

 

use CGI qw(:standard);

use DBI;

print header();

 print start_html("Список Вакансий для пользователя");

 print qq{<body bgcolor="#faf1d8">};

print "<center><h1>Перечень вакансий</h1></center>";

 print "<center>Выберите вакансию и заполните анкету</center>";

 print "<br>";

 

$dbh=DBI->connect("dbi:mysql:konti");

$sth=$dbh->prepare("SELECT * FROM t1;");

$rows=$sth->execute();

print "<form action=\"http://myserver/cgi-bin/anketa.bat\">";

print "<center><table border=1>";

print qq{<tr ALIGN="center"><th>&nbsp№&nbsp</th>

     <th>Вакансия</th><th>&nbspКонкурс&nbsp<br>на место</th>

     <th>Ваш<br>выбор</th></font></tr>};

for($i=0;$i<$rows;$i++)

{

  ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

  $i++;

  print "<tr>

<td ALIGN=\"center\">$i</td>";

  $i--;

  print"<td>$bakans</td>

<td><center>$knkrs</center></td>

<TD><center><INPUT type=\"radio\" name=\"vibor\" value=\"vib$i\"></center></TD>

</tr>";

}

$sth->finish();

$dbh->disconnect();

print"</table></center>";

print "<br>";

print "<center><INPUT type=\"submit\" value=\"Заполнить анкету\"></center\>";

 print "<br>";

print "<center>Анкеты претендентов  будут рассмотрены 25 января 2003г.</center>";

print "</FORM>";

 

print end_html();

 

 

 

Файл anketa.cgi – исполняемая программа.

Выводит перечень основных требований к кандидату на вакансию на основе данных таблицы t1 и предлагает претенденту заполнить анкетные данные о себе.

Имеет 2 кнопки:

  • “Отправить" – запускает скрипт itog.cgi и передает в него анкетные данные претендента;
  • "Очистить форму" – стирает из формы ошибочно введенные анкетные данные.

 

anketa.cgi

 

use CGI qw(:standard);

use DBI;

print header();

print start_html("Анкета");

print qq{<body bgcolor="#faf1d8">};

my $pas=param("vibor");

$var=$pas;

$var=~ s/\D+//;

if ($pas eq "")  {print qq{<p ALIGN="center"><font size="5"><strong><font color="#800000">

  <br>&nbspВы забыли выбрать вакансию!</font></strong></font></p>};

print "<br>";

print "<center><table border=0>";

print "<tr><td><FORM action=\"http://myserver/cgi-bin/list.bat\">";

print "<center><INPUT type=\"submit\" value=\"Назад\"></center\>";

print "</FORM></td>";

print "<td><FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

print "<center><INPUT type=\"submit\" value=\"На главную\"></center\>";

print "</FORM></td></tr>";

print "</table></center>";

  goto quit;

  }

$dbh=DBI->connect("dbi:mysql:konti");

$sth=$dbh->prepare("SELECT * FROM t1;");

$rows=$sth->execute();

 

print "<center><h1>Заполните анкетные данные</h1></center>";

print qq{<p ALIGN="center"><font size="5">};

print "<center><u>Основные требования к кандидату</u></center>";

for($i=0;$i<$var+1;$i++)

{

($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

if ($i==$var)

{

print "<center><table>";

print "<TR><TD>Образование</TD><TD>- $ed</TD></TR>";

print "<TR><TD>Специальность</TD><TD>- $Cpc</TD></TR>";

print "<TR><TD>Срок работы  по специальности, лет&nbsp</TD><TD>- $Crok</TD></TR>";

print "</center></table>";

}

}

print "</font></p>";

 

$sth->finish();

$dbh->disconnect();

 

print "<form action=\"http://myserver/cgi-bin/itog.bat\">";

print "<center><table>";

print "<TR><TD>Фамилия имя отчество</TD><TD><input name=\"fio\"></TD></TR>";

print "<TR><TD>Образование</TD>

   <TD><SELECT name=\"ed\">

           <OPTION value=\"высшее0\" selected>высшее

   <OPTION value=\"нез/высшее1\">нез/высшее

           <OPTION value=\"ср. техническое2\">ср. техническое

           <OPTION value=\"ср. специальное3\">ср. специальное

           <OPTION value=\"среднее4\">среднее

           </SELECT>

   </TD></TR>";

print "<TR><TD>Специальность</TD><TD><input name=\"cpc\"></TD></TR>";

print "<TR><TD>Стаж работы по специальности, лет&nbsp</TD><TD><input name=\"crok\"></TD></TR>";

print "<TR><TD>Адрес</TD><TD><input name=\"adress\"></TD></TR>";

print "<TR><TD><BR></TD></TR>";

 

print qq{<INPUT type="hidden" name="vib" value=$pas>};

 

print "<TR><TD><input type=\"submit\" value=\"Отправить\"></TD>

   <TD><INPUT type=\"reset\" value=\"Очистить форму\"></TD></TR>";

print "</table></center>";

print "</form>";

 

quit:

print end_html();

 

 

 

Файл itog.cgi – исполняемая программа.

Проверяет введенные анкетные данные на соответствие основным требованиям к претенденту, при выполнении которых заносит их в таблицу t2 и увеличивает значение конкурса на выбранную вакансию в таблице t1, в противном случае выводит мотивированное сообщение об отказе в принятии анкеты.

Имеет 2 кнопки:

  • “Назад" - запускает скрипт itog.cgi;
  • "На главную" - запускает скрипт Konti.cgi.

 

itog.cgi

 

use CGI qw(:standard);

use DBI;

print header();

print start_html("Добавление  Анкеты");

print qq{<body bgcolor="#faf1d8">};

$dbh=DBI->connect("dbi:mysql:konti");

$sth=$dbh->prepare("SELECT * FROM t1;");

$rows=$sth->execute();

$fio=param('fio');

$eda=param('ed');

$eda0=$eda;

$eda=~ s/\d+//;

$eda0=~ s/\D+//;

$cpca=param('cpc');

 $cpca=~ tr/А-Я/а-я/;

 $croka=param('crok');

$adress=param('adress');

$var=param('vib');

$var=~ s/\D+//;

print "<br>";

print qq{<p ALIGN="center"><font size="4"><strong><font color="#800000">};

for($i=0;$i<$var+1;$i++)

{

($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

if ($i==$var)

{

if ($ed="высшее") {$ed0=0;} elsif ($ed="нез/высшее") {$ed0=1;} elsif ($ed="ср. техническое")  {$ed0=2;} elsif ($ed="ср. специальное") {$ed0=3;} else {$ed0=4;}

if ($eda0 > $ed0) {$fe=1;} else {$fe=0;}

if ($cpca ne $Cpc) {$fcp=1;} else {$fcp=0;}

if ($croka < $Crok) {$fcr=1;} else {$fcr=0;}

if ($fe==1 or $fcp==1 or $fcr==1) {print qq{Извините, $fio, но Ваша анкета не принята к рассмотрению из-за несоответствия  указанных в ней данных требованиям к кандидату};}

 else { 

my $sth=$dbh->prepare("SELECT * FROM t2;");

my $rows=$sth->execute();

$flag=0;

for($j=0;$j<$rows;$j++)

  {

  ($fio2,$eda2,$cpca2,$croka2,$adress2,$vak2)=$sth->fetchrow_array;

    if ($fio2 eq $fio)

    {  

$flag=1;

$knkrs=$knkrs-1;

$sql="update t1 set knkrs='$knkrs' where prof='$bakans';";

   $dbh->do($sql);

    }

  }

$knkrs=$knkrs+1;

   $sql="update t1 set knkrs='$knkrs' where prof='$bakans';";

   $dbh->do($sql);

$sth->finish();

    if ($flag==0)   {

    print qq{Уважаемый, $fio, Ваша анкета принята для участия в конкурсе.<br><br>Желаем успеха!};

    $sql="INSERT INTO t2(fio,eda,cpca,croka,adress,vak)values('$fio','$eda','$cpca','$croka','$adress','$bakans')";

    $dbh->do($sql);

    }

    else {

print qq{Уважаемый, $fio, в базе данных уже имеется анкета на Ваше имя, фамилию, отчество. Если Вы хотите заполнить новую анкету - измените свои ФИО дополнив, например, цифровым символом ($fio-2).<br><br>};

 }

      }

}

}

print qq{</font></strong></font></p>};

 

$sth->finish();

$dbh->disconnect();

print "<br>";

 

print "<center><table border=0>";

print "<tr><td><FORM action=\"http://myserver/cgi-bin/anketa.bat\">";

print qq{<INPUT type="hidden" name="vibor" value="vibor$var">};

print "<center><INPUT type=\"submit\" value=\"Назад\"></center\>";

print "</FORM></td>";

 

print "<td><FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

print "<center><INPUT type=\"submit\" value=\"На главную\"></center\>";

print "</FORM></td></tr>";

print "</table></center>";

 

print end_html();

 

 

Файл BDvakans.cgi – исполняемая программа.

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

Имеет 3 кнопки:

Информация о работе Проектирование информационных систем на базе MySQL и Internet