Just some comments from our experience:
1.) we might want to have one column for the rating and another for the reading of a page... This way we can combine: how many times read + avg rating + how many times rated...
2.) we might want to build a trigger that variably updates other tables like bboard with avg_rating + n_readings + n_ratings so that you don't bust the db, whenever you want to show avg_rating for every post...
There is a similar implementation within 3.2.5 general_links...