What would be the best way do implement this situation in php and mySQL:

I want users to be able to rate and review restaurants. This would mean that their ratings and reviews have to be inserted into the databse. This wouldn't be a problem. My question is, what is the most efficient and SEO friendliest way to show the ratings and reviews per restaurant.

Should I make a script that generate a page for each restaurant? Or should I have one page which gets the data from the database for each company (would that be SEO friendly).