It is or it isn’t depending on what the app needs to do, how you decide you wish to do it…
In most of my apps I rarely have a “class” that corresponds to a database tables structure… as in almost never
Like Tim, we almost always have a class that represents the table. ActiveRecord/ARGen, our database abstraction utility, does that for us. Takes the database schema and with the click of a button turns it into classes with properties matching the db fields.