Файл: Автоматизация расчёта заработной платы локомотивных бригад.pdf
Добавлен: 01.04.2023
Просмотров: 241
Скачиваний: 4
СОДЕРЖАНИЕ
1. Технико-экономическая характеристика предметной области и предприятия.
1.1. Характеристика предприятия и его деятельности
1.2. Организационная структура управления предприятием
2. Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов
Информационное обеспечение задачи
Программное обеспечение задачи
Характеристики базы данных
Диаграмма сущность связь
ER модель базы данных “подсчёт зарплаты членов локомотивной бригады”
Рисунок 6 диаграмма сущность связь
Для проектирования ИС была создана модель сущность-связь. В ней определены все основные объекты (сущности) и связи, которые существуют между ними. Были выделены 8 сущностей: профессии, клиенты, состав, заказы, члены локо бригады, локо бригады, грузоперевозки, зарплата.
Атрибуты
Профессии:
- ИД профессии
- Название
- Заработок за день
Члены локо бригады:
- ID
- ФИО
- Профессия
- Телефон
- Год рождения
Клиенты:
- ИД клиента
- ФИО
- Телефон
- Дата рождения
- Представителем какой компании является
- Почта
Состав:
- ИД состава
- Название состава
- Грузоподъёмность
Заказы:
- ИД заказа
- Заказчик
- Груз
- Кол-во составов
- Состав
- Дата погрузки
- Откуда взять груз
- Куда доставить
Локо бригады:
- ИД
- Машинист
- Помощник машиниста
- Кочегар
- Технический помощник
Грузоперевозки:
- ИД грузоперевозки
- ИД заказа
- ИД локо бригады
- Дата отъезда подвижного состава
- Дата начала грузоперевозки
- Дата окончания грузоперевозки
- Какая доставка по порядку одного рейса
- Дата прибытия локо бригады в ангар
Зарплата:
- ИД зарплаты за грузоперевозку
- ФИО члена локо бригады
- ИД локо бригады
- Профессия
- ИД грузоперевозки
- Зарплата
Между сущностями и атрибутами существуют следующие связи:
- Профессии – один ко многим – члены локо бригады.
У многих членов локомотивных бригад есть одна и та-же профессия.
- Члены локо бригад – многие к одному – локо бригады.
В каждой локомотивной бригаде есть 4 члена локомотивных бригад.
- Клиенты – один ко многим – заказы.
У одного заказа не может быть множество клиентов.
- Состав – один к одному – заказы.
В каждом заказе пишется 1 тип составов.
- Локо бригады – один ко многим – грузоперевозки
Одна локомотивная бригада может осуществлять множество грузоперевозок
- Заказы – многие к одному – грузоперевозки
В одной грузоперевозке могут быть множество разных составов и, следовательно, заказов.
- Грузоперевозки – один ко многим – зарплата.
Чтобы подсчитать заработанную плату нужно знать сколько длилась грузоперевозка.
- Локо бригады – один ко многим – зарплата.
Чтобы подсчитать заработанную плату нужно знать какая локомотивная бригада совершала ту или иную грузоперевозку.
- Члены локо бригады – один к одному – зарплата
Чтобы подсчитать заработанную плату нужно знать какому члену локомотивной бригады считать зарплату.
- Профессии – один ко многим – зарплата
Чтобы подсчитать заработанную плату нужно знать сколько член локомотивной бригады должен получать в сутки по своей профессии.
Контрольный пример реализации
Схема данных “Подсчёт заработной платы локомотивных бригад”
Рисунок 7 Схема данных «подсчёт заработной платы локомотивных бригад»
Описание таблиц
Таблица 3.1 “Профессии”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД профессии |
Ключ |
Счетчик |
|
Название |
- |
Длинный текст |
|
Заработок за день |
- |
Денежный |
Таблица 3.2 “Клиенты”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД клиента |
Ключ |
Счетчик |
|
ФИО |
- |
Короткий текст |
|
Телефон |
- |
Короткий текст |
|
Дата рождения |
- |
Дата и время |
|
Представитель какой компании |
- |
Длинный текст |
|
Почта |
- |
Короткий текст |
Таблица 3.3 “Состав”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД состава |
Ключ |
Счетчик |
|
Название состава |
- |
Короткий текст |
|
грузоподъёмность (в тоннах) |
- |
Короткий текст |
Таблица 3.4 “Члены локо бригады”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ID |
ключ |
Счетчик |
|
ФИО |
- |
Короткий текст |
|
Профессия |
- |
Мастер подстановок |
|
Телефон |
- |
Короткий текст |
|
Год рождения |
- |
Дата и время |
|
Адрес |
- |
Короткий текст |
Таблица 3.5 “Заказы”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД заказа |
Ключ |
Счетчик |
|
Заказчик |
- |
Мастер подстановок |
|
Груз |
- |
Короткий текст |
|
Кол-во составов |
- |
Числовой |
|
Состав |
- |
Мастер подстановок |
|
Дата погрузки |
- |
Дата и время |
|
Откуда взять груз |
- |
Длинный текст |
|
Куда доставлять |
- |
Короткий текст |
Таблица 3.6 “Локо бригады”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД |
Ключ |
Счетчик |
|
Машинист |
- |
Мастер подстановок |
|
Помощник машиниста |
- |
Мастер подстановок |
|
Кочегар |
- |
Мастер подстановок |
|
Технический помощник |
- |
Мастер подстановок |
Таблица 3.7 “Грузоперевозки”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
ИД грузоперевозки |
Ключ |
Счётчик |
|
ИД заказа |
- |
Мастер подстановок |
|
ИД локо бригады |
- |
Мастер подстановок |
|
Дата отъезда подвижного состава |
- |
Дата и время |
|
Дата начала грузоперевозки |
- |
Дата и время |
|
Дата окончания грузоперевозки |
- |
Дата и время |
|
Какая доставка по порядку одного рейса |
- |
Числовой |
|
Дата прибытия локо бригады в ангар |
- |
Дата и время |
Таблица 3.8 “Зарплата”
|
Наименование поля |
Идентификатор поля |
Тип поля |
|
Ид зарплаты за грузоперевозку |
Ключ |
Счётчик |
|
ФИО члена локо бригады |
- |
Мастер подстановок |
|
ИД локо бригады |
- |
Мастер подстановок |
|
профессия |
- |
Мастер подстановок |
|
ИД грузоперевозки |
- |
Мастер подстановок |
|
Зарплата |
- |
Денежный |
Исходные коды запросов SQL
Заказы которые идут от ангаров с вагонами:
SELECT Заказы.[ИД заказа], Заказы.Заказчик, Заказы.Груз, Заказы.[Кол-во составов], Заказы.Состав, Заказы.[Откуда взять груз], Заказы.[Куда доставлять]
FROM Заказы
Зарплата сотрудников отсортировав по локо бригадам:
WHERE (((Заказы.[Откуда взять груз])="Москва"));
SELECT Зарплата.[ИД локо бригады], Зарплата.[ФИО члена локо бригады], Зарплата.профессия, Зарплата.Зарплата
FROM Зарплата
ORDER BY Зарплата.[ИД локо бригады];
Запрос на добавление нового клиента:
INSERT INTO Клиенты ( ФИО, Телефон, [Дата рождения], [Представитель какой компании], Почта )
SELECT [Введите ФИО клиента] AS Выражение1, [Введите номер телефона клиента] AS Выражение2, [Введите дату рождения клиента] AS Выражение3, [Представителем какой компании выступает клиент] AS Выражение4, [Введите почту клиента] AS Выражение5;
Удаление уволенного члена локо бригады:
DELETE [Члены локо бригады].ID
FROM [Члены локо бригады]
WHERE ((([Члены локо бригады].ID)=[Введите ID члена локо бригады]));
Функционирование системы
На рисунках представлена работа с запросом “Удаление уволенного члена локо бригады”. При запуске данного запроса появляется окно, в которое необходимо ввести ИД сотрудника которого нужно удалить, т.к. он больше не работает на нашу организацию.
Рисунок 8 Работа с запросом «Удаление уволенного члена локо бригады»
После удаления № 5 в нашем списке нет сотрудника под данным номером.
Рисунок 9 Таблица “Члены локо бригады” после удаления сотрудника под ID 5.