基本がわかる SQL 入門 --データベース & 設計の基礎から楽しく学ぶ
キホンガワカルエスキューエルニュウモン データベースアンドセッケイノキソカラタノシクマナブ
- 著者:
- 西村 めぐみ(ニシムラ メグミ)
- 出版社:
- 技術評論社
- 出版日:
- 2020年10月08日頃
- ISBN:
- 9784297116590
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
「基本がわかる」をテーマに、
SQL & データベースの基礎から、やさしくスタート!
そして、「SQL でどんなことができるのか」「どんなときに便利なのか」「なぜそんなしくみになっているのか」について、一つ一つステップアップしながら解説します。
本書の特徴は、文法の背景にある「設計」を丁寧に扱っている点です。SQL 学習時の頻出ケースである、思ったように操作できない…… この書き方のどこが便利なのか実感が湧かない……、そんなとき、設計について少しでも知ってることが大きな力になります。
想定環境は MySQL を主軸に MariaDB、PostgreSQL とメジャーな OSS (オープンソース) 製品に対応し、サポートサイトのサンプルを活用して試しながら学ぶことも可能。広くデータベース利用者の方々に向けて、長く役立つ技術知識を凝縮してお届けします。
技書の森解説
『基本がわかる SQL 入門』 (西村めぐみ 著、技術評論社、2020 年 10 月 8 日発売) は、SQL の文法とあわせて、その背景にあるテーブル設計の考え方を扱う入門書です。副題は「データベース & 設計の基礎から楽しく学ぶ」で、版元の紹介文は、文法の背景にある「設計」を丁寧に扱っている点を本書の特徴に挙げています。版元が挙げる読者は、これから SQL とデータベースについて学ぶ人と、データベースの利用者です。
全 7 章の構成、SQL & DB の基礎知識からケーススタディーまで
本論は「本書について」に続く全 7 章です。第 1 章「SQL & DB の基礎知識」で SELECT 文の構造や DBMS の基本機能、RDB の特徴を見渡し、第 2 章「SQL 初級編」でテーブルの作成と削除、外部キーの設定、データの追加、変更、削除、問い合わせ、ビューまでを一通り書いて試します。第 3 章「CREATE TABLE 詳細」では、データ型や CHECK 制約、NULL、主キーと候補キー、ALTER TABLE、インデックスといったテーブル定義の要素を掘り下げます。第 4 章「正規化」と第 5 章「ER 図」が設計を扱う章で、第 6 章「データ操作」で SELECT を中心とした操作に戻り、第 7 章「ケーススタディー」でデータベース設計と SELECT 文の組み立て方を通して確かめます。巻末には索引と構文索引があり、実行計画や NoSQL の基礎知識、権限の設定などはコラムで補われています。
正規化と ER 図を、テーブルの分け方の根拠として学ぶ
SQL の問い合わせは、テーブルにどの列がどう分かれて置かれているかを前提に組み立てられます。同じ事実が複数の行に重複して入っていると、1 か所を直したときに別の行が古い値のまま残る更新時の不整合が起きます。データ正規化 は、関数従属という性質に着目してテーブルを分解し、同じ事実を 1 か所にだけ持たせる手続きです。第 4 章は正規化の目的を更新不整合の防止から説き、第 1 正規形から始めて第 3 正規形を最初のゴールに置き、ボイスコッド正規形、第 4 正規形と第 5 正規形、ドメインキー正規形と第 6 正規形まで進みます。第 5 章は ER モデルとテーブルへの写像、ER 図の表記、カーディナリティの検討、識別子の検討、スーパータイプとサブタイプを扱い、エンティティがテーブルに、リレーションシップが参照制約になる対応を項目に立てています。
SELECT の基礎から相関サブクエリー、ウィンドウ関数まで
第 6 章「データ操作」は SELECT の基礎構文、関数と演算子、結合、NULL と UNKNOWN、集約関数とグループ化、UNION、CASE 式、サブクエリー、ウィンドウ関数、データの更新を順に扱い、補講として集合論から見た関係演算を置いています。SQL の NULL は値が分からないことを表す印で、NULL との比較は真でも偽でもない UNKNOWN になります。WHERE 句は結果が TRUE の行だけを残すため、NOT IN の比較相手に NULL が混ざると 1 行も返らないといった結果が起き、本書もサブクエリーと NULL の関係を節の項目に立てています。結合はクロス結合、内部結合、外部結合、自己結合、自然結合まで、ウィンドウ関数は ROW_NUMBER や RANK、LAG、LEAD などによる区画別の集計と順位付けまで扱います。第 7 章は「フクロウ塾のデータベース設計」を題材に、氏名の書式と CHECK 制約、コースの持ち方の再検討を経て、サブクエリーとウィンドウ関数による最高得点者のリスト作成などのデータ抽出を組み立てます。コラムには JOIN、WHERE、ORDER BY と インデックス の処理速度の関係も取り上げられています。
MySQL 8.0 を主軸に 3 つの DBMS で確かめる環境
版元の案内では、掲載した SQL 文は MySQL 8.0.21 (一部の例を除き 5.7 でも実行可能)、MariaDB 10.4、PostgreSQL 12.4 で動作を確認しており、サンプルデータによる実行結果は MySQL のものを載せています。第 2 章には標準 SQL と SQL の方言を扱う項目があり、第 6 章の行数の指定では LIMIT に MySQL、MariaDB、PostgreSQL の注記が付いています。刊行時の版元の著者紹介では、著者は 1990 年代に生産管理ソフトウェアの開発とサポート業務、セミナー講師を担当し、その後は書籍と雑誌での執筆、e ラーニング教材の作成と指導、新人教育に携わったとされています。
SQL の文法、テーブル定義、正規化と ER 図、問い合わせ、ケーススタディーが一冊の中で順に並ぶ構成です。掲載した SQL 文は MySQL、MariaDB、PostgreSQL の 3 つの DBMS で動作が確認されており、手元の結果と照らし合わせながら進められます。データベースの技術書を分野ごとに見比べたい場合は、データベース本ガイド で設計書や性能の本との並びを確かめられます。
言及した記事 (1 件)
この本に興味がある方におすすめ
関連する本
西村 めぐみ の他の書籍
関連記事
技術書の索引は最強の学習ツール - 使いこなすと読書効率が 3 倍になる
技術書の巻末にある索引を活用すると、必要な情報に素早くたどり着け、知識の構造化にも役立ちます。索引の意外な使い方を紹介します。
索引 (さくいん) とは?読み方 / 意味 / 技術書での活用術
索引の読み方は「さくいん」。本の巻末にあるキーワード一覧で、必要な情報に最短で辿り着くための道具です。索引の意味 / 構造 / 引き方のコツを初心者向けに解説します。
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。