Имя
поля
|
Тип
данных
|
Описание
|
Код
заявки
|
Счетчик
|
Первичный
ключ - идентифицирующий уникальный код заявки, символьное значение в
диапазоне от 1 до 10 знаков.
|
Организация
|
Текстовый
|
Наименование
организации - символьное значение в диапазоне от 1 до 50 знаков.
|
Клиент
|
Текстовый
|
Наименование
клиента - символьное значение в диапазоне от 1 до 50 знаков.
|
ФИО
|
Числовой
|
ФИО
водителя - символьное значение в диапазоне от 1 до 50 знаков.
|
Дата
отгрузки
|
Дата/время
|
Дата
отгрузки - краткий формат даты в виде ДД.ММ.ГГГГ.
|
Адрес
отгрузки
|
Числовой
|
Адрес
отгрузки - символьное значение в диапазоне от 1 до 20 знаков.
|
Груз
|
Числовой
|
Наименование
груза символьное значение в диапазоне от 1 до 20 знаков.
|
Количество
|
Числовой
|
Количество
- символьное значение в диапазоне от 1 до 10 знаков.
|
Единица
измерения
|
Текстовый
|
Единица
измерения - символьное значение в диапазоне от 1 до 50 знаков.
|
Государственный
номер тягача
|
Текстовый
|
Государственный
номер тягача - символьное значение в диапазоне от 1 до 50 знаков.
|
Государственный
номер прицепа
|
Текстовый
|
Государственный
номер прицепа - символьное значение в диапазоне от 1 до 50 знаков.
|
Дата
выгрузки
|
Дата/время
|
Дата
выгрузки - краткий формат даты в виде ДД.ММ.ГГГГ.
|
Адрес
выгрузки
|
Числовой
|
Стоимость
|
Денежный
|
Стоимость
перевозки - денежный формат поля.
|
Оплачено
|
Логический
|
Статус
заявки - принимает значения «Оплачено» или «Не оплачено»
|
2.2 РАЗРАБОТКА СХЕМЫ СУБД
Схема данных позволяет:
. Устанавливать связи между записями в таблицах.
. Отображать их графически на экране монитора
и/или выводить на печать.
. Обеспечивать защиту от случайного удаления или
изменения связанных данных.
. Упростить конструирование многотабличных форм,
запросов, отчетов.
. Обеспечить поддержание целостности
взаимосвязанных данных.
В Microsoft Access существует три типа связей:
один-к-одному;
один-ко-многим;
многие-ко-многим.
В связи “один-к-одному” одной строке первой
таблицы соответствует только одна строка во второй. Эта связь используется для
разделения таблиц, имеющих большое количество полей.
В связи “один-ко-многим” каждой строке первой
таблицы могут соответствовать несколько строк во второй таблице, а строка во
второй таблице не может иметь более одной соответствующей ей строки в первой
таблице. В первой таблице связываемое поле должно быть ключевым, а во второй
таблице - любым. Связь “один-ко-многим” используется наиболее часто.
Связь “один-ко-многим” возникает, если
связываемое поле подчиненной таблицы является неключевым или связываемые поля
подчиненной таблицы образуют составной ключ и количество ключевых полей в ней
больше, чем в главной.
Поля связи подчиненной таблицы образуют внешний
ключ.
Если таблица соответствует информационному
объекту предметной области, можно считать, что схема базы данных является
отображением в Microsoft Access семантической модели предметной области. При
условии, что таблицы в схеме расположены по уровням иерархии, схема базы данных
является отображением в Microsoft Access канонической формы или предметной
области.
Связи между таблицами в Microsoft Access можно
создавать непосредственно при проектировании запросов. В схеме базы данных
устанавливаются не все возможные связи между таблицами, а только те, которые
действительно используются при создании составных экранных форм, а также для
обеспечения целостности данных.
Наличие схемы данных обязательно для проверки
ссылочной целостности, построения составных форм и ввода данных в связанные
таблицы. Схема данных позволяет объединить отдельные реляционные таблицы,
полученные на этапе информационного анализа из первичного документа, в единое
целое - информационное отображение исходного документа посредством входных форм
СУБД Access.
На схеме прямоугольниками отображают таблицы
базы данных с полным списком их полей, а связи показывают, по каким полям
осуществляется взаимосвязь таблиц. Имена ключевых полей для наглядности
выделены и находятся в верхней части полного списка полей каждой таблицы. На
рисунке 1 изображена схема взаимосвязи таблиц базы данных.
Схема данных
Рисунок 1 - Схема взаимосвязи таблиц базы данных
.3 РАЗРАБОТКА АЛГОРИТМОВ
Форма представляет собой диалоговое окно, в
котором данные одной или нескольких таблиц отображаются в удобном для
восприятия виде.
Формы в Microsoft Access предназначены для
ввода, вывода, редактирования, просмотра данных. Использование форм существенно
упрощает ввод данных. Формы создаются на основе имеющихся таблиц, запросов или
других форм. Удобнее создавать формы с помощью мастера. Для создания
подчиненной формы и последующего ее включения в главную форму используется
кнопка «Подчиненная форма/отчет» на панели инструментов. Далее выполняются
необходимые действия в окнах диалога мастера. После нажатия кнопки «Готово»
подчиненная форма появляется в составе главной формы. В данной базе данных
созданы простые и составные формы на основе одной или нескольких таблиц.
Простые формы: «Водители», «Клиенты», «Прицепы», «Тягачи». Составные формы:
«Заявки».
Кнопки используются для активизации
последовательности действий, перехода по записям, открытия нужной формы,
запроса или отчета. Для создания кнопки используется соответствующий элемент на
панели инструментов, затем указывается действие, которое должно происходить при
нажатии создаваемой кнопки.
Форма «Водители» входит в состав главной формы и
позволяет добавлять новых сотрудников. Данная форма представлена на рисунке 2.
Рисунок 2 - Форма «Водители»
Форма «Клиенты» позволяет добавлять новых
клиентов. Данная форма представлена на рисунке 3.
Рисунок 3 - Форма «Клиенты»
Форма «Тягача» позволяет добавлять новые тягачи.
Данная форма представлена на рисунке 4.
Рисунок 4- Форма «Тягачи»
Форма «Прицепы» позволяет добавлять новые
прицепы. Данная форма представлена на рисунке 5.
Рисунок 5 - Форма «Прицепы»
Форма «Заявки» позволяет добавлять новые заявки.
Данная форма представлена на рисунке 6.
Рисунок 6 - Форма «Заявки»
Отчёты предназначены для формирования выходных
документов и вывода их на печать. По своим свойствам и структуре отчёты во
многом подобны формам. Основное их отличие заключается в том, что в отчёте
отображаются все данные и в них предусмотрена возможность группировать данные
по различным критериям. Отчёты в отличие от форм могут содержать специальные
элементы оформления, характерные для печати документов: колонтитулы, номера
страниц и т.д.
Отчёты, так же как и формы, можно создавать с
помощью конструктора или мастера отчётов. Используется также автоматическое
создание отчётов. Последовательность действий при формировании отчёта с помощью
мастера такая же, как и при создании формы.
В созданной базе данных составлено с помощью
конструктора 5 отчетов.
Первый отчет - «Водители», представлен на
рисунке 7.
Рисунок 7 - Отчет «Водители»
Второй отчет - отчет «Клиенты» включает в себя
данные о клиентах. Данный отчет показан на рисунке 8.
Рисунок 8 - Отчет «Клиенты»
Третий отчет - отчет «Тягачи» включает в себя
данные о тягачах. Данный отчет показан на рисунке 9.
Рисунок 9 - Отчет «Тягачи»
Четвертый отчет - отчет «Прицепы» включает в
себя данные о прицепах. Данный отчет показан на рисунке 10.
Рисунок 10 - Отчет «Прицепы»
Пятый отчет - «Отчет по заявкам» включает в себя
данные о заявках. Данный отчет показан на рисунке 11.
Рисунок 11 - Отчет «Заявки»
Чтобы созданная база данных выглядела в виде
отдельной программы применяется метод создания Главной кнопочной формы. Для
того чтобы создать Главную кнопочную форму нужно сначала открыть базу данных, а
затем выполнить следующие операции:
. В меню «Сервис» выбрать команду «Служебные
программы», а затем «Диспетчер кнопочных форм».
. Если появится запрос на подтверждение создания
кнопочной формы, нажать кнопку «Да».
. Нажать кнопку «Создать».
. Ввести имя новой кнопочной формы и нажать
кнопку «OK».
. Имя новой кнопочной формы добавляется в поле
«Страницы кнопочной формы».
. Выбрать имя новой кнопочной формы и нажать
кнопку «Изменить».
. Нажать кнопку «Создать».
. В поле «Текст» ввести текст для первой кнопки
кнопочной формы, а затем выбрать для нее команду в поле «Команда». Открыть
форму для изменения.
Для создания кнопочной формы, которая открывает
другие кнопочные формы, нужно выбрать в поле «Команда» команду «Перейти к
кнопочной форме», а затем указать кнопочную форму, к которой надо перейти.
. Для большинства выбранных команд под полем
«Команда» открывается новое поле со списком. При необходимости, надо выбрать
нужный элемент в этом поле. Например, если на шаге 8 была выбрана команда
«Открыть форму для изменения», выберите в поле «Форма» имя нужной формы и
нажмите кнопку «OK».
Для создания остальных кнопок кнопочной формы
нужно повторить шаги с 7 по 9.
При создании кнопочной формы с помощью
диспетчера кнопочных форм создается таблица «Switchboard Items», которая
описывает текст и действия кнопок формы. Если позднее внести изменения в
кнопочную форму в режиме конструктора формы, приложение может перестать
работать.
На рисунке 12 изображена форма-меню созданной
базы данных. На ней помещены: вкладка «Формы» с кнопками, позволяющими перейти
к формам базы данных; вкладка «Запросы», позволяющая обратиться к формам со
статистическими данными; вкладка «Отчеты», обеспечивающая переходы к отчетам.
Подробнее о работе в данной форме будет рассказано в руководстве пользователя.
Рисунок 12 - Главная кнопочная форма
. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА
.1 ОСОБЕННОСТИ РЕАЛИЗАЦИИ СИСТЕМЫ
Одной из особенностей базы данных является
способность извлекать данные и представлять их в соответствии с указанными
требованиями. Запросы позволяют выбирать данные из одной или нескольких
связанных таблиц. Результатом выполнения запроса является результирующая
таблица, которая наряду с другими таблицами может быть использована при
обработке данных. С помощью запросов можно также обновлять, удалять или
добавлять данные в таблицы. Основным назначением запросов является отбор данных
по критериям поиска.
Существует несколько видов запросов:
запрос на выборку - поиск необходимой информации
по одной или нескольким таблицам;
запрос на создание - создание новой таблицы для
сохранения результатов запроса на выборку;
запрос на добавление - добавление новых строк в
таблицу;
запрос на удаление - удаление строк из таблицы;
запрос на обновление - изменение значений уже
имеющихся строк.
Для создания запроса в окне базы данных
выбирается раздел «Запросы/Создание запроса с помощью мастера». Процесс
создания запроса состоит в следующем:
указать таблицы, данные из которых будут
использоваться в запросе
выбрать поля, которые будут выводиться на экран
сохранить запрос под конкретным именем
В базе данных создано 11 запросов:
. Запросы на выборку
Запрос по месяцам (показывает общее количество
груза и общую стоимость заявок за каждый месяц по каждому клиенту). Данный
запрос представлен на рисунке 13.
Рисунок 13 - Запрос по месяцам
Запрос по месяцам в режиме SQL
представлен в ПРИЛОЖЕНИИ 1.
Количество рейсов по автомобилям (показывает
сколько рейсов приходится на конкретный автомобиль). Данный запрос представлен
на рисунке 14.
Рисунок 14 - Запрос по количеству рейсов
Запрос по количеству рейсов по автомобилям в
режиме SQL представлен
в ПРИЛОЖЕНИИ 1.
Долг клиента за период (показывает задолженность
клиентов за определенный период времени). Сформируем запрос по долгам клиентов
за период с 01.01.2017 года по 31.03.2017 года.
Данный запрос представлен на рисунке 15.
Рисунок 15 - Запрос по долгам клиентов
Запрос по долгам клиентов за период в режиме SQL
представлен в ПРИЛОЖЕНИИ 1.
- Неоплаченные заявки (показывает все
неоплаченные заявки за весь период работы). Данный запрос представлен на
рисунке 16.
Рисунок 16 - Запрос по неоплаченным заявкам
Запрос по неоплаченным заявкам в режиме SQL
представлен в ПРИЛОЖЕНИИ 2.
Оплаченные заявки (показывает все оплаченные
заявки за весь период работы). Данный запрос представлен на рисунке 17.
Рисунок 17 - Запрос по оплаченным заявкам
Запрос по оплаченным заявкам в режиме SQL
представлен в ПРИЛОЖЕНИИ 2.
Поиск заявок за период (показывает все заявки по
всем клиентам за определенный период времени). Сформируем запрос по заявкам за
январь 2017 года.
Данный запрос представлен на рисунке 18.
Рисунок 18 - Запрос по заявкам за период
Запрос по заявкам за период в режиме SQL
представлен в ПРИЛОЖЕНИИ 2.
Поиск заявок по адресу выгрузки (показывает все
заявки по конкретному городу выгрузки). Сформируем запрос по заявкам по городу
Санкт-Петербург.
Данный запрос представлен на рисунке 19.
Рисунок 19 - Запрос по заявкам по адресу
Запрос по заявкам по адресу выгрузки в режиме SQL
представлен в ПРИЛОЖЕНИИ 3.
Поиск заявок по государственному номеру тягача
(показывает все заявки по введенному государственному номеру тягача).
Сформируем запрос по государственному номеру А861ОО35.
Данный запрос представлен на рисунке 20.
Рисунок 20 - Запрос по заявкам по государственному
номеру
Запрос по заявкам по государственному номеру
тягача в режиме SQL
представлен в ПРИЛОЖЕНИИ 3.
Общая стоимость перевозок (показывает общую
стоимость перевозок по каждому клиенту за весь период). Данный запрос
представлен на рисунке 21.
Рисунок 21 - Запрос на общую стоимость перевозок
Запрос по заявке на общую стоимость перевозок в
режиме SQL представлен
в ПРИЛОЖЕНИИ 3.
Поиск заявок по водителю (показывает все заявки
по конкретному водителю). Сформируем запрос по водителю Дмитриев Алексей
Алексеевич.
Данный запрос представлен на рисунке 22.
Рисунок 22 - Запрос по заявкам по водителю
Запрос по заявкам по водителям в режиме SQL
представлен в ПРИЛОЖЕНИИ 3.
. Перекрестные запросы
Количество заявок по водителям (показывает
сколько заявок выполнил каждый водитель по каждому клиенту и общее количество
заявок). Данный запрос представлен на рисунке 23.
Рисунок 23 - Запрос по количеству заявок по
водителям
Запрос по количеству заявок по водителям в
режиме SQL представлен
в ПРИЛОЖЕНИИ 4.
. ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
Тестирование - это процесс, направленный на
выявление ошибок.
Процесс тестирования включает:
действия, направленные на выявление ошибок;
диагностику и локализацию ошибок;
внесение исправлений в программу с целью
устранения ошибок.
Проведем тестирование разработанной базы данных.
Добавление новых данных. На
рисунке 24 изображена таблица «Водители» до момента добавления записи.
Рисунок 24 - Таблица «Водители» до момента
добавления записи
В таблицу «Водители» добавим нового водителя. На
рисунке 25 изображена таблица «Водители» после добавления записи.
Рисунок 25 - Таблица «Водители» после добавления
записи
Можно сделать вывод, что функция добавления
записи работает полностью, в таблице появился новый водитель.
Редактирование текущей записи. На
рисунке 26 изображена таблица «Водители» до редактирования записи.
Рисунок 26 - Таблица «Водители» до
редактирования записи
Поменяем номер телефона у водителя Попова
Алексея Ивановича. На рисунке 27 изображена таблица «Водители» после
редактирования записи.
Рисунок 27 - Таблица «Водители» после
редактирования записи
Можно сделать вывод, что функция редактирования
записи работает полностью. Данные о водителе обновились. Данные об изменении
были удачно внесены в базу данных.
Удаление записи из таблицы. На рисунке 28
изображена таблица «Водители» до удаления записи.
Рисунок 28 - Таблица «Водители» до удаления
записи
Из таблицы «Водители» удалим водителя Попова
Алексея Ивановича. На рисунке 29 изображена таблица «Водители» после удаления
записи.
Рисунок 29 - Таблица «Водители» после удаления
записи
Можно сделать вывод, что функция удаления записи
работает полностью.
. ВНЕДРЕНИЕ ПРОГРАММНОГО ПРОДУКТА
.1 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
При запуске базы данных появляется главная
кнопочная форма «Информационная система для учета перевозок автотранспортного
предприятия», представленная на рисунке 30.
Рисунок 30 - Главная кнопочная форма
Главная кнопочная форма предлагает пользователю
следующие действия:
. Просмотр и ввод новых данных;
2. Просмотр запросов;
. Просмотр отчетов;
. Выход из базы данных.
Рассмотрим последовательно все эти действия.
Форма «Водители» предназначена для просмотра
сведений о работающих водителях и ввода новых данных. Чтобы добавить нового
водителя, необходимо нажать на кнопку .
Появятся пустые строки для заполнения.
Необходимо заполнить поля: ФИО, табельный номер,
паспортные данные, адрес, телефон, дата рождения, дата приема на работу и
зарплата. Код водителя ставится автоматически. С помощью кнопок и
можно
перейти к предыдущему или следующему водителю. Для того чтобы удалить сведения
о водителях, необходимо нажать на кнопку .
Также в этой форме можно открыть отчет по водителям, нажав на соответствующую
кнопку, чтобы посмотреть или вывести на печать весь список работающих
водителей. Нажав на кнопку форма закроется.
Форма «Клиенты» предназначена для просмотра
сведений о клиентах. Чтобы добавить нового клиента, необходимо нажать на кнопку
.
В этой форме заполняются поля: клиент, адрес, телефон, электронная почта. С
помощью кнопок и можно
перейти к предыдущему или следующему клиенту. Отчет по клиентам открывается
соответствующей кнопкой, служит для просмотра и вывода на печать всего списка
клиентов. Закрывается форма кнопкой .
Форма «Тягачи» предназначена для просмотра
сведений о тягачах. Чтобы добавить новый тягач, необходимо нажать на кнопку .
В этой форме заполняются поля: марка/модель, тип, год выпуска, цвет,
государственный номер. С помощью кнопок и
можно
перейти к предыдущей или следующей записи, открыть отчет по тягачам, закрыть
форму на кнопку .
Форма «Прицепы» предназначена для просмотра
сведений о прицепах. Чтобы добавить новый прицеп, необходимо нажать на кнопку .
В этой форме заполняются поля: марка/модель, тип, год выпуска, цвет,
государственный номер. С помощью кнопок и
можно
перейти к предыдущей или следующей записи, открыть отчет по прицепам, закрыть
форму на кнопку .
Форма «Заявки» предназначена для просмотра
заявок. Чтобы добавить новую заявку, необходимо нажать на кнопку .
В этой форме заполняются поля: дата загрузки, адрес загрузки, количество груза,
дата выгрузки, адрес выгрузки, стоимость перевозки. Галочка «Оплачено» ставится
только в том случае, когда стоимость перевозки оплачена. Остальные поля
выбираются из списка. С помощью кнопок и
можно
перейти к предыдущей или следующей заявке, открыть отчет по заявкам для
просмотра всех заявок за весь период и отчет по клиентам, нажав на
соответствующие кнопки, закрыть форму на кнопку .
При помощи кнопки запроса
«Стоимость заявок по месяцам» можно узнать стоимость грузоперевозки помесячно,
наименование и общее количество груза по каждому клиенту.
Запрос «Поиск заявок по водителям» показывает,
сколько заявок выполнил каждый водитель по каждому клиенты и в общем.
Запрос «Поиск заявок по автомобилям» показывает,
сколько рейсов совершил каждый автомобиль за весь период.
Нажимая на кнопку запроса «Долги за период»
выходит окно, изображенное на рисунке 31.
Рисунок 31 - Начальная дата
Необходимо ввести начальную дату периода в
формате ДД.ММ. Нажать кнопку ОК. Затем появится окно, изображенное на рисунке
32.
Рисунок 32 - Конечная дата
Необходимо ввести конечную дату периода в
формате ДД.ММ. Нажать на кнопку ОК. На экране появится таблица с долгами по
каждому клиенту.
При помощи запросов «Оплаченные заявки» и
«Неоплаченные заявки» можно узнать, какие заявки оплачены, а какие - нет. Также
можно посмотреть адреса заявки, груз и его количество.
Запрос «Общая стоимость заявок по клиентам»
показывает, на какую сумму совершено перевозок по каждому клиенту.
Нажимая на кнопку запроса «Поиск заявок за
период» выходит окно, изображенное на рисунке 33.
Рисунок 33 - Начальная дата
Необходимо ввести начальную дату периода в
формате ДД.ММ. Нажать кнопку ОК. Затем появится окно, изображенное на рисунке
34.
Рисунок 34 - Конечная дата
Необходимо ввести конечную дату периода в
формате ДД.ММ. Нажать на кнопку ОК. На экране появятся заявки за этот период
времени с указанием всех данных.
Нажимая на кнопку запроса «Поиск по водителям»
выходит окно, изображенное на рисунке 35.
Рисунок 35 - Фамилия водителя
Необходимо ввести первую букву фамилии водителя
и нажать кнопку ОК. На экране появятся заявки по этому водителю.
Нажимая на кнопку запроса «Поиск заявок по
адресу» выходит окно, изображенное на рисунке 36.
Рисунок 36 - Город
Необходимо ввести первую букву города выгрузки и
нажать кнопку ОК. На экране появятся заявки по этому адресу.
Нажимая на кнопку запроса «Поиск заявок по
государственному номеру тягача» выходит окно, изображенное на рисунке 37.
Рисунок 37 - Госномер
Необходимо ввести первую букву государственного
номера тягача и нажать кнопку ОК. На экране появятся все заявки по
государственному номеру тягача, начинающемуся на эту букву.
Отчеты предназначены для просмотра сведений и
вывода на печать.
Отчет «Водители» показывает весь список
работающих водителей в алфавитном порядке с указанием личных данных.
Отчет «Отчет по заявкам» выводит на экран заявки
за весь период времени с указанием всех данных по каждому автомобилю отдельно.
Отчет «Отчет по клиентам (помесячно)» выводит на
экран общую стоимость перевозок по клиентам за каждый месяц
Отчет «Клиенты» показывает весь список клиентов.
Отчет «Тягачи» показывает весь список тягачей.
Отчет «Прицепы» показывает весь список прицепов.
5.2 РУКОВОДСТВО АДМИНИСТРАТОРА
Для запуска приложения необходимо запустить файл
базы данных «Грузоперевозки. mdb» одновременно с кнопкой «Shift» .
После запуска приложения появится диалоговое
окно, изображенное на рисунке 38.
Рисунок 38 - Диалоговое окно
Только администратор может добавлять, изменять и
удалять данные в таблицах:
адрес выгрузки;
адрес отгрузки;
груз;
единицы измерения;
организация.
В остальные таблицы изменения могут вноситься
как пользователем, так и администратором.
Администратор также может:
создавать новые таблицы с помощью мастера, в
режиме конструктора или путем ввода данных;
создавать новые запросы с помощью мастера или в
режиме конструктора;
создавать новые формы;
создавать новые отчеты;
осуществлять обучение сотрудников
автотранспортного предприятия навыкам работы на компьютерах, а также работе с
программными продуктами;
осуществлять контроль над работой компьютеров и
своевременно сообщать о сбоях и неисправностях руководству предприятия.
ЗАКЛЮЧЕНИЕ
Разработанная информационная система
предназначена для учета перевозок автотранспортного предприятия -
Индивидуальный предприниматель Талыбов Фахрат Талыб оглы.
В данной дипломной работе были получены
следующие результаты:
на этапе анализа предметной области задачи были
выявлены основные функции;
на этапе проектирования разработана структурная
схема, схема СУБД и алгоритм базы данных;
на этапе реализации сгенерирована база данных;
на этапе тестирования была проведена отладка
программы;
разработано руководство пользователя и
администратора.
Назначением базы данных является: предоставление
полного и удобного интерфейса взаимодействия с записями базы данных,
возможность добавления, удаления, редактирования всей полученной информации в
результате использования программы.
База данных является разработанной системой, с
помощью которой проще учесть особенности деятельности автотранспортного
предприятия, создать более простую информационную систему, не требующую
сопровождения со стороны.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
3. Базы
данных: Учебник для ВУЗов / Под ред. А.Д.Хомоненко - СПб: Корона принт, 2000. -
416 с.
4. К.Дж.Дейт.
Введение в системы баз данных.: Пер. С англ. К.: Диалектика, 1998. - 784с.
. Проектирование
информационных систем: курс лекций: учеб. Пособие для студентов вузов,
обучающихся по специальностям в области информ. технологий / В.И. Грекул, Г.Н.
Денищенко, Н.Л. Коровкина. - М.: Интернет-Ун-т Информ. технологий, 2005. -
304с.
. Ульман,
Д. Введение в системы баз данных /Д.Ульман, Д.Уидом; Пер. с англ. - М.: Лори ,
2000. - 512 с.
ПРИЛОЖЕНИЕ 1
Запрос по месяцам
SELECT DISTINCTROW Заявки.
Клиент,
Format $ (Заявки. ДатаОтгрузки,
'mmmm yyyy') AS [Месяц отгрузки],
Заявки.Груз,
Заявки.ЕдИзмерения,
Sum(Заявки.Количество)
AS [Количество
груза],
Sum(Заявки.Стоимость)
AS [Стоимость
груза]ЗаявкиBY
Заявки.Клиент,
Format$(Заявки.ДатаОтгрузки,'mmmm
yyyy'), Заявки.Груз,
Заявки.ЕдИзмерения,
Year (Заявки.ДатаОтгрузки)
* 12 + DatePart ('m',Заявки.ДатаОтгрузки)-1BY
Format$(Заявки.ДатаОтгрузки,'mmmm
yyyy') DESC;
Количество рейсов по автомобилям
SELECT
Тягачи.Тягач, Тягачи.ГосНомер, Count(Заявки.КодЗаявки)
AS [Количество
рейсов]
FROM Тягачи INNER
JOIN Заявки ON
Тягачи.Тягач=Заявки.ГосномерТягача
GROUP
BY Тягачи.Тягач,
Тягачи.ГосНомер;
Долг клиентов за период
SELECT Заявки.Клиент, Sum(Заявки.Стоимость) AS
ДолгЗаявки(((Заявки.Оплачено)=False) AND ((Заявки.ДатаВыгрузки) Between
[Начальная дата] And [Конечная дата]))BY Заявки.Клиент;
ПРИЛОЖЕНИЕ 2
Неоплаченные заявки
SELECT Заявки.КодЗаявки, Заявки.Клиент,
Заявки.ДатаОтгрузки, Заявки.АдресОтгрузки, Заявки.Груз, Заявки.Количество,
Заявки.ЕдИзмерения, Заявки.ДатаВыгрузки, Заявки.АдресВыгрузки,
Заявки.СтоимостьЗаявки(((Заявки.Оплачено)=False));
Оплаченные заявки
SELECT Заявки.КодЗаявки, Заявки.Клиент,
Заявки.ДатаОтгрузки, Заявки.АдресОтгрузки, Заявки.Груз, Заявки.Количество,
Заявки.ЕдИзмерения, Заявки.ДатаВыгрузки, Заявки.АдресВыгрузки, Заявки.СтоимостьЗаявки(((Заявки.Оплачено)=True));
Поиск заявок за период
SELECT Заявки.Клиент, Водители.ФИО,
Заявки.ДатаОтгрузки, Заявки.АдресОтгрузки, Заявки.Груз, Заявки.Количество,
Заявки.ЕдИзмерения, Заявки.ГосномерТягача, Заявки.ГосномерПрицепа, Заявки.ДатаВыгрузки,
Заявки.АдресВыгрузки, Заявки.СтоимостьВодители INNER JOIN Заявки ON
Водители.КодВодителя = Заявки.ФИО(((Заявки.ДатаОтгрузки) > = [Начальная
дата] And (Заявки.ДатаОтгрузки) < = [Конечная дата]) AND
((Заявки.ДатаВыгрузки) > = [Начальная дата] And (Заявки.ДатаВыгрузки) < =
[Конечная дата]));
ПРИЛОЖЕНИЕ 3
Поиск заявок по адресу выгрузки
SELECT Заявки.Клиент, Заявки.ФИО,
Заявки.ДатаОтгрузки, Заявки.АдресОтгрузки, Заявки.Груз, Заявки.Количество,
Заявки.ЕдИзмерения, Заявки.ГосномерТягача, Заявки.Стоимость, [Адрес
выгрузки].АдресВыгрузки[Адрес выгрузки] INNER JOIN Заявки ON [Адрес
выгрузки].КодАдресаВыгрузки = Заявки.АдресВыгрузки((([Адрес
выгрузки].АдресВыгрузки) Like [Введите город:] & "*"));
Поиск заявок по государственному
номеру тягача
SELECT Заявки.ФИО, Тягачи.ГосНомер,
Заявки.Клиент, Заявки.Груз, Заявки.Количество, Заявки.ЕдИзмерения,
Заявки.СтоимостьТягачи INNER JOIN Заявки ON Тягачи.Тягач =
Заявки.ГосномерТягача(((Тягачи.ГосНомер) Like ([Введите
госномер]+"*")));
Заявка на общую стоимость перевезок
SELECT DISTINCTROW Заявки.Клиент,
Sum(Заявки.Стоимость) AS [Общая стоимость]ЗаявкиBY Заявки.Клиент;
Поиск заявок по водителям
SELECT Заявки.КодЗаявки, Заявки.Клиент,
Водители.ФИО, Заявки.ДатаОтгрузки, Заявки.АдресОтгрузки, Заявки.Груз, Заявки.Количество,
Заявки.ЕдИзмерения, Заявки.ГосномерТягача, Заявки.ГосномерПрицепа,
Заявки.ДатаВыгрузки, Заявки.АдресВыгрузки, Заявки.СтоимостьВодители INNER JOIN
Заявки ON Водители.КодВодителя = Заявки.ФИО(((Водители.ФИО) Like [Введите
фамилию водителя:] & "*"));
ПРИЛОЖЕНИЕ 4
Запрос по количеству заявок по
водителям
TRANSFORM Count(Заявки.Груз)
AS [Count-Груз]Заявки.ФИО,
Заявки.ГосномерТягача,
Count(Заявки.Груз)
AS [Общее
количество
заявок]ЗаявкиBY
Заявки.ФИО,
Заявки.ГосномерТягача
PIVOT Заявки.Клиент;