I would like to know your thoughts on how to model votes for product reviews. If you have done any online shopping you might have noticed that many product reviews have an "x people out of x found this review helpful."
Assuming many customers will review many products, and many customers will vote on many reviews, is it best to have one table with totalVotes and helpfulVotes columns as such:
customerReviews(id, customerId, productId, reviewText, totalVotes, helpfulVotes)
Or have two tables, the second storing votes separately, as such:
customerReviews(id, customerId, productId, reviewText)
reviewVotes(id, reviewId, customerId, helpfull) (helpfull would be a 0,1 value)
Your thoughts are appreciated it. Another assumption here is that to vote a customer must be a member.