「SQLアタマアカデミー」サポートページ更新

 「SQLアタマアカデミー」サポートページを更新しました。第3回「テーブル設計のグレーゾーン」の演習の解答・解説を追加しています。リレーショナル・データベースにおけるオートナンバリング(連番の自動生成)機能は、現場でしばしば実現方法について意見が分かれる技術の一つです。その原因は、RDB が今まで理論上の(と呼ぶか教義上のと呼ぶか微妙なのですが)理由から、連番生成機能を実装することに後ろ向きだったからです。

 その結果、各実装がバラバラの構文で機能を実現するという、最もまずい事態を招いた。リレーショナル・データベースと SQL は、以前、外部結合のときにも同じ間違いを犯したのだけど、この悪い癖は未だになおっていない。外部結合のときにも、標準SQLに取り入れることを躊躇っている間に、ベンダがかってに実装を始めてしまい、大きな混乱と不経済の元凶となりました。私たちは今でもその弊害に悩まされている。

 ようやく SQL:2003 になって、シーケンス・オブジェクトもオートナンバー列も標準化されました。これで、近いうちに混乱が収束すると期待したいところです。