これだけは知っておきたい データベースの常識
- 藤本壱 著
- 定価
- 2,178円(本体1,980円+税10%)
- 発売日
- 2009.7.1[在庫なし] 2016.6.22
- 判型
- A5
- 頁数
- 240ページ
- ISBN
- 978-4-7741-3905-0 978-4-7741-8245-2
サポート情報
概要
データベースは、知らないうちに皆が利用しているものですが、リレーショナルデータベースとは何かとか、SQLって何?など、知っておかなければならない知識が多くあります。本書では、それぞれのデータベースの歴史から、どのような技術が使われているか、何のための技術なのかなど、系列立てて解説します。Webアプリケーションからデータベースを呼ぶようなアプリケーションを作る人までの、学習や知識の整理のために役立ちます。
こんな方にオススメ
- データベースを初めて学習する学生の教材として
- SEやデータベース管理に携わる人の全般的な知識の向上
- データベースを利用する人の一般的な知識として
目次
第1章 データベースの第一歩
1.1 データベースとは何か
- データとデータベース
- コンピュータ化されたデータベース
1.2 データベースとデータモデル
- データモデルとは
- 階層型データモデル
- ネットワーク型データモデル
- リレーショナルデータモデル
1.3 データベースの設計
- データベースの設計図「スキーマ」
- 3つのスキーマ
- スキーマを3階層にするメリット
1.4 最近のデータベースの流れ
- オブジェクト指向データベース
- XMLデータベース
- ORM
1.5 データベースの主なソフト
- 商用のリレーショナルデータベース
- オープンソースのリレーショナルデータベース
- 一般向けのリレーショナルデータベース
- 各種のデータベース
第2章 リレーショナルデータベースの考え方
2.1 「表」や「集合演算」が基本
- データを表形式で表す
- 集合演算でテーブルを組み合わせる
- リレーショナルデータベースに独自な「選択」「射影」「結合」
- null(ナル)について
- 様々な処理を組み合わせる
- リレーショナルデータベースとSQL
2.2 ER図(Entity-ralationship Diagram)でテーブルの関係を図示する
- ER図の必要性
- 実体(Entity)とは?
- 関連とは?
- 3種類の関連
2.3 テーブルの正規化
- 正規化するテーブルの例
- 1つの行/列に1つの値を入れる───第1正規形
- 主キーに部分関数従属する列を別テーブルに分ける───第2正規形
- 推移的に関数従属する列を別のテーブルに分ける───第3正規形
- その他の正規形
- 意図的に正規形を崩すこともある
2.4 結合のパターン
- 1対多結合
- 多対多結合
- 1対1結合
第3章 リレーショナルデータベースをコントロールする「SQL」
3.1 SQLの概要
- SQLの概要
- SQLの生い立ち
- DML/DDL/DCL
3.2 行を取り出す
- select命令でテーブルの行をすべて取り出す
- 射影を行う(テーブルから一部の列を取り出す)
- 選択を行う(一部の行を取り出す)
- 複数の条件を組み合わせて選択する
- 行の並べ替え
- 値が重複する行を除外する
3.3 テーブル内での計算や集計
- 列同士の計算
- 集計を行う
- グループ化して集計する
- 集計結果に条件を指定する
- 集計結果を並べ替える
3.4 テーブルを結合する
- 内部結合
- 外部結合
- 自己結合
- 結合のselect文の様々な書き方
3.5 副問い合わせと相関副問い合わせ
- 副問い合わせの概要
- where句の条件に副問い合わせを使う
- 副問い合わせの結果をテーブルのように扱う
- 相関副問い合わせの概要
3.6 テーブルの作成と行の挿入等の操作
- テーブルの作成───create table命令
- 行の作成───insert命令
- 行の内容の変更───update命令
- 行の削除───delete命令
第4章 より高度なデータベース処理
4.1 ユーザ/権限/ロールの設定
- ユーザとは?
- ユーザ操作関係のSQL
- ユーザに権限を与える
- 権限操作関係のSQL
- 複数の権限を「ロール」にまとめる
4.2 ビューの作成
- ビュー(View)とは?
- ビューに関するSQL
- ビューの使い道
4.3 テーブルや列に制約を設定する
- 制約の概要
- 一意性制約
- 非null制約
- 主キー制約
- 検査制約
- 参照制約
- テーブル作成後の制約の追加と削除
4.4 インデックスで検索を高速化する
- インデックスとは?
- インデックスとB木
- 適切なインデックス付けが必要
- インデックスに関するSQL
4.5 データベース側で各種の処理を実行する───ストアドプロシージャ
- ストアドプロシージャの仕組み
- ストアドプロシージャのメリットとデメリット
- ストアドプロシージャの作成や実行
4.6 各種のタイミングで処理を自動的に行う───トリガ
- トリガの仕組み
- 文単位のトリガと行単位のトリガ
- トリガの連鎖(カスケード)
- トリガの作成や実行
4.7 トランザクションと障害対策
- 一連の処理が途中で失敗するとどうなる?
- トランザクションで処理を確実に行う
- ACID特性
- トランザクションの処理
- データベースの障害
- バックアップ/チェックポイント/ログ
- システム障害からの復旧
4.8 同時に多数のユーザがデータベースにアクセスできるようにする(同時実行制御)
- 2つの処理が同時にテーブルを更新するとどうなる?
- 「ロック」で問題を解決する
- ロック中にさらにロックをかけようとした場合(ロックの競合)
- ロックの細かさ(粒度)
- 二相(Two Phase)ロック
- デッドロック
- トランザクション分離レベルの指定
- 同時実行制御に関するSQL
4.9 複数のサーバにデータベースを分散する
- 分散データベース
- 分散データベースの要件
- サーバの分散形式
- テーブルの分割
- 分散問い合わせ処理とその効率化
- 分散トランザクション
- レプリケーション(複製)
4.10 インターネットとデータベース
- Webアプリケーションと3層クライアント・サーバシステム
- セキュリティの問題
第5章 データベース主要用語集
プロフィール
藤本壱
1969年兵庫県伊丹市生まれ。神戸大学工学部電子工学科を卒業後、パッケージソフトメーカーの開発職を経て、現在ではパソコンおよびマネー関連のフリーライターや、ファイナンシャルプランナー(CFP(R)認定者)などとして活動している。
ホームページ
URL:http://www.1-fuji.com
Blog
URL:http://www.h-fj.com/blog