データベースシステム (改訂 2 版)
データベースシステムカイテイニハン
- 著者:
- 北川 博之(キタガワ ヒロユキ)
- 出版社:
- オーム社
- 出版日:
- 2020年04月09日頃
- ISBN:
- 9784274225161
- 在庫:
- メーカー取り寄せ
なぜ注目されているか
書籍紹介
データベースシステムの名著、20 年ぶりの改訂!
本書は、おもに情報系学科におけるデータベース教育を想定して、データベースシステムの基礎を解説したものです。1996 年発行の『データベースシステム』の改訂版です。
本書のカバーする範囲は、データベースシステムの基本概念 (1 章)、データモデリング (2 章)、リレーショナルデータモデル (3 章)、リレーショナルデータベース言語 SQL (4 章)、より高度な SQL (5 章)、リレーショナル論理 (6 章)、リレーショナルデータベース設計論 (7 章)、物理的データ格納方式 (8 章)、問合せ処理 (9 章)、同時実行制御 (10 章)、障害回復 (11 章)、オブジェクト指向データベースシステム (12 章) です。
各章末に演習問題を付けて、その解答も掲載しています。
今日、マルチメディアのみならず、AI や IoT といった大規模データ処理により、ますます世の中のデータ量は増加しています。また、IT インフラにおいては仮想化やクラウドが当たり前の技術となり、データを取り巻く環境は 20 年前とは大きく様変わりしました。データベースシステムを貫く基本概念こそ変わりませんが、この 20 年間の新しい技術を取り込み、改訂 2 版として発行するものです。
1 章 データベースシステムの基本概念
2 章 データモデリング
3 章 リレーショナルデータモデル
4 章 リレーショナルデータベース言語 SQL
5 章 より高度な SQL
6 章 リレーショナル論理
7 章 リレーショナルデータベース設計論
8 章 物理的データ格納方式
9 章 問合せ処理
10 章 同時実行制御
11 章 障害回復
12 章 オブジェクト指向データベースシステム
技書の森解説
『データベースシステム (改訂 2 版)』 (北川 博之 編著、オーム社、2020 年 4 月刊) は、主に情報系学科でのデータベース教育を想定して、データベースシステムの基礎を解説した教科書です。版元の紹介では 1996 年発行の『データベースシステム』の改訂版と位置づけられ、データベースシステムを貫く基本概念は変わらないとしたうえで、20 年間の新しい技術を取り込んだ改訂と説明されています。NDL と openBD の書誌には「ビッグデータ社会の基幹技術を学ぶ」という副題が付いています。版元が挙げるおすすめの読者は情報系の大学学部生、院生、研究者と、データベースを設計する技術者で、読者の段は中級に印が付いています。
全 12 章の構成、基本概念からオブジェクト指向データベースまで
構成は第 1 章「データベースシステムの基本概念」から第 12 章「オブジェクト指向データベースシステム」までの全 12 章で、各章末に演習問題があり、巻末に演習問題解答がまとめられています。第 2 章「データモデリング」は実体関連モデルを軸に、IDEF1X や UML、情報処理技術者試験における概念データモデルといった実体関連図の書き方を並べます。第 3 章「リレーショナルデータモデル」でリレーショナル代数を扱ったあと、第 4 章と第 5 章で SQL に進み、第 5 章「より高度な SQL」では空値、外結合、副問合せ、再帰問合せ、トリガー、ストアドプロシージャから、ODBC と JDBC、O/R マッピング、Web データベースプログラミングまでを取り上げます。第 6 章「リレーショナル論理」はタプルとドメインの 2 つのリレーショナル論理とリレーショナル完備を、第 7 章「リレーショナルデータベース設計論」は関数従属性から第三正規形、ボイス・コッド正規形を経て第五正規形までを扱います。
後半は DBMS の内部に移ります。第 8 章「物理的データ格納方式」は記憶階層と記憶媒体からヒープファイル、ハッシュファイル、B 木と B+木、ビットマップ索引、列ストアまで、第 9 章「問合せ処理」は代数式の書き換えによる最適化、選択と結合の実行法、外部ソート、コスト見積りに基づく最適化を扱います。第 10 章「同時実行制御」は直列可能性、ロックとデッドロック、時刻印、楽観的同時実行制御、多版同時実行制御を、第 11 章「障害回復」はログを用いた回復方式とチェックポイント、シャドーページング、メディア障害回復を扱い、第 12 章で ODMG オブジェクトデータベース標準と SQL のオブジェクト指向機能を取り上げます。
正規化と並行処理を理論から押さえる意味
SQL を書けることと、表の分け方が更新に強いかどうか、同時に走る処理が正しく順序づけられるかどうかを判断できることは、別の能力です。表をどう分けるかを決める 正規化 は、経験則の集まりではなく、属性どうしの依存関係から更新時の矛盾を防ぐ形式的な手順として説明できます。データベースに求められる ACID 特性のうち分離性と永続性も、処理の順序を保証する仕組みと、障害の後にどこまで戻してやり直すかを決める仕組みの 2 つで支えられています。多くの製品が検索の高速化に B 木の仲間の木構造 を使うのは、ディスクやフラッシュの読み書きがブロック単位で行われるという性質があるからです。製品のマニュアルは設定項目の意味を教えてくれますが、こうした設計の根拠は、理論の側から順に学ぶほうが見通しよく身につきます。
必要な素養と、目次から見た向かない読者
第 3 章のリレーショナル代数式と第 6 章のリレーショナル論理式は、集合と論理の記法で書かれた題材です。集合の演算や述語論理の記法に一度触れておくと、式を追う負担が軽くなります。一方、目次に特定の製品名を冠した章はなく、分散データベースや NoSQL を主題にした章もありません。特定の RDBMS の構築手順や性能調整の設定値を求める人、分散構成の設計を学びたい人は、目的に合う別の本を選ぶほうが確実です。分野全体の中で次の一冊を探すなら、データベース本の選び方 が手がかりになります。版元は改訂 2 版の第 1 刷から第 3 刷までの正誤表を公開しているので、手に取った刷に合わせて確認しておくと安心です。
講義の教科書として体系立った一冊を求める学生や研究者、そして設計の判断を勘ではなく根拠で説明したい技術者にとって、基本概念からオブジェクト指向データベースまでを章末の演習問題と解答付きで通して学べる本書は、手元に置いて繰り返し引ける教科書になります。
言及した記事 (1 件)
この本に興味がある方におすすめ
関連する本
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
読んだ本の数より「使った本の数」を数えよ
読書の成果は冊数では測れません。読んだ知識を実務で何回使ったかが、本当の読書の価値です。読書の成果指標を「冊数」から「使用回数」に切り替える方法を紹介します。
有名プログラマの読書習慣 - 天才たちは何を読んできたのか
リーナス・トーバルズ、まつもとゆきひろ、ビル・ゲイツなど、著名なプログラマたちの読書習慣と愛読書を紹介し、天才たちの読書スタイルから学べることを探ります。
関連用語
腐敗防止層
レガシーシステムと新システムなど、データモデルや用語の異なるシステムの間に変換層を設け、一方の設計を汚染から守るパターン
API ドキュメントとは - 仕様 / エンドポイント / 入出力形式を記述し開発者の統合を支援する文書
API の仕様、エンドポイント、リクエスト/レスポンス形式を記述し、開発者の統合を支援するドキュメント
Firebase
Google が提供するアプリ開発基盤。サーバー構築なしで認証や DB を利用できる
OpenAI
GPT や ChatGPT を開発する AI 研究 / 開発企業。生成 AI 普及の中心的存在
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
FastAPI
Python 製の高速な Web API フレームワーク。型ヒントを活かした効率的な開発が特徴