Relational Anti-Patterns: How Not to Design your Database


When designing your database, what looks like the best relational design can be a trap. Join us as we expose these database anti-patterns. We'll model shoes at a fictional shoe store and show both a naive design and more flexible alternatives. We'll discuss how to represent trees, and see that the simplest solution is the slowest and hardest to query. We'll explore scenarios where a polymorphic relationship looks like a good choice, but isn't (and one where it is). Along the way we'll cover:


* Using Entity-Attribute-Value for design flexibility

* Naive Trees and when not to use them

* Materialized Path and Closure Tree for a much nicer tree experience

* Polymorphic Relationships and when they're a problem

* Alternative patterns Exclusive Arcs, Base Parent Table and others


Join us and discover the rich world of relational database design patterns and anti-patterns. Whether you're building a new application or refactoring an old one, knowing  these pitfalls and their alternatives will save you from sloppy querying and poor performance.

Ballroom H
Sunday, March 11, 2018 - 11:30 to 12:30