「基本がわかるSQL入門」サポートページ
正誤表、補足情報、サンプルデータなど
本書に掲載しているSQL文を実行するためのテスト環境を導入する方法です。以下の3種類を紹介しています。ご自身が利用している環境とお好みに応じて選択してください。
VirtualBox + Ubuntu
仮想環境にUbuntuをインストールし、DBMSをインストールする (MySQL、PostgreSQL)
テスト環境や勉強用の環境を作りたいときには、VirtualBoxのような「仮想化環境」が便利です。VirtualBoxを利用することで、普段使っているOSはそのままで、別途OSを動かし、そこでデータベースを動かすことができます。環境の作り直しも簡単で、テスト環境が不要になったら仮想環境ごと削除することもできます。Unix系OSでの導入を考えている場合、本番環境に近い環境で試すことができるというメリットがあります。
なお、インストール解説ではApacheとPHPをインストールして、WebブラウザでSQL文を入力して試す方法も紹介しています。
XAMPP (macOS, Windows)
すべてGUI操作でインストール可能(MariaDB)。手軽に試したい人向け
XAMPPとはWeb環境用のプログラム開発やテストに使用するソフトウェアをまとめてインストールできるようにしたパッケージで、無償で入手できます。GUI操作のみで簡単にインストールできるというメリットがあります。データベースにはMariaDBが導入され、SQLの実行にはphpMyAdminが利用できます。phpMyAdminはXAMPP管理画面にあるMySQLの「Admin」より実行可能)が利用できます(MariaDBはMySQLを元に開発されており、XAMPPの管理画面には「MySQL」と表示されています)。
DBMSのみ(Windows)
Windows版のDBMSだけをインストール(MySQL 5.7、MySQL 8、MariaDB、PostgreSQL)、それぞれのコマンドラインクライアントでSQLを実行する(参考、コマンド操作に慣れている人向け)
LinuxにMySQLとPostgreSQLを入れて試したい
GUIでさくっとインストールしてSQLを試したい
サンプルデータベースおよびテスト用ユーザーの作成方法は、各テスト環境のページを参照してください。
データベース名 | 用途 |
---|---|
testdb | 第1章用のごく簡単なテストデータを登録するためのデータベース ※第2章のテーブルの作成と削除もこのデータベースでの実行を想定しています(本文参照)。 |
sampledb | メインで使用する「フクロウ塾」のサンプルデータ、および、第6章で使用するサンプルデータ用のデータベース |
sampledb2 | 第7章「ケーススタディ」で新たな定義を加えたフクロウ塾のサンプルデータ用のデータベース |
ファイル名 | 内容 | インポート先 |
---|---|---|
testdb.sql | 第1章用サンプルデータ(生徒マスター、選択コース) | testdb |
sampledb-fukurou.sql | 第2章~第6章用サンプルデータ(フクロウ塾) | sampledb |
sampledb-others.sql | 第6章用サンプルデータ | sampledb |
sampledb2.sql | 第7章用サンプルデータ(フクロウ塾) | sampledb2 |
ファイル名をクリックするとダウンロードできます。 拡張子は「.sql」となっていますが、テキストファイルなのでメモ帳やテキストエディットなどで開いて内容を確認することができます。
ページ | 内容 |
---|---|
2.5 (p.35) | 本文とサンプルで値に食い違いがありました。 本文「それぞれ90、86点であったことがわかります。」誤86点 正93点 |
3.6 (p.84-85) | 本文とサンプルでフィールド名に食い違いがありました(本文:標準単価、サンプル:在庫数)。 本文「テーブルを作成した後に、❶「 |
4.3 (p.106) | 図4.8 2段目の表に誤りがありました。正しくは 図(リンク)の通りです。 |
4.4 (p.111) | 図4.11 「多値従属を取り除いて第4正規形にする(失敗例)」の6件目の仕入先が「S01」となっていますが、正しくは「S02」です(図)。 |
5.3 (p.138) | 図5.17 図中の「指名」は「氏名」の誤りです。 |
6.1 (p.163) | 図6.1 図中のフキダシ(左)2行目はAが1の誤りです。「Aが |
6.3 (p.172) | 本文3行目「subject IN (‘数学’,’英語’)`」末尾の「`」は不要です。 |
6.8 (p.226) | 本文4行目「メインサブクエリーの値を」は「メインクエリーの値を」の誤りです。 本文8行目「相関サブクエリー、または相関サブクエリー(略)といいます。」は「相関サブクエリー、または相関副問合せ(略)といいます。」の誤りです。 |
6.9 (p.244) | 表6.10 LEAD()とLAG()の内容が入れ替わっていました。正しくは、LEAD()が「直後の行」、LAG()が「直前の行」です。 |
6.10 (p.250) | 会話文3つめ冒頭「INSET」は「INSERT」の誤りです。 |
6.10 (p.252-253) | サンプル❹、SELECT文の実行結果を確認している箇所にて、WHERE句で指定する列が誤っていました。2つめ、正しくは「WHERE r02 IS NOT NULL」、3つめは「WHERE r12 IS NOT NULL」です。これに伴い、p.253「❹の実行結果」の最下行は出力されません。 |
ページ | 内容 |
---|---|
5.3(p.143) | 会話冒頭の「1対1のエンティティ」は、より正確には「1対1の関係にあるエンティティ」または「1対1のリレーションシップ」です。 |