Соответствующая таблица:Реляционная алгебра, как я могу выбрать два условия?
ПОЕЗД (поезд-код, поезд типа, выезд-станция назначения станция)
Список деталей поездов, которые отправляются из Лондона и предназначенных для KENT.
Вопрос очень прост, и я везде искал базовый ответ, но не могу его найти.
Это то, что я придумал до сих пор, но я не знаю, если это правильно или, если и может использоваться даже в реляционной алгебре:
SELECT TRAIN WHERE departure-station = 'LONDON' AND destination-station = 'KENT'
Является ли это правильно? Я не могу найти какую-либо информацию в Интернете о том, можете ли вы использовать И для этого. Если это не сработало, я думаю, что мой ответ должен быть чем-то вроде этого:
SELECT TRAIN WHERE departure-station = 'LONDON' GIVING TABLE1
SELECT TRAIN WHERE destination-station = 'KENT' GIVING TABLE2
PROJECT TABLE1 OVER train-code GIVING TABLE3
PROJECT TABLE2 OVER train-code GIVING TABLE4
TABLE1 INTERSECT TABLE2 GIVING TABLE3
PROJECT TABLE3 OVER train-code, train-type, departure-station, destination-station GIVING RESULT
Это кажется, что это было бы слишком долго для меня, и может быть неправильным в любом случае. Может быть, мне нужно использовать команду JOIN? Я действительно не знаю, хотя это такой простой вопрос. Может кто-нибудь мне помочь?
Это будет работать с фактической базой данных, но я должен записать ответ на этот вопрос на бумаге, изучая для теста реляционной алгебры. Я не знаю, можно ли это использовать в реляционной алгебре, которая отличается от кода SQL, хотя она часто выглядит аналогичной. – JadstaSeven
не выглядел бы что-то вроде 'σ (departure-station = 'LONDON'∧destination-station =' KENT '(TRAIN))' и переводит (зависит от запроса) на 'SELECT * FROM TRAIN WHERE departure-station =' LONDON ' И destination-station = 'KENT'' ?? – Carlton
Возможно, это было бы правильно, но я нахожусь в Великобритании, и, к сожалению, нас учат этому материалу по-другому, что означает, что мы не используем сигма-нотацию или что-то в этом роде, просто SELECT, PROJECT, DIVIDEBY и т. Д. Мы даже не пишите SELECT, мы используем RESTRICT, хотя это одно и то же, но просто вызывает больше путаницы для других в Америке, например, кто использует SELECT и разные обозначения. Поэтому это делает мой вопрос несколько более запутанным, если вы не из Великобритании:/ – JadstaSeven