Смекни!
smekni.com

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

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

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

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

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

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

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

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

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

 

На базе 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 nullprimary key, knkrs int not null, ed varchar(30) not null, cpc varchar (30) notnull, crok int not null);

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

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

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

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

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

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

create table t2(fio varchar(30) not nullprimary key, eda varchar(30) not null, cpca varchar(30) not null, croka int notnull, 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><fontcolor="#800000">ОАО "Континенталь-НН"&reg</font></h1></center>

<p ALIGN="center"><fontsize="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();

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

 print qq{<bodybgcolor="#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=&bsol;"http://myserver/cgi-bin/anketa.bat&bsol;">";

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

 print qq{<trALIGN="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=&bsol;"center&bsol;">$i</td>";

  $i--;

  print"<td>$bakans</td>

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

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

  </tr>";

 }

 $sth->finish();

 $dbh->disconnect();

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

 print "<br>";

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

 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/&bsol;D+//;

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

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

 print "<br>";

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

 print "<tr><td><FORMaction=&bsol;"http://myserver/cgi-bin/list.bat&bsol;">";

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

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

 print "<td><FORMaction=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

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

 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"><fontsize="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 "<formaction=&bsol;"http://myserver/cgi-bin/itog.bat&bsol;">";

print "<center><table>";

print "<TR><TD>Фамилия имяотчество</TD><TD><inputname=&bsol;"fio&bsol;"></TD></TR>";

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

    <TD><SELECTname=&bsol;"ed&bsol;">

           <OPTION value=&bsol;"высшее0&bsol;"selected>высшее

     <OPTION value=&bsol;"нез/высшее1&bsol;">нез/высшее

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

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

          <OPTION value=&bsol;"среднее4&bsol;">среднее

          </SELECT>

     </TD></TR>";

print "<TR><TD>Специальность</TD><TD><inputname=&bsol;"cpc&bsol;"></TD></TR>";

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

print "<TR><TD>Адрес</TD><TD><inputname=&bsol;"adress&bsol;"></TD></TR>";

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

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

print "<TR><TD><inputtype=&bsol;"submit&bsol;" value=&bsol;"Отправить&bsol;"></TD>

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

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

print "</form>";

quit:

print end_html();

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

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