Strávíte před programováním aplikace dlouhé hodiny návrhem databáze, nebo začnete psát program a databázi navrhujete za běhu? Správným návrhem databáze můžete ušetřit čas a problémy.
Pokud programujete aplikaci, která potřebuje využívat databázi, je návrh databáze stejně důležitý jako samotný návrh struktury programu. Samozřejmě tím nemyslím databáze o velikosti několika řádek, i když zde správný návrh databáze taky ušetří nějakou tu práci, ale o rozsáhlých databázích, obsahujících několik milionů záznamů.
Je nutné si uvědomit, že po zaplnění velké databáze, je každý zásah do její struktury, či ještě hůře, zásah do dat v uložených tabulkách, velmi nepříjemný a určitě ne jednoduchý.
Obvykle, než začnu programovat, vezmu si do ruky tužku a papír a kreslím si. Kreslím si tabulky, vazby mezi tabulkami, zvažuji jak budou probíhat dotazy, jak budou jednotlivé tabulky mezi sebou nutně komunikovat, vypisuji si dotazy, vypisuji si složitější dotazy, které budou nutně muset probíhat a snažím se tyto dotazy co možná nejvíce optimalizovat, stejně jako data v tabulce. Optimalizace dotazů na databázi je stejně důležitá jako správný návrh tabulky.