Somewhat in the vein of last week’s post, I’d like to share a new service called dbpatterns with you. dbpatterns allows you to create ER models in the browser and share them with other users. If a particular pattern or model suits your needs you can directly export its DDL for PostgreSQL, SQLite, MySQL or Oracle RDBMS.
I really appreciate the idea of promoting and sharing best practices for database systems. While object-oriented software design patterns are rather common (though some particular ones tend to be overused while others hardly get any attention at all), best practices for programming relational databases are surprisingly less common, which is all the more startling as relational databases are a tried and true technology and predate today’s common object-oriented programming languages by decades. Sure, database normalization thankfully is a commonplace practice nowadays but other than that typically not a whole lot of thought goes into designing database models when a new piece of software gets created.
With dbpatterns being relatively new we’ll have to wait how this effort pans out but there are already quite a few useful patterns to use and build upon such as this one for implementing a generic CMS.