СУБД Microsoft Access о расписании поездов

Министерство образования и науки Российской Федерации

Федеральное агентство образования

Государственное образовательное учреждение высшего профессионального образования

«Ижевский государственный технический университет»

Кафедра «Экономика предприятия»















	КУРСОВАЯ РАБОТА

	по дисциплине «Учебный практикум на компьютере»

	на тему: «СУБД Microsoft Access о расписании поездов»

























	2007


СОДЕРЖАНИЕ



ВВЕДЕНИЕ

РАЗДЕЛ 1

1. ОПИСАНИЕ ВЫПОЛНЕНИЯ

2. ТЕОРЕТИЧЕСКИЙ ВОПРОС

РАЗДЕЛ 2. ИНТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

ЗАКЛЮЧЕНИЕ




ВВЕДЕНИЕ



Наиболее популярным программным продуктом, обеспечивающим переработку данных, является СУБД Microsoft Access, входящий в пакет Microsoft Office.

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

Access - реляционная база данных (возможна одновременная работа с несколькими связанными таблицами базы данных), в которой предусмотрено много сервисных функций. Мастера облегчают создание таблицы, формы или отчета из имеющихся заготовок. Макросы позволяют автоматизировать многие процессы без программирования.

Microsoft Access содержит набор инструментов для управления базами данных, включающий в себя конструкторы таблиц, форм, запросов и отчетов. Мощность и гибкость СУБД Access делают ее сегодня одной из лучших программ для управления базами данных.

В данной курсовой работе рассматривается создание базы данных “Железные дороги”. Эта БД позволяет узнавать все сведения о движение поездов, такие как: пункт отправления и прибытия поезда, время отправления и прибытия с начальной и конечной станции, время следования, цены и льготы.


РАЗДЕЛ 1



1. ОПИСАНИЕ ВЫПОЛНЕНИЯ



Задача составления расписания поездов.

База данных должна содержать следующие сведения: код поезда, наименование (нач. – конеч. пункт), время отправления (нач. – конеч. пункт), время прибытия (нач. – конеч. пункт), время в пути, остановки на пути следования, цена билета, льготы.

Запросы к базе данных должны обеспечивать сведения об отдельно взятом поезде и параметрах его передвижения.

		При открытии документа появляется окно. В этом окне выбираем Создание таблицы в режиме конструктора и нажимаем Создать. В появившемся окне, находим строку Конструктор и нажимаем ОК. Появляется новый документ. В столбце Имя поля записываем данные поля: код поезда, начальный пункт, конечный пункт, остановки, категория поезда (Рис.1). Напротив каждого поля в столбце Тип данных появляется слово Текстовый: поле код поезда делаем числовым, а остальные поля оставляем текстовыми. Для этого нажимаем в столбце Тип данных на поле, в котором нужно изменить тип данных. Справа в этом поле появляется стрелочка, при нажатии на нее появляются возможные типы данных, где и выбираем нужный тип. Ключом данной таблицы выбрано поле код поезда, т.к. с помощью этого поля можно связывать данную таблицу с другими, и для каждого поезда соответствует свой код. Для этого в режиме конструктора, выделяем поле код поезда и делаем его ключевым, для того чтобы Access мог связать данные из разных таблиц. Сохраняем таблицу под названием «Движение поезда» Нажимаем ОК. Далее вводим данные в появившейся таблице.






Рис. 1



		Таким же образом создаем таблицу Время. В ней будут хранится данные: время отправления (нач. – конеч. пункт), время прибытия (нач. – конеч. пункт), время в пути. Все поля кроме кода поезда и времени пути (числовые поля) будут иметь тип данных: дата\время. В общих свойствах этих полей в строке формат поля выбираем “Краткий формат времени” - который означает, что данные в этой строке будут иметь вид – 00:00 (Рис.2).





Рис. 2



3. Создадим таблицу Цена билета. В ней будут хранится данные: цена билета (купе), цена билета (плац), цена билета (люкс). Все поля кроме поля код цены и код поезда, будут иметь тип данных: денежный (Рис. 3).



Рис. 3



4. Создадим таблицу Льготы. Здесь будет информация о льготах для студентов и пенсионеров на билеты для различных видов вагонов, все поля кроме код льгот и код цены будут иметь тип данных: денежный (Рис. 4).





Рис. 4




5. После распределения данных по таблицам и определения ключевых полей создаем схему данных для связи данных в разных таблицах. Для этого определяем связи между таблицами.

	Добавляем таблицы в Схему данных, связываем таблицы Движение поезда и время, по полю код поезда, для этого просто нажимаем в таблице Время поле Код поезда и, не отпуская мышки, тянем в таблицу Движение поезда к соответствующему полю Код поезда. В появившемся запросе связи отметим пункты: обеспечение целостности данных, каскадное обновление связанных полей, каскадное удаление связанных полей. После этого у нас появится связь один-к-одному. Так же свяжем таблицы Движение поезда и Цена билета по полю код поезда. В появившемся запросе связи отметим пункты: обеспечение целостности данных, каскадное обновление связанных полей, каскадное удаление связанных полей. После этого у нас появится связь один-ко-многим. Свяжем таблицу Цена билета и Льготы по полю код цены, связь будет один-ко-многим (Рис. 5.)

	



Рис. 5



6. Создадим запрос, в котором будут содержаться данные со всех таблиц и назовем его Все данные (Рис. 6.).



Рис. 6

база данные поезд расписание

Создадим еще два запроса: Поиск по нач пункту и Поиск по кон пункту (Рис.7 а,б).



			 

а) 							б)

Рис. 7



7. Для облегчения работы с данными используют формы. Создадим обычную форму ввода данных, в которой используются все таблицы. Создадим новую форму, в свойствах выберем Источник записей – Все данные. Далее в меню выберем Список полей, и перетащим в форму нужные поля. Для этого берем нужные поля и тянем, в какое-либо место формы. Добавляем в форму кнопки: Предыдущая запись, Следующая запись, Последняя запись, Первая запись, Добавить запись, Удалить запись, Выход из формы. После этого установим некоторые свойства формы. На панели инструментов нажмем на кнопку свойства: в пункте Применение фильтров поставим да, в пункте Всплывающее окно поставим да, т.е. всплывающая форма всегда располагается над другими окнами Access, в ячейке свойства Тип границы выберем Тонкая (запрет изменения размеров формы), уберем полосы прокрутки, кнопки размеров окна, кнопки перехода в соответствующих ячейках и кнопку закрытия. (Рис. 8 а, б).





Рис. 8 а) Форма в режиме конструктора






Рис. 8 б) Внешний вид созданной формы



Создадим форму Цена билета главная, источником записей будет таблица Цена билета. Также создадим форму Льготы подчиненная. Подчиненные формы предоставляют большую гибкость при отображении и вводе данных из нескольких таблиц. Здесь можно даже редактировать все поля, не задумываясь о целостности данных и вводить данные в форму с отношением один-ко-многим (подчиненная форма – это форма внутри формы, которая позволяет использовать данные из нескольких в одной форме). Теперь подчиненную форму нужно вставить во вновь созданную. Самый простой способ – отобразить главную форму и перетащить подчиненную форму в главную. При этом автоматически будет создан элемент управления подчиненной формы и потенциальные связи между формами (Рис. 9). Для создания связи вручную надо в свойствах подчиненной формы указать Код цены для свойства Основные поля и Код цены для свойства Подчиненные поля.



Рис. 9

	

	8. Перейдем к созданию отчета. Отчеты используются для предоставления данных в удобном виде. Отчет можно вывести на экран или распечатать на принтере. В отчете можно группировать и сортировать данные в любом порядке. Начинать работу нужно с общего представления о макете отчета. После разработки общего формата отчета следует подобрать необходимые данные. В отчете можно использовать данные из одной таблицы базы данных или результирующий набор данных запроса. Необходимо получить данные об отдельно взятом поезде и параметрах его передвижения.

	Отчет создадим в режиме Конструктора. Для начала добавим Заголовок отчета, который будет использоваться в качестве титульной страницы: База данных: «ЖЕЛЕЗНЫЕ ДОРОГИ РОССИИ». Затем откроем запрос Все данные, возьмем из него поля: Время отправления нач пункт, Время прибытия кон пункт, Время отправления кон пункт, Время прибытия нач пункт, Время в пути, Категория поезда, Цена билета (купе), Льгота студентам (купе), Льгота пенсионерам (купе) Цена билета (плац), Льгота студентам (плац), Льгота пенсионерам (плац), Цена билета (люкс) и переместим в область данных.

	В данной таблице будет два уровня группировки. Для их создания находим на панели инструментов кнопку Сортировка и группировка. В поле/выражение ставим поле Начальный пункт и Конечный пункт В свойствах изменяем заголовок группы – да. В появившиеся заголовки группы для «Начальный пункт» перетаскиваем поле Начальный пункт, для «Конечный пункт» - Конечный пункт и Остановки. Затем нажимаем на Вид и сохраняем отчет под именем Отчет – РЖД (Рис. 10, 11).

	

	

	Рис. 10. Отчет в режиме конструктора

	

	Рис. 11. Внешний вид созданного отчета



9. Макросы Access. Довольно часто макросы используют для поиска определенных записей в базе. Эти макросы используют две макрокоманды: КЭлементуУправления и НайтиЗапись. Можно добавить к созданной форме подпрограмму поиска расписания поездов по начальному и конечному пункту (т.е. если выбрать из списка какой-либо пункт, то автоматически выводятся расписание этого поезда) (Рис. 12).






	Рис. 12. Внешний вид готовой формы

	

	Для этого создадим свободное поле со списком, его имя «Поиск по нач пункту». Предварительно следует создать запрос, содержащий поле Начальный пункт и указать его в качестве источника строк поля со списком (Поиск по нач пункту). Поле со списком назовем Поиск по нач пункту (Рис. 13). Аналогично создадим поле со списком «Поиск по кон пункту» (Рис. 14).

	

	 

	Рис. 13 					Рис. 14


Создав поле со списком можно приступать к созданию макроса для поиска расписания отдельного поезда по полю Начальный и Конечный пункт. Начнем создание нового макроса, щелкнув на кнопке Создать во вкладке Макросы окна базы данных. Находясь в окне конструктора макросов, выполним следующие действия:

		введем КЭлементуУправления в первой пустой ячейке столбца Макрокоманда;

	б) введем [Начальный пункт] в ячейку аргумента Элемент;

	в) введем НайтиЗапись в следующей пустой ячейке столбца Макрокоманда;

	г) введем =[Поиск по нач пункту] в строке аргумента Образец поиска;

	д) сохраним макрос под названием Поиск по Н пункту (рис. 15).

	

		 

		Рис. 15					Рис. 16



	Этот макрос нужно присоединить к свойству После обновления поля со списком. Для этого выполним следующие действия:

	перейдем к свойству После обновления элемента управления Поиск по нач пункту;

	б) введем Поиск по Н пункту в соответствующую ячейку.

	Аналогично для макроса Поиск по К пункту (Рис. 16).

		

2. ТЕРЕТИЧЕСКИЙ ВОПРОС

	

	Что такое запрос, для чего он используется?

	При выполнении запроса программа «отбирает» данные, соответствующие заданным условиям, и предоставляет их в распоряжение пользователя в качестве результата запроса.

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

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

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

Один ко многим. Одна запись главной таблицы связана с множеством записей подчиненной таблице.

Многие ко многим. Каждой записи главной таблицы соответствует много записей подчиненной таблицы и наоборот. Через связующую таблицу, содержащую ключ первой и второй таблицы.

Можно указать какая часть результирующих записей будет отображена.

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

Существующий запрос можно в дальнейшем использовать в качестве основы при создании нового запроса, который вы можете изменить и сохранить под другим именем.

Результат работы запроса – группа записей, которые удовлетворяют заданному критерию запроса. Совокупность этих записей называется динамическим набором записей и отображается в виде таблицы.

В Access можно создать различные виды запросов:

1. Наиболее часто используемым типом запроса является запрос на выборку, осуществляет выборку данных, соответствующих указанному условию отбора, из одной или нескольких таблиц.

2. Программа позволяет создать четыре различных типа запроса на изменение:

- запрос на создание таблицы позволяет сохранить результирующий набор записей в качестве новой таблицы;

- запрос на обновление записей используется для изменения данных в соответствии с заданным выражением.

- запрос на добавление добавляет записи, соответствующие заданному условию, в другую таблицу.

- запрос на удаление удаляет записи, соответствующие заданному условию.




РАЗДЕЛ 2

ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ



Данная база данных разработана по расписанию поездов. Она обеспечивает сведения об отдельно взятом поезде и параметрах его передвижения. В ней находятся данные 50 различных поездов.

Для начала работы с данной базой данных «Расписание поездов» необходимо открыть ее. После открытия появляется окно «Расписание поездов: база данных». Справа в Объектах выбираем Таблицы. Их четыре: Время, Движение поездов, Цена билета и Льготы. Если необходимо что-то изменить (например, Начальный или Конечный пункт) или добавить новый маршрут в таблицу Движение поезда, то необходимо ее открыть: щелкнув мышкой два раза или нажать на Открыть на панели инструментов в данном окне. Появляется таблица: для изменения данных встаем в поле, где нужно их изменить, и печатаем нужную информацию. Если же необходимо добавить новый маршрут поезда, то встаем в нижнюю строку в поле Код поезда и вводим данные (необходимо заполнение всех полей). Т.к. таблица Движение поезда связана с таблицей Время, то можно, не открывая таблицу Время, изменить данные в ней. Для этого нажимаем на плюсик (+), который располагается около каждой строчки в таблице слева. Выдвигается таблица Время. Также можно изменять данные в таблице Цена билета и Льготы, как написано для таблицы Движение поездов.

Также можно удалить запись:

Для этого открываем форму, ставим на запись, которую нам необходимо удалить. Нажимаем на кнопку Удалить запись, затем подтверждаем удаление записи (Рис.17).



Рис. 17



Существует еще один способ удаления. Заходим в таблицу или запрос ставим курсор на строку, которую необходимо удалить нажимаем правой кнопкой мыши и из списка команд выбираем удалить запись (Рис. 18) или





Рис. 18



нажимаем на панели инструментов кнопку Удалить запись (можно также на клавиатуре нажать клавишу Delete).

Просмотреть данные можно с помощью запросов. Например, запрос – Все данные, чтобы его открыть нужно в окне «Расписание поездов: база данных» справа в Объектах выбрать Запросы. Появятся четыре запроса: Все данные, поиск по кон пункту, поиск по нач пункту, поиск по начальному и конечному пункту, выбираем запрос Все данные и открываем его. Здесь же можно изменить данные, удалить или добавить расписание нового поезда, но для удобства это лучше делать в таблицах (об этом рассказано выше).

Рассмотрим формы. Для открытия форм. Выбираем в окне «Расписание поездов: база данных» справа в Объектах выбираем Формы, появилось четыре формы: Вся база данных и Расписание поездов, Время подчиненная, Движение главная. Выбираем Расписание поездов и заходим в нее. В этой форме можно просмотреть расписание всех поездов. Для того чтобы просмотреть данные нажимаем на кнопку Следующая запись[ ] или Предыдущая запись[], чтобы вернуться к первой записи нажимаем кнопку Первая запись[], к последней Последняя запись [], для добавления записи кнопка Добавить запись [], для удаления записи кнопка Удалить запись [] для выхода из формы есть кнопка Закрыть форму []. Если необходимо найти расписание конкретного маршруту, то для этого сделан Поиск по Начальному и конечному пункту. Для этого находим поле Начальный пункт и Конечный пункт, нажимаем на стрелочку[]. Высвечивается список начальных и конечных пунктов, выбираем из него нужные, нажимаем, и выдается расписание этого поезда. Также в форме можно изменять данные. Для этого находим расписание поезда, у которого неверно записаны данные, и, встав в нужное поле, удаляем старые данные и вписываем новые. После этого автоматически данные изменятся в таблице, в которой данное поле находится.

Для наглядного отображения расписания поездов составлен отчет. Для открытия отчета выбираем в окне «Расписание поездов: база данных» справа Отчеты, появился отчет Отчет – РЖД , откроем его: щелкнув мышкой два раза или нажать на Открыть на панели инструментов в данном окне. Появляется окно наподобие Word’а. В отчете изменять данные и добавлять нельзя, здесь наглядно представлены расписания всех поездов, упорядоченные по Начальному и Конечному пути.

Для добавления и изменения полей в Таблицах, Запросах, Формах или Отчете необходимо войти в конструктор. Для этого открываем нужное окно и находим на панели инструментов Предварительный просмотр, обычно она располагается под контекстным меню: Фаил, Правка и т.д., кнопку Конструктор и нажимаем. Как добавлять, изменять свойства и удалять поля, рассказано в разделе 1.




ЗАКЛЮЧЕНИЕ



В курсовой работе были изложены разработка базы данных и руководство по ее использованию. Теперь перейдем к тому, как можно усовершенствовать базу данных «Расписание поездов».

Я предлагаю для удобства просмотра наименования поезда (нач. – конеч. пункт) объединить два поля нач пунк и кон пункт в одно с помощью формулы ([нач пункт]+ “ - ”+[кон пункт]). Что позволит из двух полей сделать одно.

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

При выводе отчета можно на лист поместить информацию сразу о нескольких поездах. Поместить сегодняшнюю дату. Сделать это можно с помощью формулы: (=Now()). Так же можно пронумеровать страницы отчета.

Исходя из созданной базы данных, внесенных в нее усовершенствованиях можно сделать вывод, что Microsoft Access во многом упрощает работу над расписанием поездов на железнодорожных предприятиях.