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


Проектирование информационных систем на базе 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 мильонов к студенческой карме :

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

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

Сейчас смотрят :

Реферат Конституция - основной источник конституционного права
Реферат Nursing Essay Research Paper Since the days
Реферат Анализ качества на предприятии Sigari maja
Реферат Аглюков харис исхакович управление геомеханическими процессами при разработке рудных месторождений технологией с высокоплотной закладкой
Реферат Анализ и структура оборотных активов
Реферат Yellow Wall Paper By Gilman Essay Research
Реферат Пенитенциарные теории и модели тюремных учреждений, диагностика и классификация заключенных
Реферат А. С. Пушкин – поэт, географ, путешественник байбекова Фарида Рашидовна, учитель географии высшей квалификационной категории
Реферат Царь Давид в итальянской скульптуре
Реферат Природа конфликтов
Реферат 1. Краевые государственные предприятия
Реферат Матвеев, Фёдор Михайлович
Реферат Мазепина могила курган
Реферат Macroeconomic Overview Essay Research Paper MACROECONOMIC OVERVIEWBY
Реферат Night And Eliezer Essay Research Paper Eliezer