Hi,
I'm pretty new to it too, but as I understand it your best bet is to denormalise your table.
So your table that contains the recipe would also contain a total rating and number of ratings column.
When you insert a new rating, you increment the rating count and the total as expected for the recipe.
When you want to display a recipe's average rating you can simply get one row, the recipe row, and then do total / count to give you the average.
Of course if you are allowing people to adjust their ratings you will also want to insert a Recipe to user link, exactly as you already do, so you can find the users existing rating if they are looking at their own rating, and adjusting the rating is the case of reducing the total by the old rating, and adding the new rating to the total for the recipe.
Hope that's a clear explanation.
Michael Brunton-Spall
--
Michael Brunton-Spall