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

Посмотреть архив целиком


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



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



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



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




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


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


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


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


На базе 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

Континенталь-НН

ОАО "Континенталь-НН" ®

Отдел кадров

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

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

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

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


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



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

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

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


list.cgi


use CGI qw(:standard);

use DBI;

print header();

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

print qq{};

print "

Перечень вакансий

";

print "

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

print "
";


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

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

$rows=$sth->execute();

print "

";

print "

";

print qq{

};

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

{

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

$i++;

print "

";

$i--;

print"

";

}

$sth->finish();

$dbh->disconnect();

print"

 №  Вакансия Конкурс 
на место
Ваш
выбор
$i $bakans
$knkrs
";

print "
";

print "

Заполнить анкету\">";

print "
";

print "

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

print "";


print end_html();




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

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

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

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

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


anketa.cgi


use CGI qw(:standard);

use DBI;

print header();

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

print qq{};

my $pas=param("vibor");

$var=$pas;

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

if ($pas eq "") {print qq{


 
Вы забыли выбрать вакансию!

};

print "
";

print "

";

print "

";

print "

";

print "

";

print "

Назад\">";

print "

";

print "

На главную\">";

print "

";

goto quit;

}

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

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

$rows=$sth->execute();


print "

Заполните анкетные данные

";

print qq{

};

print "

Основные требования к кандидату
";

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

{

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

if ($i==$var)

{

print "

";

print "

";

print "

";

print "

";

print "

Образование- $ed
Специальность- $Cpc
Срок работы по специальности, лет - $Crok
";

}

}

print "

";


$sth->finish();

$dbh->disconnect();


print "

";

print "

";

print "

";

print "

";

print "

";

print "

";

print "

";

print "

";


print qq{};


print "

";

print "

Фамилия имя отчество
Образование

Специальность
Стаж работы по специальности, лет 
Адрес

Отправить\"> Очистить форму\">
";

print "";


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{};

$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 "
";

print qq{

};

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{

};


$sth->finish();

$dbh->disconnect();

print "
";


print "

";

print "

";


print "

";

print "

";

print qq{};

print "

";

print "

";

print "

";

print "

";


print end_html();



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

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

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

  • Добавить" - запускает скрипт Addvakan.cgi;


Случайные файлы

Файл
157935.rtf
45733.rtf
8336-1.rtf
37247.rtf
1563.rtf




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