This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
Database first. Always. The data model can outlast the client program by decades; your data integrity is key, if it is well designed it protects against corruption through accident or incompetence. Relational databases are also designed to work well with properly normalized data.