Смекни!
smekni.com

Информационная система управления заявками в автосервисе (стр. 1 из 2)

1. Пояснительная записка к работе

1.1 Техническое задание

Информационная система управления заказами в автосервисе

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

В соответствии с поставленными требованиями система должна содержать три блока таблиц:

1. таблицы, описывающие заказчиков, автомобили и дисконтные карты. В этот блок включается информация об автомобилях и их владельцах;

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

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

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

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


1.2 Цель и задачи курсового проектирования

В процессе выполнения этого курсового проекта по дисциплине «Базы данных и банки знаний» ставились следующие цели:

· закрепить и углубить теоретические знания по данной дисциплине;

· научиться самостоятельно проектировать базы данных масштаба отдела предприятия;

· развить и закрепить навыки самостоятельного использования специальной технической и справочной литературы.

1.3 Схема данных

1.4 Таблицы

Таблицы базы данных можно разделить на 2 группы:

· оперативная таблица: содержимое оперативной таблицы меняется с течением времени с некоторой периодичностью (час, день, неделя)

· таблица-справочник: содержимое справочников с точки зрения оперативной работы - по смыслу является условно-постоянной информацией.

В имеющейся базе данных таблицы можно разделить по данному критерию следующим образом:

1. Справочники:

· Мастера (первичный ключ -КодМастера)- хранит информацию о мастерах (Ф.И.О., адрес, телефон и т.д.), которые работают в автосервисе;

· Используемое оборудование (первичный ключ- КодОборудования) – хранит информацию о оборудовании, находящемся в автосервисе (название оборудования, стоимость, гарантия и т.д.);

· Виды работ (первичный ключ- КодВидаРабот)- хранит информацию об услугах, предоставляемых автосервсом ( наименование, стоимость, срок и т.д.);

2. Оперативные таблицы:

· Автомобили (ключевое поле- КодАвтомобиля)- хранит информацию о автомобилях (марка, год выпуска, номер двигателя и т.д.);

· Владельцы (ключевое поле КодВладельца) – хранит информацию о владельцах автомобилей, сделавших заказ (ФИО, адрес, номер паспорта и т.д.);

· Дисконтная карта (ключевое поле КодКарты)- хранит информацию о картах, которые заводятся на автовладельцев, сделавших заказ (дата приобретения, сумма скидки);

· Заказы (ключевое поле - КодЗаказа)- хранит информацию о заказах, сделанных клиентами автосервиса (номер заказа, код автомобиля, дата поступления и т.д.);

· Услуги заказа (ключевое поле Номер паспорта)- хранит информацию о клиентах, пользующихся услугами данного магазина: фамилия, имя, отчество, дата рождения, номер телефона, адрес;

· Новые автозапчасти (ключевое поле КодЗапчасти) – хранит информацию о доставке товара, а именно: стоимость, дата поставки, и т.д.

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

Связи между таблицами

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

Отношение «один-ко-многим». Это значит, что каждой записи из таблицы «с одним» соответствует несколько записей из таблицы «со многим». В нашем случае наглядным примером этого типа связи служит отношение между таблицами «Мастера» и «Услуги заказа»: один и тот же мастер мог принимать участие в различных работах (заказах).

Отношение «многие-ко-многим» При таком отношении одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы. ключ которой состоит из, по крайней мере, двух полей, которые являются полями внешнего ключа в таблицах А и В.

Примером такой связи (в моей базе данных) является связь между таблицами «Владельцы» и «Автомобили», а таблица «Заказы» является связующей. У одного владельца может быть несколько автомобилей, которые зарегистрированы в автосервисе.

1.5 Формы

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

Все формы в данной базе можно условно разбить на три группы:

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

Такой формой является «Главная форма» (внешний вид формы представлен в разделе «Руководство пользователя»).

2) формы без подчиненности данных, т.е. те, которые связаны только с одной (справочной) таблицей.

Такими формами являются: «Мастера», «Новые автозапчасти», «Виды работ», «Автомобили», «Наличие автозапчастей» и др. Они позволяют просматривать и редактировать справочную информацию.

3) формы, построенные на основе запросов.

К ним относится главнейшая форма проекта – форма «Оформление заказа». Условно подчиненные формы выполнены в виде вызываемой формы «Услуги заказа» и вкладок «Владельцы» и «Автомобили». На основе запросов формы создаются, в первую очередь, для обеспечения оптимальной наглядности представляемых данных, а также для удобств ввода и контроля информации.

1.6 Запросы

Существует несколько типов запросов:

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

· ЗапросУслугиЗаказа - выводит список заказов.

· Запрос2 – выводит информацию о автомобилях и владельцах.

· ЗапросВыполненныхРабот – выводит заказы, установленные новые запчасти, цены.

2. Запрос на создание таблицы:

· Заказы сегодня – создает одноименную таблицу в базе данных с ФИО заказчиков и номерами их паспортов, сделавших заказы в день запуска запроса.

3. Запрос на обновление:

· Обновление оборудования – обновляет коэффициент загрузки используемого оборудования. Приз запуске предлагается ввести название оборудования, у которого необходимо изменить коэффициент загрузки и значение, на которое его необходимо изменить.

4. Запрос на добавление:

· Добавление – добавляет новые записи в базу данных Автомобили и Владельцы.

5. Перекрестный запрос:

· Новые автозапчасти - выводит таблицу с полями Дата поставки и Наименование Запчасти, значениями которой служит стоимость товара.

6. Запрос на удаление:

· Удаление – удаляет записи из таблиц Автомобили и Владельцы.

7. Запрос на объединение:

● Номера телефонов – объединяет таблицы Мастера и Владельцы, выводит ФИО и номера телефонов.

8. Запрос с агрегирующей функцией:

● Общая стоимость – суммирует стоимость установленных новых запчастей и стоимость работ. Кроме того суммирует общие стоимости одинаковых номеров заказов.

Запросы на языке SQL.

1. ЗапросУслугиЗаказа»

SELECT DISTINCTROW [Услуги заказа]. Номер Заказа, Заказы. Дата Поступления, Автомобили. Марка Автомобиля, Автомобили.ТехПаспорт, Заказы.КодВладельца, [Услуги заказа]. Вид Работы, [Виды работ]. Стоимость Работы, [Услуги заказа]. Установленные Новые апчасти AS Выражение1, [Новые автозапчасти]. Стоимость Запчасти AS Выражение2, Sum ([Виды работ]. Стоимость Работы+[Новые автозапчасти]. Стоимость Запчасти) AS Стоимость Заказа

FROM [Новые автозапчасти], (Владельцы INNER JOIN (Автомобили INNER JOIN Заказы ON Автомобили. Код Автомобиля = Заказы. Код Автомобиля) ON Владельцы. Код Владельца = Заказы Код Владельца) INNER JOIN ([Виды работ] INNER JOIN [Услуги заказа] ON [Виды работ].КодВидаРаботы = [Услуги заказа].ВидРаботы) ON Заказы. Номер Заказа = [Услуги заказа]. НомерЗаказа

GROUP BY [Услуги заказа]. Номер Заказа, Заказы. Дата Поступления, Автомобили. Марка Автомобиля, Автомобили. ТехПаспорт, Заказы. Код Владельца, [Услуги заказа]. Вид Работы, [Виды работ]. Стоимость Работы, [Услуги заказа]. Установленные Новые Запчасти, [Новые автозапчасти]. Стоимость Запчасти

HAVING ((([Услуги заказа]. Номер Заказа) = [Forms] ! [ОформлениеЗаказа] ! [НомерЗаказа]));

2. «Автомобили Владельцы»

SELECT Автомобили.*, Заказы. Код Владельца, Владельцы .Водительское Удостоверение

FROM Владельцы INNER JOIN (Автомобили INNER JOIN Заказы ON Автомобили. Код Автомобиля = Заказы. Код Автомобиля) ON Владельцы. Код Владельца = Заказы. Код Владельца;

3. «Запрос Выполненных Работ»

SELECT Заказы. Дата Поступления, Автомобили. Марка Автомобиля, Владельцы. Фамилия Владельца, Владельцы. Имя Владельца, [Виды работ]. Вид Работы, [Виды работ]. Стоимость Работы, [Новые автозапчасти]. Наименование Запчасти, [Новые автозапчасти].Стоимость Запчасти

FROM [Новые автозапчасти] INNER JOIN ((Владельцы INNER JOIN (Автомобили INNER JOIN Заказы ON Автомобили. Код Автомобиля = Заказы.КодАвтомобиля) ON Владельцы. Код Владельца = Заказы. Код Владельца) INNER JOIN ([Виды работ] INNER JOIN [Услуги заказа] ON [Виды работ]. Код Вида Работы = [Услуги заказа].ВидРаботы) ON Заказы. Номер Заказа = [Услуги заказа]. Номер Заказа) ON [Новые автозапчасти]. Код Автозапчасти = [Услуги заказа]. Установленные Новые Запчасти;