The unfortunate reality is that many web developers neglect to spend adequate time on database design/modelling, assuming that a database is only used as a data store.
Poor database design, choice of database vendor and/or database engine along with inefficient SQL queries can lead to many problems:
This can all be avoided by properly planning the database model, based on the technical specification, and following good database design practices in terms of normalisation, constraints, indexes etc. – ACID compliance where applicable.
It becomes significantly more difficult to correct a poorly designed database after it has gone into production and has started collecting data (dependant on data volume) -its a good idea to get it right the first time!
I’ve been working extensively with MySQL databases and variants and have modelled relational databases with up to 200 tables, partitioning of 100mill+ records, normalised and tuned for performance. I also have good experience with facades and the EAV model as used by Magento commerce.