Автоматизация рабочего места кассира по продаже билетов на поезда

Автоматизация рабочего места кассира по продаже билетов на поезда

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ



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



на тему:

«Автоматизация рабочего места кассира по продаже билетов на поезда»



Выполнили студенты 

группы ДЭ-103

Швачкин М.А.



Москва 1998

С О Д Е Р Ж А Н И Е



Введение



1. Создание базы данных



2. Таблицы



3. Запросы



4. Формы и отчеты



Введение.



Перед работой поставлена задача автоматизации рабочего места продавца билетов на поезда. В условиях современной жизни требуется ускорение процессов обработки информации. Для решения этих задач требуется использование различных программных. Одним из них является СУБД Access 7.0. 

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

В настоящее время существует множество СУБД. Среди них достойное место занимает программный продукт Microsoft Access 7.0 .Хотя сейчас существуют более новые версии.

Также одной из целей курсовой работы является изучение возможностей предоставляемых СУБД и их использование для автоматизации.

Курсовая работа представлена в виде программы для Access 7.0 DB1.MDB , которая содержит в себе:

Таблицы : Поезда ;

Места ;

Стоимость билетов --К ;

Стоимость билетов --П ;

Свободные места ;

Запросы : На удаление ; 

На дополнение ;

На обновление ; 

На создание таблицы ;

Выборки ;

Перекрестный ;

В режиме SQL ;

3. Формы

4. Отчеты

5. Макросы



1. Создание базы данных

Для создания новой базы данных из меню следует выбрать команду ФАИЛ / СОЗДАТЬ . В открывшемся диалоговом окне необходимо ввести имя файла . Нажатие кнопки OK приводит к созданию базы данных. Access автоматически добавляет расширение имени файла MDB для всех файлов , содержащих базу данных . Когда база данных откроется , то на экране появится окно базы данных, из которого можно получить доступ ко всем элементам базы данных . 



2. Таблицы

В базе данных TRAIN.MDB использовалось следующие способы создания таблиц :

--- через Конструктор Таблиц ;

--- через Запрос на создание таблиц ;

--- через Запрос SQL .

Создание таблиц через SQL показано на примере таблицы МЕСТА :



CREATE TABLE МЕСТА

(Номер_поезда int,

Кол_во_вагонов int,

Кол_во_мягких_мест int,

Кол_во_плацкартных_мест int,

Кол_во_купейных_мест int,

CONSTRAINT[Индекс1]PRIMARY KEY(Номер_поезда))



В результате создается макет таблицы МЕСТА , а данные записываются в него.



Номер_поезда

Кол_во_вагонов

Кол_во_мягких_мест

Кол_во_плацкартных_мест

Кол_во_купейных_мест

6167

20

320

800

480

6191

20

320

800

480

6201

18

288

720

432

6203

16

256

640

384

6251

15

240

600

360

6307

20

320

800

480

6383

16

256

640

384

6407

15

240

600

360

6409

18

288

720

432

6411

18

288

720

432

6421

15

240

600

360

6422

20

320

800

480

6481

16

256

640

384

6503

20

320

800

480



Создание таблицы через Конструктор Таблиц .



Для создания таблицы необходимо перейти в окно базы данных , нажать кнопку СОЗДАТЬ . В результате открылось окно конструктора таблицы . В верхней части окна диалога находится таблица , которая содержит следующие атрибуты создаваемой таблицы : наименование поля ,тип данных и описание . Помимо этих основных атрибутов каждое поле таблицы обладает дополнительными свойствами , отображаемыми в нижней части конструктора и определяющими условия ввода данных . Наименование каждого из полей таблицы выбирается произвольно , но таким образом , чтобы отразить характер информации , которая будет храниться в данном поле .Тип поля определяется типом данных , хранящихся в этом поле . Основные моменты , связанные с наименованием поля :

- наименование поля может содержать до 64 символов;

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

- наименование поля не может начинаться с пробела;

- два поля в одной таблице не могут иметь одинакового названия ;

Далее рассмотрим основные типы данных , которые использовались в данной курсовой :

1. Текстовые : При вводе имени поля по умолчанию MS Access присваивает ему текстовый тип данных с шириной поля , равной 50.Такие поля могут содержать буквы , цифры и специальные символы . Максимальная ширина - 255 символов ;

2. Числовые поля :

- при вводе данных числового поля автоматически производится проверка данных . Если данные содержат текстовые или специальные символы MS Access выведет предупреждение и ошибочные данные не будут введены ;

- только над числовыми полями возможно выполнение математических операций;

- используя значение свойства Размер поля , можно установить различный формат для полей числового типа ;

3. Поля денежного типа : денежное поле аналогично числовому полю. С его помощью можно производить вычисления с точностью до 15 знаков в целой и до 4 знаков в дробной части ;

3. Запросы

В данной базе данных TRAIN.MDB использовалось несколько типов запросов :

--- запрос на обновление 

Задача : уменьшить все цены билетов до конечных станций на 60% ; 

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

Номер_поезда

Конечная_станция

Цена_мягкого_билета

Цена_плацкартного_билета

Цена_купейного_билета

6167

Архангельск

150.00

160.00

170.00

6191

Владивосток

145.00

165.00

175.00

6201

Волгоград

130.00

140.00

150.00

6203

Екатеринбург

120.00

130.00

140.00

6251

Иркутск

170.00

185.00

192.00

6307

Калининград

155.00

165.00

180.00

6383

Краснодар

120.00

135.00

140.00

6407

Красноярск

180.00

190.00

200.00

6409

Мин. воды

110.00

115.00

125.00

6411

Москва

140.00

160.00

170.00

6421

Мурманск

155.00

165.00

180.00

Для этого выберем команду ЗАПРОС / ОБНОВЛЕНИЕ. В строку обновление следует ввести новые выражения для заменяемых записей . 

Номер_поезда

Конечная_станция

Цена_мягкого_билета

Цена_плацкартного_билета

Цена_купейного_билета

6167

Архангельск

60.00

64.00

68.00

6191

Владивосток

58.00

66.00

70.00

6201

Волгоград

52.00

56.00

60.00

6203

Екатеринбург

48.00

52.00

56.00

6251

Иркутск

68.00

74.00

76.80

6307

Калининград

62.00

66.00

72.00

6383

Краснодар

48.00

54.00

56.00

6407

Красноярск

72.00

76.00

80.00

6409

Мин. воды

44.00

46.00

50.00

6411

Москва

56.00

64.00

68.00

6421

Мурманск

62.00

66.00

72.00



--- Запрос на удаление

Задача : удалить поезд под номером 6422 

Создав новый запрос добавим таблицу “ПОЕЗДА”. Выберем из верхнего меню тип запроса ЗАПРОС/ УДАЛННИЕ . В строке “Условие отбора” напишем номер поезда 6422. И нажмем на кнопку выполнение.



Номер_поезда

Дата_отправления

День_недели

Конечная_станция

Промежуточная_станция

Дата_прибытия

Время_прибытия

Продажа_билетов

6167

10/04/98

ПЯТНИЦА

Архангельск

Санкт_петербург

11/04/98

00:12:00

0

6191

10/04/98

ПЯТНИЦА

Владивосток

Акмола

12/04/98

13:55:00

0

6201

10/04/98

ПЯТНИЦА

Волгоград

Алма-ата

11/04/98

07:36:00

0

6203

10/04/98

ПЯТНИЦА

Екатеринбург

Баку

11/04/98

08:35:00

0

6251

10/04/98

ПЯТНИЦА

Иркутск

Бишкек

12/04/98

15:54:00

0

6307

13/04/98

ПОНЕДЕЛЬНИК

Калининград

Киев

13/04/98

12:43:00

0

6383

13/04/98

ПОНЕДЕЛЬНИК

Краснодар

Тюмень

13/04/98

16:00:00

0

6407

12/04/98

ВОСКРЕСЕНЬЕ

Красноярск

Пермь

12/04/98

20:00:00

0

---Запрос с параметрами 

Задача : узнать номер поезда по дате и времени отправления поезда

Создадим новый запрос и добавим в него таблицу поезда . Затем отбуксируем в бланк запроса QBE поля дата отправления и время отправления . В строке “Устроке отбора” введем параметр , заключенный в квадратные скобки . В диалоговом окне “ Параметры запроса ” определяется тип данных для параметров . Введем имена дата отправления и время отправления в столбец “ Параметры ” и в следующем столбце выберем тип данных ДАТА / ВРЕМЯ . Для завершения изменения типа данных нажмем кнопку OK . 



Номер_поезда

Дата_отправления

Время_отправления

День_недели

Промежуточная_станция

Конечная_станция

6411

14/04/98

10:11:00

ВТОРНИК

Курган

Ожигово

6511

14/04/98

12:24:00

ВТОРНИК

Одесса

Азарово

6797

14/04/98

18:34:00

ВТОРНИК

Чебоксары

283км

6513

14/04/98

16:03:00

ВТОРНИК

Отсутствует

Матвеевское

--- Перекрестный запрос 

Задача : вывести таблицу где по строкам будет номер поезда, по столбцам дата отправления , а значение время отправления ; 

Для этого создадим новый запрос на основе таблицы “Поезда”. Затем отбуксируем поле “Номер поезда” в бланк запроса и с помощью команды ВИД / ГРУППОВЫЕ ОПЕРАЦИИ включим строку “Групповые операция” в ней выберем значение “Группировка” .

В следующий столбец поместим поле “Дата отправления” и также выберем значение “Группировка” . Третий столбец содержит поле “Время прибытия” . Этот столбец будет содержать значение “First” . Теперь данный запрос превратим в перекрестную таблицу , выбирая элемент меню ЗАПРОС / ПЕРЕКРЕСТНЫЙ . В появившейся строке “Перекрестная таблица” для первого столбца выберем “Заголовок строк” , а для второго “Заголовок столбцов” . Для третьего столбца “Время отправления” выберем элемент “Значение” 

Номер_поезда

11/04/98

12/04/98

13/04/98

14/04/98

15/04/98

18/04/98

6167

00:12:00











6191



13:55:00









6201

07:36:00











6203

08:35:00











6251



15:54:00









6307





12:43:00







6383





16:00:00







6407



20:00:00









6409





13:10:00







6411







14:00:00





6421

18:17:00











6422



11:00:00









6481









11:33:00



6503



12:00:00









6505





00:00:00







6507







00:37:00





6509





11:38:00







6511







18:42:00





6513







21:00:00





6603



15:00:00









6715



20:00:00









6797







20:34:00





6819

22:45:00











6893

19:00:00











6905

20:07:00











6999











22:45:00

--- Итоговые запросы

Задача : вычеслить стоимость всех мягких , купейных и лацкартных билетов ;

Прежде всего создадим новый запрос для таблицы . При помощи команды ВИД / ГРУППОВЫЕ операции необходимо включить строку “Групповая операция” . В этой строке для каждого из выбранных полей установим одну из функций “Группировка” и “Sum”

Count_Номер_поезда

Max Прибыль от мягких билетов

Max Прибыль от плацкартных билетов

Max прибыль от купейных билетов

26

989,232.00

2,677,400.00

1,799,136.00



4. Формы и отчеты

Формы - наиболее удобное средство для отображения информации в Access . Преимущество формы для ввода и регистрирования данных в простоте и наглядности , потому что записи запроса или таблицы представлены в наглядном виде. В режиме формы можно воспользоваться теми возможностями , которые представляет графическая cреда Windows : различные шрифты , графика и т . д . Можно создать различные виды форм . Еще одно немаловажное преимущестово форм в том , что в них можно отобразить всю информацию , которая содержится в каждой записи .

В данной курсовой работе создано 4 различных вида форм : простая , составная ,табличная и диаграмма.



1. Диаграмма

В этой курсовой работе было создано несколько диаграмм . Для этого создавался новая форма таблицы “Места” . Затем запускал мастер формы Диаграмма . В первом диалоговом окне определил , что информация будет браться из таблицы “Места” и выбрал поля “Количество мягких мест” , “количество купейных мест” и “Количество плацкартных мест” . В третьем диалоговом окне определил тип резульата . потвердил предлогаемую 

“Третья основная” - конкретно-данными из граф “Название страны” и “Тариф”.Не знаю,получится ли у меня вставить эту диаграмму в курсовую,хотя бы в виде “Приложения”,поэтому напишу,что по оси ОХ я разположила страны,по оси ОУ - тарифы.Названия стран даны в отдельной рамке на диаграмме,т.к. напечатать их непосредственно под столбиками невозможно из-за их размеров.У каждой страны - свой цвет.Созданную диаграмму я сохранила,назвав эту форму “Диаграмма”.



2.Простая.

Такую форму можно создать (как,впрочем,и другую),пользуясь пиктограммой “Новая форма” на панели управления.Эта форма сделана полностью на основе данных таблицы “Первая основная” - у каждого абонента есть своя страничка - своя карточка,где хранятся данные,касающиеся только его.При необходимости я могу найти информацию о фамилии,имени,отчестве,месте жительства и телефоне любого из двадцати “созданных” мной абонентов,получив ее на дисплее в удобном виде.Также данные любой из форм я могу увидеть на экране в виде таблицы,пользуясь “Видом” из верхней строки меню.



3.Табличная.

В этом случае я использовала таблицу “Small”,созданную мной для запросов,требующих удаления или изменения данных - что нежелательно делать в “Основных”,где все данные связаны друг с другом.Кроме того,я придала “Табличной” более красочный вид,войдя в нее через “Конструктор” и “раскрасив” поля и рамки в болотно-зеленый и терракотовый цвета соответственно,пользуясь Палитрой и функцией “Заключить в рамку”,имеющуюся в отдельной табличке,находящейся на дисплее слева,когда запускается “Конструктор” в режиме “Формы”.



4.Составная.

Это - более совершенная версия формы “Простая”.В “Составную” я взяла данные еще и из “К оплате”(таблицы),а именно - дату разговора,код страны,тариф,время и графу “Оплатить”.Таким образом,теперь я могу видеть в личной карточке абонента не только его фамилию,имя и отчество,но и сведения о его международных разговорах(в том числе,сколько наш клиент должен уплатить).

Отчеты позволяют представить и распечатать данные в соответствиями с моими требованиями.Плюс к этому - возможности оформления данных для вывода на печать практически столь же гибки,как и возможности их отображения на экране.Отчеты похожи на формы - у них практически идентичны режимы “Конструктор”,панели инструментов,средства для работы с элементами управления.

Но между формами и отчетами есть существенная разница - отчеты предназначаются для вывода данных на печать, в них отсутствует необходимость наличия управляющих элементов для ввода данных.

В отчетах нельзя установить режим таблицы или формы,потому что они предназначены только для вывода данных на печать.Для отчета можно,помимо режима “Конструктор” выбрать режим “Просмотр” (предварительный).

Теперь - об отчетах,созданных мной:



1.Простой.

Этот отчет сделан “по мотивам” таблицы “Первая основная” и занимает 6 страниц,поэтому если я его и вставлю в качестве “Приложения”,то лишь частично.Этот отчет,равно как и все остальные,я создавала через Мастер.

2.Групповой.

Этот отчет есть в “Приложении” к курсовой в конце работы.Он делался на основе таблицы “К оплате” - там есть фамилия абонента,время разговоров (суммарное!) и стоимость всех его разговоров(под каждой строкой идет процент - сколько время\сумма составляют от общего времени\суммы,которые даны в низу страницы).

3.Табличный.

Сделан по данным,содержащимся в “Третьей основной”,занимает одну страничку.Может быть,я распечатаю его в конце - в “Приложении”.Создан через Мастер.