1. Пояснительная записка к работе
1.1 Техническое задание
Информационная система управления заказами в автосервисе
Заданием данного курсового проекта является разработка системы по учету, хранению, анализу информации о персонале автосервиса, поставках автозапчастей, клиентах, заказах, а также информацию о услугах, предоставляемых автосервисом и сроках их выполнения.
В соответствии с поставленными требованиями система должна содержать три блока таблиц:
1. таблицы, описывающие заказчиков, автомобили и дисконтные карты. В этот блок включается информация об автомобилях и их владельцах;
2. таблицы, описывающие структуру автосервиса. Здесь будет содержаться информация о мастерах, предоставляемых услугах, используемом оборудовании;
3. таблицы, описывающие заказы автосервиса. Сюда будет включаться информация о сделанных заказах, сведения о поставке новых автозапчастей.
Все три блока таблиц должна быть связаны между собой, то есть должна быть выстроена четкая, логически правильная структура связей между ними.
Следуя описанным требованиям, система должна иметь достаточно подробную информацию по каждой таблице настоящей базы данных. По имеющимся данным пользователь базы данных должен наиболее быстро находить нужную для него информацию, не прилагая особых усилий вносить новые и изменять уже существующие данные.
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 [Новые автозапчасти]. Код Автозапчасти = [Услуги заказа]. Установленные Новые Запчасти;
4. «Запрос На Создание»
SELECT Владельцы. Фамилия Владельца, Владельцы. Имя Владельца, Владельцы. Отчество Владельца, Владельцы. Паспортные Данные INTO [Заказы сегодня]
FROM Владельцы INNER JOIN Заказы ON Владельцы. Код Владельца=Заказы. Код Владельца
WHERE (((Date())=Заказы Дата Поступления))
ORDER BY Владельцы. Фамилия Владельца;
5. «Запрос На Объед Владельцы Мастера»
SELECT Имя Владельца, Фамилия Владельца, Отчество Владельца, Телефон, "Владелец" AS [Отношения]
FROM Владельцы
UNION SELECT Имя Мастера, Фамилия Мастера, Отчество Мастера, Телефон Домашний, "Мастер"
FROM Мастера;
6. «Запро Добавление Авто»
INSERT INTO Автомобили
VALUES ([Введите код автомобиля:], [Введите марку автомобиля:], [Введите регистрационный номер:], [Введите номер тех паспорта:], [Введите цвет авто:], [Введите год выпуска:], [Введите номер двигателя:], [Введите номер кузова:], [Введите номер шасси:]);
7. «Запрос Удаление Авто»
DELETE *
FROM Автомобили
WHERE Регистрационный Знак=[Введите регистрационный знак:];
8. «Запрос Обновление Оборуд»
UPDATE [Используемое обородование] SET [КоэффициентЗагрузки, %] = [Введите новое значение коэффициента загрузки данного оборудования]
WHERE ((НаименованиеОборуд)=[Введите наименование оборудования]);
9. «Запрос Общая Стоимость»
SELECT Фамилия Владельца, Имя Владельца, SUM( Стоимость Работы+Стоимость Запчасти) AS [Общая стоимость]
FROM Запрос Выполненных Работ
GROUP BY Фамилия Владельца, Имя Владельца;
10. «Запрос Перекрестный»
TRANSFORM SUM([Новые автозапчасти].СтоимостьЗапчасти) AS [Sum-Стоимость Запчасти]
SELECT [Новые автозапчасти]. Наименование Запчасти
FROM [Новые автозапчасти]
GROUP BY [Новые автозапчасти]. Наименование Запчасти
PIVOT [Новые автозапчасти]. Дата Поставки;
3. «Заказы сегодня» - выводит список клиентов, сделавших заказы сегодня;
4. «Мастера» - выводит список сотрудников, работающих в автосервисе.