One-to-many: внешний ключ на стороне "многих" (orders.user_id -> users.id). One-to-one: уникальный внешний ключ или общий первичный ключ (users.id = profiles.user_id). Many-to-many: связующая таблица с двумя внешними ключами (users <- user_roles -> roles).