1. 所感
・SQLでデータベースに対してデータを追加したり、更新したりする基本的な方法はわかった。
・複数テーブルにわたっての結合条件の指定や、トランザクションの分離レベルによっての処理の割り込みと発生する問題の理解がいまいち。
2. 学習者の知識レベル
・サイトコーディングを学習中
・複数のデザイン案をもとに Web サイトを制作した経験あり
・HTML/CSS/JavaScript 初心者
・SQLを学び始めた
3. 本を読んだ目的
バックエンド開発を学ぶにあたり、システムを構成するデータベースの操作に必要なSQLを記述できるようになるため。
4. 学習した内容
・基本的な文法とSELECT, INSERT, UPDATE, DELETEの4大命令
・SELECT文とWHERE句を使っての処理対象の絞り込み方法(比較演算子、LIKEを用いたパターンマッチング、主キーの必要性など)
・テーブルの結合と結合の種類
・トランザクションの目的やトランザクションの分離レベル、ロックの活用など
5. スッキリわからなかったところ
(1) 指定条件で複数テーブルからデータを抽出するためのSQL作成
本書の練習問題で提示された結果表を作成するために、複数テーブルからデータを抽出するためのSQLの作成がよくわかりませんでした。テーブルが二つや自己結合については作成できましたが、条件が多くなると途端にわからなくなってしまいました。
(2) トランザクションの分離レベルの指定について
トランザクションを設定することで、指定したSQLの実行時に、中断による影響を受けないようにできることはわかったが、分離レベルを指定したときに副作用によって、どんな問題が発生するか具体的に想像できませんでした。練習問題も解答を読めば理解できますが、正解できたのは半分ほどでした。
6. 理解を深めるために
複数テーブルで指定条件からデータを抽出するSQLの記述に関しては、何度も問題を解くことで考え方のコツを掴もうと思います。
トランザクションの分離レベルを指定した時の副作用による問題の発生については、経験者への聞き取りやネットの記事、本などを参考に知識を深めていこうと思いました。
本書でもまだ読んでいない箇所があるので、読み進めてSQLやデータベースについての理解を深めたいと思います!