Are there any recommedations for essential reading or proper practice guides for improving database skills? I'm reading 'Database Internals' by Alex Petrov and its really interesting so far but not so practically applicable for me at the moment. It would be great to hear any resources that made a real impact on how you went about working with databases.
I'm mainly interested in SQL databases but resources on no-SQL would be welcome too.
For general database design, Stephane Faroult is good. Although he comes from an Oracle background, and underuses domains as a result.
Rules of thumb: use up to 30 indexes per table, use views extensively, use schemas to manage access permissions. Use stored procedures for updates.
Don't let applications see tables: they should see views only.