Информационные технологии в управлении качеством и защита информации
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Тульский государственный университет
Кафедра
"Автоматизированные станочные системы"
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по курсу:
«Информационные технологии в управлении качеством и защита информации»
на тему:
Разработка Web – интерфейса для БД
«Кинотеатр»
Задание
№6
Выполнил студент
группы 631861 /__________________/
Елманов К.В.
Проверил доц.
/__________________/ Зайков С.Г.
Тула – 2009
Содержание
| Введение | 3 |
| Разработка Web – интерфейса | 4 |
| Поиск информации о цене билета | 5 |
| Добавление данных о покупке билета | 13 |
| Разработка главной страницы | 21 |
| Заключение | 23 |
| Список используемой литературы | 24 |
Введение
Практически любая задача, решающая проблему получения данных от клиента, связана с построением интерфейса. Наиболее интересным является построение интерфейсов к различным базам данных, доступ к SQL-серверу, получение информации от периферийных устройств, создание клиентских рабочих мест. Все это возможно посредством CGI(Common Gateway Interface). Common Gateway Interface (CGI) является стандартом интерфейса внешней прикладной программы с WWW сервером.
Предметную область - Кинотеатр
Произведем поиск цены билета по названию фильма . В результате поиска получим необходимую информацию: цена билета, № сеанса, № ряда и места.
Добавлять будем данные о покупке билета. Вводимыми данными будут: № заказа, № ряда и места.
В
данной курсовой работе разработаем
Web – интерфейс для БД «Кинотеатр». Для
этого создадим 2 CGI-модуля, один из которых
будут производить добавление данных
в таблицы, а другой – осуществлять поиск
необходимых данных.
Разработка Web – интерфейса
Для разработки Web – интерфейса необходимо выделить информацию, подлежащую обработке в данной предметной области. Предметная область – это часть реального мира, данные о которой мы хотим отразить в базе данных.
В
данной курсовой работе разработаем Web
– интерфейс, с помощью которого будем
осуществлять поиск информации о цене
билета по названию фильма, а также добавлять
данные о покупке билета.
Поиск
информации о приказе
Поиск информации о цене билета будем осуществлять по названию фильма . Критерии поиска будут следующие:
- необходимо показать всю имеющуюся информацию (в этом случае отмечаем «Отображать все»);
- необходимо показать конкретные данные (в этом случае отмечаем нужные нам поля, а именно : цена билета, № сеанса, № ряда и места ).
Эскиз
web-страницы на поиск
данных о приказе:
Написание
SQL-запроса
Поиск необходимой информации будет производиться в таблице «Приказ» (prikaz) при помощи следующего SQL-запроса:
SELECT "Название фильма", "Цена билета", "№ сеанса", "№ ряда и места" FROM "Билет" WHERE "Название фильма"='Форсаж 4'.
SELECT "№ приказа" FROM "Приказ" WHERE "№ приказа"='69-д'
Переменной
частью данного SQL-запроса является
название фильма, а именно: 'Форсаж 4'.
Используемые переменные и элементы управления
|
Дополнительные переменные
| Имя переменной | Назначение переменной | Тип хранимых данных |
| Data | Хранит результат выполнения SQL-запроса | строковый |
Написание SQL-запроса с переменными:
select \"Название фильма\" cena seans mesto from \"Билет\" where \"Название фильма\" =(\'film\');"
Изменение текста SQL-запроса для использования в CGI-модуле на языке Tcl:
select \"Название
фильма\" $cena $seans $mesto from \"Билет\"
where \"Название
фильма\" =(\'$film\');"
Блок-схема программы:
Разработанная web-страница:
Текст
программы на поиск
данных по номеру приказа:
#!/usr/local/bin/tclsh8.4
#
# пример с сообщением о том, что ничего не найдено
#
package require cgi
cgi_eval {
cgi_debug -on
title "Заголовок страницы"
cgi_meta http-equiv=content-type
{content=text/html;charset=
body {
cgi_input
if [catch {cgi_import all}] { ; # галочку все НЕ поставили
if [catch {cgi_import cena}] {set cena ""} else {set cena ", \"Цена билета\""}
if [catch {cgi_import seans}] {set seans ""} else {set seans ", \"№ сеанса\""}
if [catch {cgi_import mesto}] {set mesto ""} else {set mesto ", \"№ ряда и места\""}
} else {set cena ", \"Цена билета\"" ; set seans ", \"№ сеанса\"" ; set mesto ", \"№ ряда и места\""}
if [string is space [cgi_import film]] {
puts "А что будем искать-то?"
} else {
set film [string trim $film] ; # удаление пробелов
set data [exec /usr/local/bin/psql elmanov_kv elmanov_kv -c "select \"Название фильма\" $cena $seans $mesto from \"Билет\" where \"Название фильма\" =(\'$film\');" -P format=html -P border=2]
if [string match "*(0 rows)*" $data] { ; # запрос вернул строку (0 rows)
puts "Для \"$film\" ничего не найдено"
} else {
puts $data ; # покажем, что удалось найти
}
}
} ; # body
}
Результаты поиска:
Найдем
всю информацию о фильме Форсаж 4
Добавление данных о покупке билета в заказ
Постановка задачи: Добавление данных о покупке билета в заказ
Для регистрации необходимо:
- № заказа
- № ряда и места
Эскиз
web-страницы на добавление
нового участника:
Написание SQL-запроса
Добавление данных будет производиться при помощи следующего SQL-запроса:
INSERT INTO
"Заказ" VALUES ('10','7-3')
Используемые переменные и элементы управления
|
Дополнительные переменные
|
Написание SQL-запроса с переменными:
INSERT INTO \"Заказ\" VALUES (\'zakaz\', '\mesto\')
Изменение текста SQL-запроса для использования в CGI-модуле на языке Tcl:
INSERT INTO \"Заказ\" VALUES (\'$zakaz\', \'$mesto\')
Первичный ключ
Первичный ключ таблицы "Заказ" - поле "№ ряда и места"
Полю "№ ряда
и места" присваивается имя
переменной mesto
Чтобы данные можно было добавить, нужно убедиться, что такого значения первичного ключа нет в таблице.
Для каждой таблицы, в которую добавляются данные, выписываются поля, образующие первичный ключ и составляется SQL-запрос видa:
SELECT * FROM "Заказ"
WHERE "№ ряда и места"='1-1'
или
SELECT count(*) FROM "Заказ" WHERE "№ ряда и места"='1-1'
Написание SQL-запроса с переменными:
SELECT * FROM "Заказ" WHERE "№ ряда и места"='mesto'
Изменение текста SQL-запроса для использования в CGI-модуле на языке Tcl:
SELECT * FROM \"Заказ\"
WHERE \"№ ряда и места\"=\'$mesto\'
Внешние ключи
Внешнего
ключа для поля "№ ряда и места"
не будет.
Блок-схема
программы:
Разработанная web-страница:
Текст
программы на добавление
данных :
#!/usr/local/bin/tclsh8.4
#
package require cgi
cgi_eval {
cgi_debug -on
title " "
cgi_meta http-equiv=content-type
{content=text/html;charset=
body {
set no_error 1 ;
cgi_input
if [string is space [cgi_import zakaz]] {set no_error 0 ; puts "Не указан заказ"
} else {if [string is digit $zakaz] {} else {puts "Номер заказа это число[nl]";set no_error 0 }} ;br;br
if [string is space [cgi_import
mesto]] {set no_error 0 ; puts "Не указано место"}
;br;br
if $no_error {
if [string length [exec /usr/local/bin/psql elmanov_kv elmanov_kv -t -c "SELECT * FROM \"Заказ\" WHERE \"№ заказа\"=\'$zakaz\'"]] {
puts "Данные не
могут быть добавлены";set no_error
0
}
}
if $no_error {
exec /usr/local/bin/psql elmanov_kv elmanov_kv -c "INSERT INTO \"Заказ\" VALUES (\'$zakaz\', \'$mesto\');"
put
"Данные добавлены"
} else {put "Неверно
заданы исходные данные"}
;br;br
put [cgi_url "ВЕРНУТЬСЯ
НА ГЛАВНУЮ СТРАНИЦУ" http://www.acc.tula.ru/~
put [cgi_url "ввести
другие данные" http://www.acc.tula.ru/~
put "Разработал Елманов К.В., группа 631861"
} ; # body
}
if [string is space [cgi_import
inv]] {set no_error 0 ;puts "Данные не будут
добавлены[nl]Не указан
} else {if [string is digit $inv] {} else {puts "Инвентарный номер это число[nl]";set no_error 0 }}
Результаты добавления:
Разработка
главной страницы
Для наиболее удобного способа работы с CGI-модулями создадим главную страницу, на которой будут располагаться ссылки на созданные модули.
Разработанная web-страница:
Заключение
В
курсовой работе был разработан Web-интерфейс
для БД «Кинотеатр». С помощью созданных
страниц пользователь можно добавлять
данные о покупке билета в уже существующую
базу данных, а также осуществлять поиск
информации о цене билета. Поиск необходимой
информации происходит по названию фильма.
Пользователь может получить доступ к
интересующей его информации, указав либо
конкретные параметры, либо запросить
всю имеющуюся информацию.
Список используемой литературы
- Кириллов В.В. “Основы проектирования реляционных баз данных”. Учебное пособие. - СПб.: ИТМО, 1994. - 90 с.
- Питер Роб, Карлос Корнел “Системы баз данных: проектирование, реализация и управление”. // С-Пб, “БХВ-Петербург”, 2004 г.
- Кандзюба С.П., Громов В.Н. “Базы данных и приложения”. СПб.: “ДиаСофтЮП”, 2002. - 576с.
- Курс лекций по дисциплине “Информационное обеспечение, базы данных”.
- Курс лекций по дисциплине “Информационные технологии в управлении качеством и защита информации”.
- Документация по PostgreSQL.

- Информационные технологии в управлении персоналом
- Информационные технологии в управлении предприятием
- Информационные технологии в управлении производством
- Информационные технологии в управленческой деятельности
- Информационные технологии в управленческой деятельности
- Информационные технологии в управленческой деятельности
- Информационные технологии в управленческой деятельности
- Информационные технологии в управлении
- Информационные технологии в управлении
- Информационные технологии в управлении
- Информационные технологии в управлении
- Информационные технологии в управлении
- Информационные технологии в управлении госудпарством
- Информационные технологии в управлении, их сущность и характеристика