If one finds the quintessence of the problem, one will have better access to an irreducible solution.
How important is good database design for a web app? Oh, about as important as a good frame is for a car. While its possible for a car to function with a bad frame, who would want to drive it, much less own it? Likewise, a poorly designed database structure (schema) may work, but it won't be efficient, and will likely suffer from a range of weaknesses, everything from poorly implemented normalization, to lack of optimization, to weak scalability. And because these weaknesses are at the foundational level of the app, they'll likely be difficult or impossible to correct later without substantial refactoring.
What separates good database design from bad?
That's a huge subject. One that no doubt is the subject of many a doctoral dissertation and hotly debated among the theoreticians. But it really boils down to something basic. How simply does the database model the data while still meeting the needs of the project?
It's all about planning.
What are the needs of the project? That will always be the first question asked by the database designer. And it's usually the hardest one to pin down. Generally it's impossible to predict every need that a database design will have to fulfill and every possible issue that is ever likely to occur. Extensitily is the key. With proper planning likely future scenarios can be anticipated and the database structure can be designed to allow for future growth.
Database design and implementation is the foundation of nearly every business application and good design requires thorough practical knowledge of todays database technologies. At Avatar our database specialists have designed and built a heck of a lot of databases, everything from simple lookup systems to full-blown CMS and large scale cloud-based e-commerce implementations. This wide experience with a full range of projects gives them the expertise to tackle nearly any database design job.