kzk0829’s blog

機械学習の学習のアウトプット+技術的な事+ポエム

SQL アンチパターン第21,22章を読んだ

はじめに

SQL アンチパターン第20章を読んだの続き

kzk0829.hatenablog.com

SQLアンチパターンについて

SQLアンチパターン

SQLアンチパターン

第21章 シュードキー・ニートフリーク(擬似キー潔癖症

テーマとしては、主キーに欠番があることだった。
個人的には、気にならない。

アンチパターンとしては以下が挙げられていた。

  • 欠番を割り当てる
  • 既存行に番号を振り直す
    • ステップ数が多い
    • そのキーを参照しているレコードがあった場合にそちらもupdateする必要がある
    • キー管理テーブルの変更も伴ってしまう

上記のようなリスクがあるため、基本的には変更をかける必要がない、識別のための番号なので連番である必要性はない。

また、GUIDについても言及があった。
GUIDとは、128bitの擬似乱数のこと。
同じ識別子が振られる可能性は極めて低いが、ディスクの使用スペースが多く値が長いことがデメリット。

第22章 シー・ノー・エビル(臭いものに蓋)

テーマはクエリのコーディングについて。

アンチパターンは以下。

  • 診断せず判断する
    • データベースへのアクセスした後のクエリを確認しないこと
    • 画面には何も表示されないことが多い
  • 見逃しがちなコード
    • SQLクエリの構築時のコードしか読まないこと

ここに関しては、かなり起こりにくいアンチパターンかなと感じた。
開発者として、返り値の確認や、期待した結果が得られなかった時のデバッグ過程の中で発行されたクエリを確認することは当たり前だと思う。
灯台下暗しみたいなことなのかな。