Загрузка данных


Да. Для защиты будет хорошо, если заполнение соответствует таблице из задания.

Сначала типы авто:

INSERT INTO car_types(type_name, markup)
VALUES
('эконом', 50),
('бизнес', 100);

Водители:

INSERT INTO drivers(phone)
VALUES
('+7(999)111-11-11'),
('+7(999)444-44-44'),
('+7(999)222-22-22'),
('+7(999)333-33-33');

Автомобили:

INSERT INTO cars
(plate_number, type_id, tariff_km, tariff_min)
VALUES
('А111ВВ', 1, 5, 8),
('С444РР', 1, 5, 8),
('А222ВВ', 2, 6, 10),
('К333ТТ', 2, 6, 10);

Поездки:

INSERT INTO trips
(
trip_id,
start_time,
end_time,
distance_km,
status,
driver_id,
car_id
)
VALUES

(
'П1',
'2025-10-15 08:00:00',
'2025-10-15 08:30:00',
20,
'выполнена',
1,
1
),

(
'П2',
'2025-10-15 09:00:00',
'2025-10-15 09:20:00',
21,
'выполнена',
2,
2
),

(
'П3',
'2025-10-15 10:00:00',
'2025-10-15 11:10:00',
70,
'выполнена',
3,
3
),

(
'П4',
'2025-10-15 09:40:00',
'2025-10-15 10:20:00',
45,
'выполнена',
3,
3
),

(
'П5',
'2025-10-15 20:00:00',
'2025-10-15 20:55:00',
55,
'выполнена',
1,
1
),

(
'П6',
'2025-10-15 18:00:00',
'2025-10-15 18:30:00',
25,
'выполнена',
1,
1
),

(
'П7',
'2025-10-15 19:00:00',
'2025-10-15 19:40:00',
30,
'отменена',
1,
1
),

(
'П8',
'2025-10-16 09:40:00',
'2025-10-16 10:20:00',
45,
'выполнена',
4,
4
),

(
'П9',
'2025-10-16 18:00:00',
'2025-10-16 18:30:00',
25,
'выполнена',
2,
2
),

(
'П10',
'2025-10-16 19:00:00',
'2025-10-16 19:40:00',
30,
'отменена',
1,
1
);

После вставки данных вызови процедуру для расчёта стоимости:

CALL CalculateTripCost('П1');
CALL CalculateTripCost('П2');
CALL CalculateTripCost('П3');
CALL CalculateTripCost('П4');
CALL CalculateTripCost('П5');
CALL CalculateTripCost('П6');
CALL CalculateTripCost('П8');
CALL CalculateTripCost('П9');

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

Поездка	Стоимость

П1	390
П2	315
П3	1220
П4	770
П5	765
П6	415
П8	770
П9	415


(для отменённых П7 и П10 процедура сделает ROLLBACK и стоимость не запишется).

Единственное: в номерах машин на фото используются русские буквы (А111ВВ, С444РР и т.д.). В MySQL лучше хранить их как VARCHAR(10) в кодировке UTF-8, тогда проблем не будет.