Как ссылаться на поля в другой таблице

У меня есть две таблицы с такими полями:

Product: Id, name,price

User: Id, name,address

Я хочу сделать 3 таблицу Orders, которая будет ссылаться на столбы из других таблиц:

name(product), price, name(user), address, date

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


Ответы (1 шт):

Автор решения: Akina

Явное непонимание сути происходящего.

Есть внешние ключи. Они устанавливают правила контроля. Руководствуясь этими правилами, сервер не даёт установить ссылку на несуществующее значение. Как правило, все СУБД требуют, чтобы внешний ключ ссылался на уникальное поле - для исключения неоднозначности ссылки. Это происходит на этапе сохранения данных в таблицах.

Есть связывание таблиц в запросах. При этом в тексте запроса указывается выражение, при положительном (TRUE) значении которого записи из таблиц объединяются. Выражение может, но не обязано, соответствовать выражению внешнего ключа, когда он существует. Это происходит на этапе обработки (например, при получении) уже хранящихся в таблицах данных.

→ Ссылка