0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQLをなんとなく書けてしまうエンジニアへ。リレーショナルモデルの理論から書き方を見直せる一冊

0
Posted at

SELECT文もJOINも書ける、テストも通っている。でもなぜそのインデックス設計にしたのか、なぜNULLをこう扱ったのかを聞かれると、感覚で答えてしまう。そのまま経験だけで乗り切っていると、テーブル設計のレビューで理由を説明できず、指摘を受けてから直す羽目になる。『理論から学ぶデータベース実践入門』は、その「なんとなく」をリレーショナルモデルという土台から立て直してくれる本だった。

述語論理から入るから、SQLの挙動に理由がつく

本書はSQLとリレーショナルモデルの関係、述語論理という切り口から始まり、正規化理論、関係の直交性、ドメイン設計、NULLの扱い、SELECTの深掘り、履歴データの扱い、グラフ構造、インデックス設計戦略と続いていく。SQLを書くための小手先のテクニック集ではなく、なぜそのSQLが正しく動くのかを理論から説明しているので、初めて読んだときは少し重く感じたが、読み終えると普段書いているSQLの見え方が変わった。

NULLと正規化への向き合い方が変わる

特に正規化理論とNULLの扱いを扱う章は、これまで「とりあえずNULLを許容しておく」で済ませていた設計判断に、明確な理由をつけられるようになった章だった。関係の直交性の話も、テーブル同士の責務をどう分けるべきかを考える軸になった。

読んでよかったポイント

  • 述語論理の章を読んでから、複雑なWHERE句を書くときに条件の組み立て方が整理された
  • 正規化理論の章のおかげで、テーブル分割の判断を「なんとなく」ではなく理由付きで説明できるようになった
  • NULLの扱いの章を読んでから、NULLを許容するかどうかの設計判断に迷わなくなった
  • インデックス設計戦略の章が、パフォーマンス改善のレビューで根拠を持って提案する材料になった
  • 履歴データとグラフ構造を扱う章があり、単純なCRUDでは対応しきれない設計にも視野が広がった

さらに広げて読むなら

SQLとデータベースの基本的なつながりをもう一度確認したいなら、SELECTは書けても設計で迷う人へ。SQLとデータベースのつながりをやさしく掴める一冊も合わせて読むと、基礎から理論まで一直線につながる。

まとめ

SQLは書けるようになるほど、なぜそう書くのかを聞かれる場面が増えていく。次にテーブル設計やSQLのレビューをするときは、この本の理論を思い出しながら、自分の判断に理由をつけてみてほしい。

理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?