Найдите классы в которые входит только один корабль из базы данных учесть также корабли в outcomes
Перейти к содержимому

Найдите классы в которые входит только один корабль из базы данных учесть также корабли в outcomes

Упражнение 14 для SQL DML

У меня проблема, на которой я застрял, и я не могу понять, как получить правильный запрос. Итак, во-первых, этот вопрос относится к сайту www.sql-ex.ru и его упражнению 10 в разделе DML.

Вот вся информация:

Краткое описание базы данных «Корабли»:

База данных кораблей, принимавших участие во Второй мировой войне, находится на рассмотрении. База данных имеет следующие отношения:

Корабли в классах подстраиваются под единый проект. Классу обычно присваивается имя первого корабля в рассматриваемом классе (головное судно); в противном случае имя класса не совпадает ни с одним названием корабля в базе данных. Отношение Classes включает в себя имя класса, тип (bb для боевого корабля или bc для линейного крейсера), страну, где был построен корабль, количество основных орудий, калибр орудия (диаметр ствола орудия в дюймах) и водоизмещение (масса в тоннах). Отношение Ships включает имя корабля, его класс и год спуска на воду. Отношение Battles включает название и дату битвы, в которой участвовали корабли; в то время как результат их участия в битве (потоплен, поврежден или невредим — ОК) находится в отношении Outcomes. Примечания: 1) Отношение Outcomes может включать в себя корабли, не включенные в отношение Ships.2) После этого затонувший корабль не может участвовать в боях.

Форум пользователей MySQL

1. Найдите пары классов, имеющих одинаковые калибр орудий и страну. В результате каждая пара указывается только один раз, т.е. (i,j), но не (j,i), Порядок вывода: класс 1, класс 2, калибр орудия и страна. (SELECT)
2. Добавить отсутствующие в таблице Ships головные корабли из Outcomes. Годом спуска на воду считать средний округленный до целого числа год по кораблям страны добавляемого корабля. Если средний год неизвестен, запись не вносить. (DML)
3. Потопить в следующем сражении суда, которые в первой своей битве были повреждены и больше не участвовали ни в каких сражениях. Если следующего сражения для такого судна не существует в базе данных, не вносить его в таблицу Outcomes. Замечание: в базе данных нет двух сражений, которые состоялись бы в один день.(DML)

Рассматривается БД кораблей, участвовавших во второй мировой войне. Имеются следующие отношения:

Battles (name, date)
Classes (class, type, country, numGuns, bore, displacement)
Outcomes (ship, battle, result)
Ships (name, class, launched)

Корабли в «классах» построены по одному и тому же проекту, и классу присваивается либо имя первого корабля, построенного по данному проекту, либо названию класса дается имя проекта, которое не совпадает ни с одним из кораблей. Корабль, давший название классу, называется головным.

Отношение Classes содержит имя класса, тип (bb для боевого (линейного) корабля или bc для боевого крейсера), страну, в которой построен корабль, число главных орудий, калибр орудий (диаметр ствола орудия в дюймах) и водоизмещение ( вес в тоннах). В отношении Ships записаны название корабля, имя его класса и год спуска на воду. В отношение Battles включены название и дата битвы, в которой участвовали корабли, а в отношении Outcomes – результат участия данного корабля в битве (потоплен-sunk, поврежден — damaged или невредим — OK). Замечание. В отношение Outcomes могут входить корабли, отсутствующие в отношении Ships.

Прикрепленные файлы:
Attachment Iconships.txt, Размер: 5,187 байт, Скачано: 773

Упражнения по SQL

SELECT (обучающий этап) задачи по SQL запросам 120 штук, DML 10 шт. Дистанционное обучение языку баз данных SQL. Интерактивные упражнения и тестирование по операторам SELECT,INSERT,UPDATE,DELETE языка SQL. SQL remote education. SQL statements exercises. Подзапросы, Соединение таблиц, Функции SQL, Введение в SQL, Скачать книги по SQL. Команды SQL,CREATE SEQUENCE,CREATE SYNONYM,CREATE USER,CREATE VIEW,Create Table,DROP,GRANT,INSERT,REVOKE,SET ROLE,SET TRANSACTION,SQL ALTER TABLE,SQL команды.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *