Автор: | Лунев Александр, Монастырный Иван | Ограничение времени: | 1 сек | |
Входной файл: | test.sql | Ограничение памяти: | 256 Мб | |
Выходной файл: | test.log | |||
Максимальный балл: | 1 |
В момент нападения врага на наш пункт контроля, командир Женя обратил внимание, что на самом пункте не было достаточного количества вооружения.
На что Женя воскликнул «Где боеприпасы?».
Похоже, большое количество оружия находится на других точках. Жене необходимо провести запрос, чтобы узнать точное количество оружия на точках и решить, сколько и откуда можно взять вооружения для поддержки точки контроля.
CREATE TABLE BattlePoints
(
point_id INT PRIMARY KEY,
point_name VARCHAR(255),
point_type_id INT,
FOREIGN KEY (point_type_id) REFERENCES BattlePointTypes (point_type_id)
);
CREATE TABLE BattlePointTypes
(
point_type_id INT PRIMARY KEY,
point_type_name VARCHAR(255)
);
CREATE TABLE Weapons
(
weapon_id INT PRIMARY KEY,
weapon_name VARCHAR(255),
weapon_type VARCHAR(255)
);
CREATE TABLE WeaponsOnBattlePoints
(
record_id INT PRIMARY KEY,
point_id INT,
weapon_id INT,
quantity INT,
FOREIGN KEY (point_id) REFERENCES BattlePoints (point_id),
FOREIGN KEY (weapon_id) REFERENCES Weapons (weapon_id)
);
CREATE TABLE WeaponResponsibilities
(
responsibility_id INT PRIMARY KEY,
point_id INT,
responsible_person_id INT,
FOREIGN KEY (point_id) REFERENCES BattlePoints (point_id),
FOREIGN KEY (responsible_person_id) REFERENCES Employees (employee_id)
);
CREATE TABLE Employees
(
employee_id INT PRIMARY KEY,
first_name VARCHAR(255),
last_name VARCHAR(255)
);
Схема БД в UML-нотации:
Результатом выполнения запроса должен быть список кортежей
(PointTypeName, TotalQuantity, MostCommonWeapon, MostCommonWeaponType)
,
отсортированный по убыванию значений поля TotalQuantity.
Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.
Предполагается, что для работы с базой данных используется SQLite3.