Fai una sottoclasse quando una classe è talmente complicata, e chiamare i suoi metodi per fare ciò che vuoi fare è talmente lungo, che ti conviene astrarre anche su questo.I cosiddetti helper objects, che si interfacciano con altre classi per renderne più facile l' uso.Secondo me ha senso se la classe database è così complessa che ne serve un' altra per permetterne gli inserimenti.