single table or different tables
Please have a look at the basics of Database normalization. In a very general way, 1:N relationships usually end up being represented as 2 tables. That is, if we have several products, and each product can have several reviews, we would create two tables, one for products and another for reviews, and we would link the reviews by using a product_id key (containing the primary key of the product). Same would apply for images, assuming there is a 1:N relationship with product and not a 1:1 relationship with review.

When querying for data, we need to join both tables for obtaining full results.

Please note that sometimes a non-normal form can be used, merging several tables in one. This sacrifices maintainability (potential duplicate data problems, among others, forcing extra work outside of the database scope) for performance, but that is a question of optimisation, not design phase.