Questa è una tecnica molto comune. Viene utilizzato per memorizzare dati gerarchici (chiamati ricorsivi) all'interno di un db.
Tuttavia dovrai gestire l'integrità della tua applicazione, perché non è possibile utilizzare una chiave esterna, poiché la relazione è condizionata al flag isRecipe.