Реферат по предмету "Программирование и компьютеры"


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

Содержание 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 Континенталь-НН ОАО "Континенталь-НН" ® Отдел кадров ПРОФЕССИОНАЛЬНЫЙ ПОДХОД К ЧЕЛОВЕЧЕСКИМ РЕСУРСАМ Сегодняшний день и перспективные задачи, стоящие перед организацией, требуют от её сотрудников новых и современных решений. Администрация предприятия проводит целенаправленную работу по привлечению в наши ряды высокопрофессиональных специалистов по всем направлениям деятельности. Если Вы, ознакомившись со списком вакансий, увидели для себя возможности к самореализации, наша кадровая служба с интересом ознакомится с Вашим резюме. В любом случае, заполнив анкету, Вы сможете попасть в банк данных нашего отдела кадров и рассчитывать на встречное предложение с нашей стороны. Введите пароль для доступа (Временно пароль не используется) Файл 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{ ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array; $i++; print " $i"; $i--; print"$bakans $knkrs "; } $sth->finish(); $dbh->disconnect(); print""; 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{ ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array; if ($i==$var) { print ""; print "Образование- $ed"; print "Специальность- $Cpc"; print "Срок работы по специальности, лет - $Crok"; print ""; } } 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{ ($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 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 { ($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, Ваша анкета принята для участия в конкурсе.Желаем успеха!}; $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).}; } } } } print qq{}; $sth->finish(); $dbh->disconnect(); print ""; print ""; print ""; print qq{}; print ""; print ""; print ""; print ""; print ""; print ""; print end_html(); Файл BDvakans.cgi – исполняемая программа. Выводит список вакансий на основе данных таблицы t1 и предлагает администратору добавить новые вакансии или удалить уже занятые. Имеет 3 кнопки: - “Добавить" - запускает скрипт Addvakan.cgi; - “Удалить" - запускает скрипт vakdel.cgi; - “На главную" - запускает скрипт Konti.cgi.; и 2 ссылки: - “Список вакансий" - запускает скрипт BDvakans.cgi; - “Список анкет" - запускает скрипт BDankets.cgi. BDvakans.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Список Вакансий"); print qq{}; my $pass=param("111"); if (111) { print "База данных"; print ""; print qq{Список вакансий}; print "       "; print qq{Список анкет}; print ""; print ""; print ""; 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{ ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array; $i++; print" $i $bakans "; $i--; } $sth->finish(); $dbh->disconnect(); print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; } else { print h1("Неправильный пароль!!!"); } print end_html(); Файл BDankets.cgi – исполняемая программа. Выводит список анкет на основе данных таблицы t2 и предлагает администратору удалить наименее перспективные. Имеет 2 кнопки: - “Удалить" - запускает скрипт ankdel.cgi; - “На главную" - запускает скрипт Konti.cgi; и 2 ссылки: - “Список вакансий" - запускает скрипт BDvakans.cgi; - “Список анкет" - запускает скрипт BDankets.cgi. BDankets.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Список Анкет"); print qq{}; my $pass=param("111"); print "База данных"; print ""; print qq{Список вакансий}; print "       "; print qq{Список анкет}; print ""; print qq{Список анкет    }; $dbh=DBI->connect("dbi:mysql:konti"); $sth=$dbh->prepare("SELECT * FROM t2;"); $rows=$sth->execute(); print ""; print "";
print qq{ №  Фамилия Имя Отчество Образование Специальность Срок работы по спец-ти
Адрес Вакансия Пометитьна удаление}; for($i=0;$i{ ($fio,$eda,$cpca,$croka,$adress,$vak)=$sth->fetchrow_array; $i++; print" $i $fio $eda $cpca $croka $adress $vak "; $i--; } $sth->finish(); $dbh->disconnect(); print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print end_html(); Файл Addvakan.cgi – исполняемая программа. Предлагает администратору форму для внесения данных для новой вакансии Имеет 2 кнопки: - “Отправить данные" - запускает скрипт Dob.cgi и передает в него данные новой вакансии; - “Очистить форму" - стирает из формы ошибочно введенные данные. Addvakan.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Добавление Вакансии"); print qq{}; print "Заполните данные для новой вакансии"; print ""; print ""; print "Должность"; print "Образование высшее нез/высшее ср. техническое ср. специальное среднее "; print "Специальность"; print "Стаж работы по специальности, лет "; print ""; print " "; print ""; print ""; print ""; print end_html(); Файл Dob.cgi – исполняемая программа. Служебная программа для проверки наличия введенных данных и их внесения в таблицу t1. При отсутствии данных предлагает вернуться назад или на главную страницу. Имеет 2 кнопки: - “Назад" - запускает скрипт Addvakan.cgi;; - “На главную" - запускает скрипт Konti.cgi;; и 2 ссылки: - “Список вакансий" - запускает скрипт BDvakans.cgi; - “Список анкет" - запускает скрипт BDankets.cgi. Dob.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Добавление Вакансии"); print qq{}; print "База данных"; print ""; print qq{Список вакансий}; print "       "; print qq{Список анкет}; print ""; $dbh=DBI->connect("dbi:mysql:konti"); $sth=$dbh->prepare("SELECT * FROM t1;"); my $profv=param("profv"); my $edv=param("edv"); my $cpcv=param("cpcv"); my $crokv=param("crokv"); $crokv=~ s/\D+//; if ($profv ne "") { $sql=qq{insert into t1(prof, knkrs, ed, cpc, crok) values ('$profv',0,'$edv','$cpcv','$crokv');}; $dbh->do($sql); print ""; $sth->finish(); $dbh->disconnect(); } else {print qq{Вы не ввели данные. Повторите ввод.};} print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print end_html(); Файл vakdel.cgi– исполняемая программа. Служебная программа для удаления вакансии из таблицы t1. Имеет 1 кнопку: - “Назад" - запускает скрипт Konti.cgi; и 2 ссылки: - “Список вакансий" - запускает скрипт BDvakans.cgi; - “Список анкет" - запускает скрипт BDankets.cgi.
vakdel.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Удаление Вакансии");
print qq{}; print "База данных"; print ""; print qq{Список вакансий}; print "       "; print qq{Список анкет}; print ""; $dbh=DBI->connect("dbi:mysql:konti"); $sth=$dbh->prepare("SELECT * FROM t1;"); $rows=$sth->execute(); for($i=0;$i{ $i++; ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array; my $var=param("vdel$i"); $var=~ s/\D+//; if ($i==$var) { $sql="delete from t1 where prof=\"$bakans\";"; $dbh->do($sql); } $i--; } $sth->finish(); $dbh->disconnect(); print ""; print ""; print ""; print ""; print end_html(); Файл ankdel.cgi– исполняемая программа. Служебная программа для удаления анкеты из таблицы t2 и уменьшения значения конкурса на вакансию в таблице t1. Имеет 1 кнопку: - “На главную" - запускает скрипт Konti.cgi; и 2 ссылки: - “Список вакансий" - запускает скрипт BDvakans.cgi; - “Список анкет" - запускает скрипт BDankets.cgi. ankdel.cgi use CGI qw(:standard); use DBI; print header(); print start_html("Удаление Анкеты"); print qq{}; print "База данных"; print ""; print qq{Список вакансий}; print "       "; print qq{Список анкет}; print ""; $dbh=DBI->connect("dbi:mysql:konti"); $sth=$dbh->prepare("SELECT * FROM t2;"); $rows=$sth->execute(); for($i=0;$i{ $i++; ($fio, $eda, $cpca, $croka, $adress, $vak)=$sth->fetchrow_array; my $var=param("vdel$i"); $var=~ s/\D+//; if ($i==$var) { $sql="delete from t2 where fio=\"$fio\";"; $dbh->do($sql); my $sth=$dbh->prepare("SELECT * FROM t1;"); my $rows=$sth->execute(); for($i=0;$i { ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array; if ($bakans eq $vak) { $knkrs=$knkrs-1; $sql="update t1 set knkrs='$knkrs' where prof='$vak';"; $dbh->do($sql); } } $sth->finish(); } $i--; } $sth->finish(); $dbh->disconnect(); print ""; print ""; print ""; print ""; print end_html(); Схема размещения информации на Internet-узле На сервере информация располагается следующим образом: C:\Apache\ htdocs\ Kontinental-HH.htm titul.htm cgi-bin\ Addanket.bat Addvakan.bat Addvakan.cgi ankdel.bat ankdel.cgi anketa.bat anketa.cgi BDankets.bat BDankets.cgi BDvakans.bat BDvakans.cgi Dob.bat Dob.cgi itog.bat itog.cgi Konti.bat Konti.cgi konti.txt list.bat list.cgi start.bat vakdel.bat vakdel.cgi Контрольный пример работы пользователя. Главная страница (Kontinental-HH.htm): Выбор вакансии (list.cgi): Заполнение анкеты (anketa.cgi): Успешное внесение анкеты в базу данных (itog.cgi): Контрольный пример работы администратора Просмотр списка вакансий (BDvakans.cgi). Просмотр списка вакансий (BDankets.cgi). Добавление новой вакансии (Addvakan.cgi) Выводы. l Разработка информационной системы на базе MySQL и Internet позволяет создать большую базу данных. Данная система удобна в использовании и разработке программно. l Большое значение имеет то, что существует отделение программы управления базой данных от интерфейса. l Интерфейс заключается в создании запросов на SQL, передаче их серверу и получении результата. Запросы передаются в виде строк. При получении запроса основную работу выполняет сервер. Клиенту высылаются только данные, полученные в результате получения запроса. Это приводит к снижению нагрузки, что позволяет повысить безопасность при работе с данными. Перед посылкой запроса требуется регистрация на сервере. l Легко организовать многопользовательскую работу. Использованная литература. 1. Айсбари С.: Корпоративные решения на базе LINUX. 2. Орлов С. А.: Технологии разработки ПО. Разработка сложных программных систем. 3. Материалы лекций.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.