Skip to main content

How to Fake a Database Design

Curtis Poe (All Around the World)
Databases & Datastores
Portland 256
Average rating: *****
(5.00, 5 ratings)
Slides:   1-PPTX    2-ZIP 

Many database students rejoiced when a paper was published showing a shortcut to fifth normal form

From the abstract of that paper:

“A key is simple if it consists of a single attribute. It is shown that if a relation schema is in third normal form and every key is simple, then it is in projection-join normal form (sometimes called fifth normal form), the ultimate normal form with respect to projections and joins.”

What the heck is fifth normal form and why do we want it? Well, it deals with cases where we can avoid redundancy when information can be reconstructed from smaller bits of information and … and … and …

OK, so that’s not helping. In fact, the vast majority of explanations on the Web aren’t helping, so I’ll explain how to fake database normalization. I’ll even avoid big words.

For those of you who know nothing about databases, this will help you tremendously. For those of you who know databases, try not to throw your coffee mug at the presenter. You might break something and your presenter doesn’t like to be broken. What I present here is clear enough that by the time you’re done, you’ll be able to easily look at data and quickly sketch out the basics of a reasonable database design. It won’t necessarily be perfect, but it will be far better than many databases out in the wild.

Along the way, we’ll also throw in information about reasonable naming conventions and explain why NULL values cause headaches.

Photo of Curtis Poe

Curtis Poe

All Around the World

I’m a well-known Perl expert, better known online as Ovid. I specialize in large-scale, database driven code bases and wrote the test harness that currently ships with the Perl programming language. I’m constantly trying to create better testing tools for the Perl community.

I sit on the Board of Directors of the Perl Foundation and run a consulting company with my lovely wife, Leïla, from our offices in La Rochelle, a medieval port town on the west coast of France.

I speak at conferences all over the world and also do private speaking engagements and training for companies. Currently I’m a specialist for hire, often focusing on complex ETL problems or making developers more productive by fixing test suites and making them run much faster.