Problem Solving with Databases