Improving Your Database Designs with Practical Database Theory

Database Administration
3 April 3:30PM - 4:20PM @ Ballroom E

Experience level: 
50 minutes conference
Today, many programmers have a skillset focused on the application layer - ORM systems like Hibernate and Ruby on Rails can hide much of the complexity of SQL programming, so many feel that focusing on their database is unimportant. ORMs, of course, have brought many benefits - but their widespread use has also resulted in many programmers being less familiar with the theoretical underpinings of their database system; they focus on their application, not on the database. Still, database design is important, and is often neglected. In many organizations, developers are often left on their own to develop an appropriate schema - and this talk will present a brief, background in database theory, teaching the listener to make designs which are practical and based on solid experience. This talk, though, won't teach you to pass a computer science exam - it's not a dry, theoretical lecture, but instead a practical exploration of fundamental issues in database design and how they effect real world applications. For example, the fundamental nature of a table, a row, and a column will be explained in simple, practical terms - and the listener will be shown what this means for your database design. Short, easy to remember rules and explanations will be given. Proper database design can give you confidence that your data is accurately and concisely represented - resulting in performance and reliability benefits. The process of database normalization is an important part of this. Instead of classroom definitions, this talk will cover some handy "rules of thumb" for normalization - honed from many years of practical experience. Such rules explain both how to detect errors and how to correct them. Of course, sometimes the benefits outweigh the cost, so the the listener will be taught how to discern when it's best to leave an imperfect design as it is. Finally, a short selection of common errors in database design will be discussed, each with an explanation of why it poses a danger, and how to fix it - even if you've already stored large quantities of data in that flawed design.


Proprietor, Berube Consulting
David Berube is a software developer, consultant, speaker, and writer. He is constantly researching, perfecting, and practicing his trade. He is a prolific writer, appearing in places such as Dr Dobbs Journal, Linux Magazine, IBM DeveloperWorks, PHP International Magazine, and many others. He speaks frequently, notably including his seminar series, "Making Money Using Open Source Software". He authored the books "Practical Rails Gems" and "Practical Reporting with Ruby and Rails", and co-authored the book "Practical Rails Plugins."