Great post, and the other commenters are right - consistency is key.

One thing that bugs me particularly though is where the column names consistently contain the table name. If your table is called user, there really is no need to name your columns user_type, user_class, user_isactive, user_age and so on.