On Software Application Database Constraint-driven Design and Development