МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ
Курсовая работа
на тему:
«Автоматизация рабочего места кассира по продаже билетов на поезда»
Выполнили студенты
группы ДЭ-103
Швачкин М.А.
Москва 1998
С О Д Е Р Ж А Н И Е
Введение
1. Создание базы данных
2. Таблицы
3. Запросы
4. Формы и отчеты
Введение.
Перед работой поставлена задача автоматизации рабочего места продавца билетов на поезда. В условиях современной жизни требуется ускорение процессов обработки информации. Для решения этих задач требуется использование различных программных. Одним из них является СУБД Access 7.0.
Автоматизация рабочего места продавца билетов на железнодорожные поезда требует использование данного программного продукта. Так как специфика деятельности в данной сфере требует обработки больших массивов информации, а также их систематизацию необходимо создание баз данных и систем по их управлению и обработке.
В настоящее время существует множество СУБД. Среди них достойное место занимает программный продукт Microsoft Access 7.0 .Хотя сейчас существуют более новые версии.
Также одной из целей курсовой работы является изучение возможностей предоставляемых СУБД и их использование для автоматизации.
Курсовая работа представлена в виде программы для Access 7.0 DB1.MDB , которая содержит в себе:
1.Таблицы : Поезда ;
Места ;
Стоимость билетов --К ;
Стоимость билетов --П ;
Свободные места ;
2.Запросы : На удаление ;
На дополнение ;
На обновление ;
На создание таблицы ;
Выборки ;
Перекрестный ;
В режиме 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.Табличный.
Сделан по данным,содержащимся в “Третьей основной”,занимает одну страничку.Может быть,я распечатаю его в конце - в “Приложении”.Создан через Мастер.
|