はじめに
こんにちは!Akira(彰)です!
本日はスッキリわかるSQL入門 第3版 ドリル256問付き! (スッキリわかる入門シリーズ)
を読んだ感想を、
- 良かったこと
- 学んだこと
- 難しかったこと
に分けて書いていきたいと思います。
良かったことろ
SQLの基礎をイラスト付きで分かりやすく学べる
この本の題名にもなっている「入門」という名の通り、SQLの基礎をしっかり学ぶことができます。
また、イラスト付きなため視覚的にもわかりやすく躓きにくかったです。
各章毎に問題が用意されている
各章毎に復習のような形で問題が用意されているため復習しながらしっかりと知識を身に着けることができます。
そしてこの本には「特訓ドリル」という問題集も付いているので自身の苦手だと感じている部分をしっかり克服しながら読むことができました。
実使用時のイメージを掴みやすい
本の最後の方になっていくと当然内容も難しくなっていくのですが、登場人物が対話しながら実際に機能を実装してくという流れが分かるので学んだことを「どう使う」というのがイメージし易かったです。
ブラウザ上で操作できるDBを実際に使って学習できる
実際に問題で使われているテーブル等をブラウザ上から操作できるサイトが付属されているため学習のために環境構築する必要がなく、非常に低いハードルで学習を開始できます。
学んだこと
SQLの基本文法
SELECT UPDATE INSERT DELETE の基本4大命令から各命令で使える修飾語を学びました。
集合演算子の使用法
和集合(UNION) 差集合(EXCPT, MINUS) 積集合(INTERSECT) を使って複数のSELECT文の結果を集合演算する方法。
各関数の使い方
集計関数の SUM関数 や LENGTH関数 等の関数の使い方や実践的な使い道について学びました。
テーブルの結合
主キー と 外部キー を用いて JOIN句 で各テーブルを結合する方法。
そして結合する際に指定できる結合法(左外部結合, 右外部結合, 完全外部結合)
テーブルの作成方法
テーブル作成の基本文法と人為的ミスによって想定外のデータが格納されないようにするための 制約 の記述方法
トランザクションについて
複数のSQL文を1つの不可分なかたまりとして実行できる。
トランザクションの 原始性 や 分離レベル を正しく理解することで不可分性を制御できより正しくデータを制御できる。
テーブル設計の基本と正規化
要件をもとに 属性 を含んだ エンティティ とその関係を ER図 に書き起こす 概念設計
概念設計をもとにDBが扱いやすいようにテーブルを意識してエンティティを変形する 論理設計
通常第3正規形までを使って適切にテーブルを分割していく 正規化
第1正規形はセルの結合や繰り返しの列を排除した形
第2正規形は主キーの1部に対して従属する 部分関数従属 を排除した形
第3正規形はテーブル内で 〇〇→△△→✕✕ のように従属性が推移する 推移的関数従属 を排除した形
ここまでで作成した設計を利用して、実際にテーブルを作成する 物理設計
このように、テーブル設計の全体的な流れについて学ぶことができました。
難しかったこと
テーブル設計
章の終わりの方でテーブル設計の方法について学べるのですがそこで出てきた 論理設計 正規化 について難しいと感じました。
特に第2正規形や第3正規形における 完全関数従属 と 推移関数従属 を解消する考え方についてが難しいと感じました。
おわりに
最後に本を読んでの全体的な感想を書きたいと思います。
本の読み始める段階ではProgateのSQLを触った程度の知識で修飾語の順番や命令ごとに使える修飾語が違うことについて難しいと感じていました。
ですがこの本では立場や4大命令というのに分けて解説されているので非常にわかりやすく、混乱することなく理解することができました。
また、問題集も付属しているので本を読んで得た知識をしっかりと復習し身に着けることができるので入門としてはこの1冊で完結していると思います。
以上が、スッキリわかるSQL入門 第3版 ドリル256問付き! (スッキリわかる入門シリーズ)を読んだ感想となります!ここまで読んでいただきありがとうございました!