無料マンガ・ラノベなど、豊富なラインナップで100万冊以上配信中!
◆良いSQLへの改善方法を会話形式で楽しく学ぶ◆
病院を舞台としてダメなSQL文が毎回持ち込まれて、どこが非効率なのか、どこが間違っているのかをコミカルな対話形式で議論しながら効率的で正しいSQL文の書き方を学びます。中級者向けのSQL解説書は内容が難しく読者にとって敷居が高くなりがちですが、本書は初級者と上級者の登場人物の対話形式を採用することで物語調でスムーズに理解できるようにしています。2011~2012年に『Web+DB Press』誌上で連載された「SQL緊急救命室」の書籍化です。
■こんな方におすすめ
・「脱初級者」を目指すエンジニア
・営業やマーケターなど非プロフェッショナルだがSQLを使う機会のある職種の方
■目次
●序章:本書を読むにあたってのSQLの基礎──モダンなSQLの必須技術、CASE式とウィンドウ関数
・出会い
・CASE式──SQLが誇る強力なユーザー定義関数
・魔法のツール、ウィンドウ関数
●第1章:サブクエリ・パラノイア──サブクエリの功罪
・明細データの最小レコードを取得する
・株価のトレンド分析──直近の行との比較
・列の折りたたみ
・性能改善の重要ツール、インデックス
●第2章:冗長性症候群──条件分岐をUNIONで表現するなかれ
・UNIONで条件分岐するのは正しいか
・集計における条件分岐
・集約の結果に対する条件分岐
・何をもってリレーションの属性とみなすのか
・手続き型と宣言型
●第3章:ループ依存症──手続き型の呪縛を打ち破れ!
・ループによる解法
・ループからの脱出
・トレードオフを考える
●第4章:スーパーソルジャー病──すべての問題をやみくもにコーディングで解くべからず
・SQLで解くか否か、それが問題だ。
・注文ごとの件数を求める
・属性を見抜く力
・すべてをSQLで解くべきか
●第5章:時代錯誤症候群──進化し続けるSQLに取り残されるな!
・繰り返されるサブクエリ
・CASE式
・言語の進化とエンジニアの進化
・SQLは寿命の長い言語か?
・時代錯誤症候群は冗長性症候群を併発する
・良い新機能と悪い新機能
●第6章:ロックイン病──実装依存の罠にはまるな!
・擬似配列テーブルに遭遇してしまったら
・SQLにおけるJSONの扱い方
・文字列型の仕様がバラバラすぎて困る件について
・標準ではないTEXT型の仕様もバラバラ
・隠れロックインにご注意
●第7章:SQLグレーノウハウ──毒と薬は紙一重
・単一参照テーブル──テーブルにポリモフィズムは必要か
・列持ちテーブル
・集計用のキー列をテーブルに持つべきか
・サロゲートキー VS ナチュラルキー
・シャーディング
・データマート
・隣接リストモデル──古のデータモデルの復権
・グレーノウハウのほうがアンチパターンより判断が難しい
●第8章:集合指向アレルギー──なぜSQLはエンジニアにとってわかりにくいのか
・HAVING句による集合の条件指定
・HAVING句の力──四角ではなく円を描け
・SQLの七不思議──NULLはSQLの鬼門だが便利なトリックにも使える
●第9章:リレーショナル原理主義病──ウィンドウ関数は邪道なのか
・LAGとLEADによる行間比較
・開始地点からの差分の計算
・UPDATE文でもウィンドウ関数──NULLの埋め立て
・リレーショナル原理主義派との闘い
●第10章:更新時合併症──冗長なサブクエリ、性能劣化、実装依存
・更新における冗長なサブクエリ
・更新におけるウィンドウ関数
・自己参照テーブルの削除
●第11章:ライトスタッフ──正しい資質
・ロバート、データベースエンジニアについて語る
・AI時代のデータベースエンジニア
●第12章:演習問題の解答
■著者プロフィール
ミック:DBエンジニアとして20年のキャリアを持ち、主にDWH/BIなど大量データを分析するシステムの構築に携わってきた。リレーショナル・データベースや SQL についての技術書を数多く執筆。代表作に『達人に学ぶ SQL徹底指南書』『SQL実践入門』『SQL ゼロからはじめるデータベース操作』など。2018年から米国シリコンバレーにて技術調査と事業開発に従事。
※アプリの閲覧環境は最新バージョンのものです。
※アプリの閲覧環境は最新バージョンのものです。