Well, anyway it sounds like it's possible, and while it might not be easy, I suppose it's not rocket science, either... or is it?
I reckon that for a first step, it can't hurt to think...
a) how the table is to be composed (how many columns)
b) how many fields are to be "interactive", i.e. get changed automatically once a user downloads a file (download count +1), rates (new average rating calculated automatically) or reviews it (review text added somewhere).
Another question... how is this user rating stuff done, for example? Let's take CSM as an example once more... when there's a new map, the staff rates it, let's say 4, and adds a review. Now 3 more people rate, let's say 2,2 and 4. The new average rating would thus drop to 3. But are there like 20 empty slots for ratings in a kind of table, or are these user ratings kept somewhere else to calculate the up-to-date average?
Pretty much the same goes for the user reviews... is there a certain amount of database entries reserved, or how does it work?
Excuse me, I'm really a n00b at such things...
Another thing we might want to consider is the possibility to delete user ratings / reviews. Look at CSM: Sometimes a map gets bad scores just because some brain-damaged kiddie stops by, writes "Hello I'm Dave" into the review field and rates the map 0-0-0-0-0...>

If I were member of the CSM crew, I'd delete such nonsense.