【本書のポイント】
●手を動かす実習でデータベースの動作と仕組みをつかめる
●SQLだけでなくコストの考え方や障害に備える方法も図解でわかる
●需要が高まるクラウドでのデータベース操作にも対応
【こんな人におすすめ】
●データベースについて基本的な知識を学んでおきたいエンジニア
●データベースを利用するシステムの運用・発注などの担当者
●データを扱う業務に携わるビジネスパーソン
【本書の内容】
本書では、身の回りでもあらゆる場面で用いられる「データベース」について、その考え方や動作の仕組みなどの基本をきちんと学べます。
「やってみよう」のページでは、実際にデータベースを手元のPCやクラウド環境で動かして挙動を学べるほか、とっつきにくい概念を身近な例から考えてみるクイズを用意しています。
「学ぼう」のページでは、実習の内容を解説するとともに、データベースの操作だけでなくコストや障害対策、パフォーマンスについての考え方などデータベースに関わるすべての人に必須の知識を身につけられます。
【目次】
Chapter 1 データベースって何だろう ~その用途と役割~
Chapter 2 リレーショナルデータベースって何だろう ~最も代表的なデータベース~
Chapter 3 データベースにまつわるお金の話 ~イニシャルコストとランニングコスト~
Chapter 4 データベースとアーキテクチャ構成 ~堅牢かつ高速なシステムを構築するために~
Chapter 5 DBMSを操作する際の基本知識 ~操作する前に知っておくこと~
Chapter 6 SQL文の基本を学ぼう ~SELECT文を理解する~
Chapter 7 トランザクションと同時実行制御 ~複数のクエリをまとめる~
Chapter 8 テーブル設計の基礎 ~テーブルの概念と正規形~
Chapter 9 バックアップとリカバリ ~障害に備える仕組み~
Chapter 10 パフォーマンスを考えよう ~性能を向上させるために~
Chapter01 データベースって何だろう ~その用途と役割~
1-1 データベースの役割を考えてみよう
1-1-1 私たちとデータベースの関わり
1-1-2 データベースの基本機能
1-1-3 データベースの種類
データベースの5つの分類
Chapter02 リレーショナルデータベースって何だろう ~最も代表的なデータベース~
2-1 代表的なDBMSを調べてみよう
2-1-1 「リレーショナルデータベース」って何?
2-1-2 SQL文の基礎知識
2-1-3 リレーショナルデータベースを扱うための予備知識
Chapter03 データベースにまつわるお金の話 ~イニシャルコストとランニングコスト~
3-1 イニシャルコストとランニングコストを考えよう
3-1-1 なぜ私たちはシステムにお金を払うのか?
3-1-2 データベースのイニシャルコスト
3-1-3 イニシャルコストを増やす犯人
3-1-4 データベースのランニングコスト
3-1-5 イニシャルコストとランニングコストの組み合わせ
3-1-6 クラウドデータベースにおける従量制モデルの勃興
3-1-7 イニシャルコストのトリックに注意!
Chapter04 データベースとアーキテクチャ構成 ~堅牢かつ高速なシステムを構築するために~
4-1 「冗長化」について考えてみよう
4-1-1 「アーキテクチャ」って何?
4-1-2 データベースのアーキテクチャを考えよう(1) ~歴史と概要~
4-1-3 データベースのアーキテクチャを考えよう(2) ~可用性と拡張性の確保~
4-1-4 DBサーバの冗長化 ~クラスタリング~
4-1-5 DBサーバとデータの冗長化 ~レプリケーション~
4-1-6 パフォーマンスを追求するための冗長化 ~シェアードナッシング~
4-1-7 クラウドにおける冗長化の考え方
4-1-8 適切なアーキテクチャを設計するために
Chapter05 DBMSを操作する際の基本知識 ~操作する前に知っておくこと~
5-1 MySQLをインストールしてみよう
オンプレミス環境にインストールする
クラウド環境にインストールする
5-1-1 MySQLと接続(コネクション)を作ろう
5-1-2 データベースに電話をかけよう
5-1-3 SQLと管理コマンドの違い
5-1-4 リレーショナルデータベースの階層
Chapter06 SQL文の基本を学ぼう ~SELECT文を理解する~
6-1 SELECT文でテーブルの中身をのぞいてみよう
6-1-1 SELECT文の基本を学ぼう
6-2 SELECT文を応用してみよう
6-2-1 SELECT文の応用操作を学ぼう
6-3 データを更新・挿入・削除してみよう
6-3-1 データの更新と挿入
6-4 ビューの作成と複数のテーブルからのSELECT
6-4-1 ビューの作成と副問い合わせ、結合
Chapter07 トランザクションと同時実行制御 ~複数のクエリをまとめる~
7-1 トランザクションを扱えるテーブルを作成しよう
7-1-1 「トランザクション」って何?
7-1-2 「他のコネクションからどう見えるか」を考えよう
7-2 複数のコネクションから読込と書込を行おう
7-2-1 トランザクション分離レベルによる見え方の違い
7-3 ロックタイムアウトとデッドロックを試そう
7-3-1 ロックタイムアウトとデッドロックが起こる理由
7-3-2 やってはいけないトランザクション処理
Chapter08 テーブル設計の基礎 ~テーブルの概念と正規形~
8-1 「集合」と「関数」を考えてみよう
8-1-1 テーブル設計の基礎
8-1-2 テーブル設計のルール
8-1-3 「正規形」って何?
8-1-4 「ER図」って何?
Chapter09 バックアップとリカバリ ~障害に備える仕組み~
9-1 作業中のMySQLサーバを強制終了してみよう
9-1-1 持続性とパフォーマンスを両立させる仕組み
9-1-2 バックアップとリカバリ
Chapter10 パフォーマンスを考えよう ~性能を向上させるために~
10-1 パフォーマンスについて考えてみよう
10-1-1 「パフォーマンス」って何?
10-1-2 データベースとボトルネックの関係
10-1-3 データベースのパフォーマンスを決定する要因
10-1-4 実行計画はどのように立てられているのか
会員特典はこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。