[データベースの気持ちがわかる]SQLはじめの一歩
はじめに
本書は「これから『データベース』やそれを操作するプログラミング言語である『SQL』を学んでやろう」という読者に向けた参考書です。
「データベースとは」といった概念に始まり,SQLの基本的な命令を学んだうえで,データベースの管理に使用する命令やデータベース設計についても言及します。
サンプルを使って試してみる形式で解説していきますので,実際に手を動かすことで効率的に学習を進められるでしょう。また,各章の最後にはその章のまとめと練習問題を掲載していますので,教材としても活用いただけるものと思っています。
本書を構成する細かい項目は,筆者が新人教育をすることを仮定して,「最低でもこれくらいの知識はないと,SQLを使ってシステム開発するのはしんどいな」と考えられることをまとめています。ですから,通読することでデータベースに関する概念を一通り習得できます。
データベースには多くの機能がありますし,データベース製品にもさまざまなものがあります。本書は入門書であるため最低限の必要事項を解説していますが,解説していない機能も多くあります。また,SQLには方言があります。本書では標準のSQLを基準にして解説を行っていきますので,細かい文法の違いなどについては別途リファレンスを参照していただきたいと思います。
それでは,始めていきましょう。
朝井 淳
本書の構成
- 第1章:データベースとSQL
SQLは「リレーショナルデータベース」で使用できるプログラミング言語の一つです。
そこで,まずデータベースとは何かを学んだうえで,リレーショナルデータベースとはどんなものか,ほかのデータベースとはどう異なるのかといったことについて解説していきます。
また,データベースを管理するソフトウェアである「データベースマネジメントシステム」の概念や,Webシステムとの連携についても簡単に紹介しています。
- 第2章:テーブルからデータを取り出す
本書では実際にSQL命令を実行しながら学習を進めていきます。この章ではまず,SQLにおけるハローワールドともいえる簡単なSELECT命令を実行します。また,実行した結果得られるものについても細かく解説していきます。
データベースには大量のデータが含まれています。膨大なデータの中から必要なデータだけを抽出する処理は,データベースを操作するうえでとても重要です。そこで,データの取り出し方についても具体例を見ながら学んでいきましょう。
- 第3章:ソートと演算
データの抽出とならんで,データの並べ替え,いわゆるソートは,データベース操作の基本です。SQLでは自由にデータを並べ替えられます。まずはこの「ソート」の方法を紹介します。
また,データベースシステムもコンピュータシステムの一種です。コンピュータは「計算機」とも呼ばれる機械ですから,計算は得意です。この章の後半では,データベースで演算を行う方法について解説します。
- 第4章:データの追加・削除・更新
データベースの主要な機能は,データの抽出・追加・削除・更新の4つになります。データの抽出についてはここまでで解説しましたので,この章ではデータの追加・削除・更新について解説します。
つまり,データベースに対する基本的なデータの変更操作を学ぶ章ということになります。
- 第5章:集計とサブクエリ
SQLの魅力として,言語レベルで集計処理ができることが挙げられます。この章ではまず,集計やグループ化について学びましょう。集計ができるようになれば,データベース技術者としては中級レベルと言ってよいでしょう。
この章では,集計のほかに「サブクエリ」も取り上げます。サブクエリは少し難しいテクニックですが,しっかり理解できればなんていうことはありません。使いこなせればこれほど便利なものはありませんよ。
- 第6章:データベースオブジェクトの作成と削除
この章からは,データベース設計や管理といった分野にまで踏み込んでいきます。まずはデータベース内にデータベースオブジェクトを作成する方法について学びましょう。
特に,テーブルに次いで重要な概念である「インデックス」については,そのしくみからしっかり解説します。
- 第7章:複数のテーブルを扱う
データベースの中には多くのテーブルが含まれています。テーブルは単純な構造ですから,通常のシステムでは,複数のテーブルを組み合わせていくことでより複雑なデータ構造を作り出します。
複数テーブルのデータを切り貼りする感覚で自由に結合や分割ができるようになれば,データベース技術者として一人前です。しっかり学習しましょう。
- 第8章:データベース設計
最後の章は,データベース設計の話が中心です。データベース入門者にとっては少々難しい話かもしれません。しかし,用語を覚えるだけでも,データベース技術者の先輩の話が少しは理解できるようになるでしょう。ぜひ最後まで読んでいただきたいと思います。
- 付録
付録として,本書での学習を進める際に必要なMySQLのセットアップとサンプルデータベースのインポート方法を解説します。また,練習問題の解答についても掲載しています。