A completed software solution is like a cake, it has many layers. Rich spongey layers of relational schema and business logic and topped with oh so sweet GUI icing, yum :)
Unfortunately, because software is so much like cake, it is tempting to try and make it like a cake. First Ill design my schema, then Ill do all the business logic stuff then, last of all, Ill build the GUI. ...