はじめに
お久しぶりです、takimonです!
今回は『スッキリわかるSQL入門』を読んだので、その感想をまとめていきたいと思います。
普段の業務で基本的なSQLは使用しているのですが、応用的な使い方をする機会が少なかったので、今回改めて学び直すつもりで本書を読みました。
学んだこと
基本的なSQLの使い方は知っていたので、ここでは特に「知らなかったこと」や「知識が抜けていたこと」を中心に書いていきます。
- データベースの実体はファイルである
SELECT、UPDATE、DELETE、INSERTの4つの命令はDML(データ操作言語)である-
SELECT * FROMの使用は避けるべき- 設計変更によって検索結果が変わる可能性があるため、必要な列を明示的に指定することが重要である
- 郵便番号や商品コードなど、文字数や桁数が一定の場合は
CHAR型(固定長文字列型)が適切である -
SUBSTRING(文字列を表す列, 抽出を開始する位置, 抽出する文字列の数)- 文字列の一部を抽出する際に使用する。
-
COALESCE(列や式1, 列や式2, 列や式3 ...)- 引数のうち、最初に現れたNULLではない値を返します。
-
集計の前に処理行数を減らせる場合は、
WHERE句で早めに絞り込むべきである- これにより、パフォーマンスの向上が期待できる。
-
外部キーの値を変更・削除したい場合はトランザクションを使用する
- 原子性を確保するため、トランザクションを利用する。
- 外部キー制約に違反しないように、「学生の所属変更」→「学部の削除」の順で処理するなど、順序を考慮する必要がある。
良かったところ
- 各章に練習問題が用意されており、理解度を確認しながら読み進めることができました。
- 練習問題とは別に、豊富な演習(ドリル)が用意されている点が非常に良かったです。手を動かしてコードを書くことで、知識が定着しました。
悪かったところ
- 演習(ドリル)に解説がなかった点が少し残念でした。
簡単なものでも良いので、解説があればさらに学習が深まったと思いました。
難しかったこと
本書の前半部分、SQLの基本的な使い方については、業務でSQLを使っていたこともあり、特に難しいと感じることはありませんでした。
しかし、後半に進むにつれて出てくるインデックスやDB設計といった部分は、あまり経験してこなかった領域のため、少し難しく感じました。
次に**『達人に学ぶDB設計 徹底指南書』**を読む予定なので、少しずつ慣れていければと思っています。
おわりに
今回『スッキリわかるSQL入門』を読んでみて、本当に分かりやすかったです。
働き始めのころに読んでおけば、よかったと公開している程です。
もしSQLをこれから学ぶ方や、私のように基礎を学び直したいと考えている方がいれば、ぜひ読んでみてください。
図解も豊富で、順序立てて丁寧に解説されているため、読み進めやすいと思います。ぜひ皆さま機会があれば、手に取って読んでみてください。