Вы помучиться хотите, что ли, я вот не пойму? ;)
В реляционных СУБД лучше всего работают (внезапно) реляционные модели.
Шаг рецепта — это явно отдельная сущность (у неё другие атрибуты, и неважно, бывают рецепты без шагов (на это тоже можно сделать constraint / trigger, если нужно) или нет).