A legacy code base can be a frightening thing. Between strict deadlines, ever-evolving requirements, differing skill levels of contributors over time, and historical circumstances, keeping database code clean and concise is difficult at best. This example- and demo-driven talk will help you build out a mental framework to prune those gnarled code bases. Much of this talk will be familiar to software developers who know of the "clean code" philosophy, but no knowledge of the topic is necessary. If you shudder whenever you look at your SQL code base, this talk may be for you.


The slides are available in HTML 5 format. All modern browsers (including tablets and phones) should be able to navigate the slides successfully.

The slides are licensed under Creative Commons Attribution-ShareAlike.

Demo Code

The demonstration code is available on my GitHub repository.

The source code is licensed under the terms offered by the GPL. The slides are licensed under Creative Commons Attribution-ShareAlike.

Links And Further Information

Prerequisite Links: Source Control systems

These links are in no particular order. Which source control system you use matters less than simply using a source control system. My personal recommendation is Mercurial, although Git is a more popular choice.

Prerequisite Links: Database Testing

Having working, repeatable tests is vital for refactoring code. Although this presentation does not cover how to implement database testing in any detail, I want to provide a number of links to help people get started.

Basic Links

Tools I Use