Файл: Автоматизация расчёта заработной платы локомотивных бригад.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 241

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Программное обеспечение задачи

Характеристики базы данных

Диаграмма сущность связь

ER модель базы данных “подсчёт зарплаты членов локомотивной бригады”

Рисунок 6 диаграмма сущность связь

Для проектирования ИС была создана модель сущность-связь. В ней определены все основные объекты (сущности) и связи, которые существуют между ними. Были выделены 8 сущностей: профессии, клиенты, состав, заказы, члены локо бригады, локо бригады, грузоперевозки, зарплата.

Атрибуты

Профессии:

  1. ИД профессии
  2. Название
  3. Заработок за день

Члены локо бригады:

  1. ID
  2. ФИО
  3. Профессия
  4. Телефон
  5. Год рождения

Клиенты:

  1. ИД клиента
  2. ФИО
  3. Телефон
  4. Дата рождения
  5. Представителем какой компании является
  6. Почта

Состав:

  1. ИД состава
  2. Название состава
  3. Грузоподъёмность

Заказы:

  1. ИД заказа
  2. Заказчик
  3. Груз
  4. Кол-во составов
  5. Состав
  6. Дата погрузки
  7. Откуда взять груз
  8. Куда доставить

Локо бригады:

  1. ИД
  2. Машинист
  3. Помощник машиниста
  4. Кочегар
  5. Технический помощник

Грузоперевозки:

  1. ИД грузоперевозки
  2. ИД заказа
  3. ИД локо бригады
  4. Дата отъезда подвижного состава
  5. Дата начала грузоперевозки
  6. Дата окончания грузоперевозки
  7. Какая доставка по порядку одного рейса
  8. Дата прибытия локо бригады в ангар

Зарплата:

  1. ИД зарплаты за грузоперевозку
  2. ФИО члена локо бригады
  3. ИД локо бригады
  4. Профессия
  5. ИД грузоперевозки
  6. Зарплата

Между сущностями и атрибутами существуют следующие связи:

  1. Профессии – один ко многим – члены локо бригады.

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

  1. Члены локо бригад – многие к одному – локо бригады.

В каждой локомотивной бригаде есть 4 члена локомотивных бригад.

  1. Клиенты – один ко многим – заказы.

У одного заказа не может быть множество клиентов.

  1. Состав – один к одному – заказы.

В каждом заказе пишется 1 тип составов.

  1. Локо бригады – один ко многим – грузоперевозки

Одна локомотивная бригада может осуществлять множество грузоперевозок


  1. Заказы – многие к одному – грузоперевозки

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

  1. Грузоперевозки – один ко многим – зарплата.

Чтобы подсчитать заработанную плату нужно знать сколько длилась грузоперевозка.

  1. Локо бригады – один ко многим – зарплата.

Чтобы подсчитать заработанную плату нужно знать какая локомотивная бригада совершала ту или иную грузоперевозку.

  1. Члены локо бригады – один к одному – зарплата

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

  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.