Monday, March 10, 2008

Speaking at the MySQL Conference

It's time for the 2008 MySQL Conference. This year should be especially interesting.
Sun announced they would acquire MySQL on Jan. 16 - fewer than eight weeks ago (I bet it doesn't seem that way to the folks involved). The deal was closed only Feb. 26, and I'm sure there are still months of work to go, to fully integrate the two companies. Exciting times!
As always, database server technology and connectivity is the focus of the MySQL Conference. The sessions are organized into a dizzying 17 tracks, only two of which aren't specific to some technology aspect of using MySQL. I'm looking forward to seeing many of the sessions.
One in particular that caught my eye is Beat Vontobel's talk, "The Lost Art of the Self Join" in which he says he will solve a Sudoku puzzle in SQL. I gave a talk at OSCON 2006, "SQL Outer Joins for Fun and Profit," in which I also used SQL to solve Sudoku puzzles. It'll be interesting to see Beat's solution.
This year I'm giving a tutorial, "SQL Antipatterns." This is my way of describing many best practices of database and query design, by counter-example. After answering SQL questions on newsgroups for many years, I have seen a lot of counter-examples.
I'm busy over the next couple of weeks preparing my presentation slides. Here's my complete outline of topics for the MySQL Conference Tutorial:

Logical Database Antipatterns
  • Jaywalking - using a comma-separated list of values in a string.
  • Entity-Attribute-Value.
  • Multi-column Attributes.
  • Metadata tribbles.
Physical Database Antipatterns
  • ID Required.
  • Phantom Files.
  • ENUM Antipattern.
  • Readable Passwords.
Query Antipatterns
  • Ambiguous GROUP BY ((also discussed in recent blog posts by Carsten and Roland Bouman)
  • Using HAVING instead of WHERE.
  • Poor Man's Search Engine (LIKE and REGEXP).
  • Implicit Columns in SELECT and INSERT.
Application Development Antipatterns
  • SQL Injection.
  • Parameter Fa├žade.
  • Pseudokey Neat Freak.
  • Session Coupling.
  • Phantom Side Effects.
It's not too late to register for the MySQL Conference!

No comments: