«Пользователь удалён», если связать две таблицы внешним ключом, то получится один к одному или один ко многим. Можете привести пример схемы для создания отношения многие ко многим без промежуточной таблицы и запросов к ней?
«Пользователь удалён», попробуйте без промежуточной таблицы создать два заказа каждый из которых включает в себя все три элемента, и торт, и пирожное, и пирожок.
«Пользователь удалён», обычно, в таблице заказов хранят ещё много полей, типа времени создания заказа, итоговой суммы, адреса доставки и т.п. Что будем делать с этим, дублировать эту информацию в каждой строке? Когда надо будет менять например статус заказа, как выбрать в каких конкретно строках его поменять? Когда строк станет много, что будем делать с отстуствием уникального индекса на OrderNumber?