最新図解 データベースのすべて

[表紙]最新図解 データベースのすべて

紙版発売

A5判/264ページ

定価2,178円(本体1,980円+税10%)

ISBN 978-4-7741-3824-4

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

普段の生活で意識することは決して多くはありませんが,実はデータベースはとても身近な存在です。例えば,インターネットで買い物をするとき,コンピュータは簡単に処理を行っているように見えますが,実は裏ではデータベースシステムが複雑な処理をすばやく正確に行っているのです。

本書は,このような身近なデータベースに対しての疑問を解決し,データベースとはどのようなものかを詳しく知ることができます。データベースとは何か? から始まり,SQLの書き方など触れ,最終的にはデータベースの未来について探っていきます。すばやく,やさしくデータベースを学ぶのにもってこいの1冊です。

こんな方におすすめ

  • データベース初心者
  • データベースを深く知りたい方

目次

第1章 データベースはどのように動くのか

  • 1 データベースはコンピュータの中の最も基本的な役割
  • 2 通販サイトでは何が起きているか
  • 3 データベースは優秀な裏方
  • 4 データベースをめぐる冒険

第2章 データベースのデータはどのように保存され,どのように読み書きされるのか

  • 1 データベースのデータはどこにあるのか
  • 2 ハードディスクはどのような装置なのか
  • 3 ディスクの性能とは
  • 4 まとまった単位でのデータの読み書き
  • 5 BIOSは直接ハードディスクを制御する
  • 6 システム・コールによるファイルの読み書き
  • 7 ファイル・システム経由でのファイル操作
  • 8 バッファ・キャッシュとRawデバイス
  • 9 管理情報をもとに必要なデータを探す
  • 10 対象のデータをデータベースから取り出す

第3章 データベースのデータを表として扱うのはなぜなのか

  • 1 データ構造を表で表す理由
  • 2 人が理解しやすい形にモデル化されたデータベース
  • 3 表を集合論で解釈する
  • 4 データ・ブロックがデータの最少単位
  • 5 ブロックは分散して格納される
  • 6 セグメントと表領域
  • 7 ISAM・階層型は速さ,リレーショナルモデルは柔軟性が高い
  • 8 数学的モデルとレコード管理の間を埋めるもの

第4章 データベースはなぜ高速に読み書きができるのか

  • 1 RDBなのになぜ高速なのか
  • 2 データを一時的に保持するキャッシュ
  • 3 キャッシュのアルゴリズム
  • 4 キャッシュの管理は複雑
  • 5 キャッシュの効率化でより複雑に
  • 6 キャッシュの用途も複数ある(共有プール)
  • 7 ディスク書き込みは非同期に
  • 8 ログを保持して整合性を維持
  • 9 バッファ・キャッシュの総括

第5章 データベースが強く堅牢と言われているのはなぜか

  • 1 障害からデータベースを守る
  • 2 一連の処理を1つの単位として扱う:トランザクション
  • 3 完了しなければすべてを取り消す:ロールバック
  • 4 失われたトランザクションをログで再現:ロールフォワード
  • 5 ログをコピーして蓄積:アーカイブログ
  • 6 多重の保険は堅牢性を保障する

第6章 何人もの人が一気にデータベースにアクセスできるのはなぜか

  • 1 データベースは複数の人が同時に利用する
  • 2 さまざまなパターンで矛盾が発生する
  • 3 読み取り一貫性の問題について
  • 4 他のトランザクションからの影響の排除
  • 5 DBMSによって実装レベルは違う
  • 6 更新時の排他制御
  • 7 アプリの問題でデッド・ロックが発生

第7章 データベースへのアクセスにSQLを使うのはなぜなのか

  • 1 SQLはどのようにして生まれ,発展したのか
  • 2 COBOLプログラムとSQL 記述との違い
  • 3 SQLの実行のしくみ
  • 4 実行計画と統計情報
  • 5 SQLはデータの独立性を高める

第8章 SQLを覚えるためにはどうしたらよいか

  • 1 SQLがとっつきにくいのはなぜか
  • 2 データベースと会話するための言葉
  • 3 SQLは英作文である
  • 4 やりたいことを視覚化する
  • 5 SQLに翻訳してみる
  • 6 段階的にSQL文を組み立てる

第9章 これだけ覚えておけばOKというSQL はどのようなものか

  • 1 SQLは基本パターンで覚えること
  • 2 SELECT文
  • 3 テーブルの結合
  • 4 集合関数とグルーピング
  • 5 外部結合
  • 6 副問い合わせ
  • 7 その他の命令
  • 8 追加・更新・削除
  • 9 テーブル・インデックスの作成・削除

第10章 プログラムからSQLを呼ぶためにはどうすればよいか

  • 1 プログラムとSQLをつなぐもの
  • 2 EXCELでテーブルをのぞいてみる
  • 3 Oracle Netの構造
  • 4 プログラムインタフェース
  • 5 接続文字列の決定
  • 6 最も簡単なプログラミング
  • 7 プログラムの説明
  • 8 取り出した列のデータをセルにセットするプログラム
  • 9 更新のための簡単なプログラム
  • 10 処理ボタンを配置する
  • 11 削除のためのプログラム
  • 12 追加のためのプログラム
  • 13 プレースホルダのプログラム

第11章 データベースはどこまで強く大きくなるのか

  • 1 より強く大規模なデータベースをめざして
  • 2 予備サーバを用意して,手動による復旧をするのが基本
  • 3 フェイルオーバー・クラスタリング
  • 4 レプリケーション(非同期)
  • 5 オラクルパラレルサーバ
  • 6 オラクルRAC(Real Application Clusters)
  • 7 共有ディスクの可用性について
  • 8 大震災やテロに備える

第12章 データベースはどこに向かっているのだろうか

  • 1 グリッド・コンピューティング
  • 2 クラウド・コンピューティング
  • 3 クラウドの実際
  • 4 インメモリ・データベースで究極のスケールアップ
  • 5 極限まで小さくした組み込み型データベース
  • 6 OSはデータベースを取り込めたのだろうか

付録

  • Oracle Database 10g Express Editionのインストールとテストデータのセットアップ

著者プロフィール

小野哲(おのさとし)

無駄に長い開発歴40年のどこにでもいる普通の老プログラマー。子育て卒業後,零細企業の社内プログラマーとしてフリー契約し禄を食む。セルフビルドした2畳の小屋で2年ほど森の生活をしていたが,H.D.ソロー超えを果たしたので現在は市中で静かに暮す。好きなものはNetflix。

Twitter: @tetu_ono