Some people recommend that we create the database first and then we create the application interface and logic to handle that.
What's your opinion?
Well, if it is some client/server SQL stuff, I usually develop GUI and DB together.
Sometimes even going so far that I design dialog layout first, then copy dialog widget ids into .sch file and make a SQL table out of it.
Generally, I always liked to create simple skeleton app first, then continually add features, improving things in all parts.
I do not even care too much about requirements. Usually it is faster for me to create more iterations of code - usual problem being is that to interrogating users about requirements is time consuming process, but it is much easier to them to tell you what is wrong with the application (something they can see and try to use).