Выражение запросов реляционного исчисления и алгебры на простом английском языке для пассажиров, полетов и поездок в экономику

У меня есть это заявление:

И этот:

Как мне конвертировать их в простой английский?

Вот степень моего понимания:

Для первого, я думаю, что он выбирает p_id, где существуют f_no1, f_date и f_no2 из объединенных таблиц Flight и Trip.

Второй сбивает с толку; Я знаю, что он делает, но я не знаю, как преобразовать его в простой английский. Естественно объединить таблицы поездок, рейсов и пассажиров, а затем выбрать строки из этой итоговой таблицы, в которой класс является бизнесом. Из строк, в которых класс является бизнесом, он затем выбирает только строки, конечным пунктом назначения которых является Лос-Анджелес, а затем из этих строк выбирает идентификатор и имя пассажира. Так что я думаю, что английский перевод будет выглядеть примерно так: "Получить имя и идентификатор пассажира, направляющегося в Лос-Анджелес в бизнес-классе", но я не уверен.

1 ответ

Решение

Реляционное исчисление

Вы на правильном пути.

  • Свободная переменная: p_id (определяет вашу структуру вывода)
  • Ограниченные переменные: f_no1, f_no2, f_date

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

Обратите внимание, что f_date а также p_id переменные одинаковы в обеих строках, тогда как f_no отличается. Это означает, что есть два отдельных рейса, которые выполняются в один и тот же день с одним и тем же пассажиром на обоих. Первая строка указывает путешествие из Рапануи в Папеэте, а вторая строка указывает путешествие из Папеэте в Окленд. Обе эти поездки также должны удовлетворять требованию путешествовать через эконом класс.

Соберите эту информацию вместе, этот запрос запрашивает p_id где это p_id путешествует из Рапнуи в Окленд через Папеэте в один и тот же день, причем оба они в экономическом классе.

Реляционная алгебра

У вас там почти все есть. Запрос выбирает p_id и p_name всех пассажиров, которые прилетели в Лос-Анджелес в бизнес- классе.

Другие вопросы по тегам