山田 祥寛 著
本書はこれからDBを学ぶ人向けに、「データ」「データベース」「情報」の違いといった超入門的なことから、リレーショナルDBの仕組みやデータベースを操作する言語「SQL」、DBを構成する要素である「ビュー」「ストアドプロシージャ」「トリガー」などをイチから解説するものです。題材とするDBは、誰でも手軽に使えるオープンソースのMySQL。DBの仕組みをやさしくていねいに解説しながら、最終的にはJavaを使ったDBプログラミングの応用までをカバーします。
本書は月刊DB Magazineの人気連載「データベースはじめの一歩」を加筆/再編集し、書籍としてまとめたものです。
Chapter 1 データベースって何だろう?
「データ」と「情報」の違い
「データ」と「情報」と「データベース」
データベースの実体は1つではない
データベースの種類
階層型/ネットワーク型データベース
カード型データベース
リレーショナルデータベース
オブジェクト指向データベース
ネイティブXMLデータベース
本章のまとめ
Chapter 2 リレーショナルデータベースの基本「テーブル」を理解する
リレーショナルデータベースの構造(復習)
データ型を理解しよう
データ型にはどんなものがある?
文字列型~固定長文字列と可変長文字列
数値型~整数型と固定小数点型/浮動小数点型
データの整合を保つ「制約」
PRIMARY KEY制約(主キー制約)
FOREIGN KEY制約(外部キー制約)
その他の制約
テーブル設計に欠かせない「正規化」
繰り返し項目を除去する~第1正規化
関数従属の関係にあること~第2正規化
主キー以外の値が主キーによってのみ決まること~第3正規化
本章のまとめ
Chapter 3 無償で使える MySQL サーバーを使ってみよう
本書でMySQLを使う理由
MySQLをインストールしよう
手順1:パッケージを入手し、必要なファイルを配置する
手順2:サービスとして登録する
手順3:設定ファイルを用意/配置する
手順4:パスワードを設定する
mysqlクライアントの基本的な用法を理解しよう
データベースを作成しよう
テーブルを作成しよう
データを挿入して確認しよう
本章のまとめ
Chapter 4 SQLをはじめよう!(前編)
データベースの理解に必須なSQL
SQLは英語によく似ている
SQLの種類
SQLの書き方の基本の“キ”
命令の末尾を表わすのはセミコロン(;)
予約語の大文字/小文字は区別しない
空白や改行は自由に加えて構わない
コメントは「--」「/*~*/」
データを登録/更新/削除する
新規レコードの登録―INSERT命令―
既存レコードの更新―UPDATE命令―
既存レコードの削除―DELETE命令―
データを検索する~SELECT命令
取得列を明示的に宣言するには?
条件式で行の絞り込みを行なうには?
(1)あいまい検索
(2)NULLを検出する方法
複数の条件式を組み合わせるには?
データを並べ替えるには?
m~n行目のデータを取り出すには?
グループ化を行なうには?
列に別名を与えるには?
本章のまとめ
Chapter 5 SQLをはじめよう!(後編)
データベースの準備
取得データを加工する―関数―
さまざまな演算子
さまざまな関数
(1)LENGTH関数
(2)FLOOR/CEILING/TRUNCATE関数
(3)DATE_ADD関数
(4)EXTRACT関数
(5)CASE関数
複数のテーブルを結合する
内部結合
外部結合
3つ以上のテーブルを結合する
ある問い合わせの結果に基づいてデータを検索したい
サブクエリの基本
複数値でのサブクエリ
サブクエリとEXISTS演算子
本章のまとめ
Chapter 6 トランザクションとロック
トランザクション処理
お金の振込み処理でトランザクションを確認する
トランザクションの動作を確認しよう
トランザクション機能を利用する場合の注意点
トランザクションの挙動を確認する
セーブポイントで部分的なロールバックも可能
ロックとトランザクション分離レベル
ロックの必要性
ロックの種類
ロックの粒度
トランザクション分離レベル
トランザクションの内部的な動作を理解する
トランザクションの基本は履歴の保存
本章のまとめ
Chapter 7 データベースの性能を向上する「インデックス」
インデックスとは
インデックスの内部構造を理解しよう
Bツリー
インデックスを使った検索の流れ
インデックスの設置と分析
インデックスを作成する
マルチカラムインデックスとユニークインデックス
インデックスの利用状況を確認する
インデックスは常に使用されるわけではない
本章のまとめ
Chapter 8 仮想表で複雑なSQL命令を「ビュー」でシンプルに定義
リレーショナルデータベースの基本(正規化の復習)
ビューとは?
ビューの活用
ビューを作成しよう
ビューの内容を確認してみよう
ビューを利用してみよう(SELECT命令)
ビューを利用してみよう(INSERT/UPDATE/DELETE命令)
WITH CHECK OPTION句による指定
本章のまとめ
Chapter 9 データベースアクセスを手続き化する「ストアドプロシージャ」
ストアドプロシージャとは?
データベースに保存されたSQL命令の集合体
ストアドプロシージャの活用
ストアドプロシージャを定義しよう
ストアドプロシージャを確認しよう
ストアドプロシージャを実行しよう
ストアドプロシージャを使いこなしたい
出力パラメータを利用しよう
多岐分岐はIF命令でも実現できるが・・・
多岐分岐にはCASE命令が便利
ローカル変数を定義する
繰り返し構文も見てみよう
WHILE命令とREPEAT命令の違いは?
本章のまとめ
Chapter 10 ストアドファンクションとトリガー
ストアドファンクションとは?
ストアドファンクションを定義しよう
ストアドファンクションを確認しよう
トリガーとは?
トリガーの基本構文
トリガーを定義しよう
トリガーを確認しよう
トリガーの実行を確認しよう
カーソルを理解する
カーソルを利用してみよう
本章のまとめ
Chapter 11 Javaで開発するDBアプリケーション(前編)
アプリケーションからデータベースを操作する
アプリケーション開発に使用する言語
必要なソフトウェア
Java SE Development Kit(JDK)
Eclipse
Connector/J
Connector/JとJDBC
JDBCの構造
Eclipseによるアプリケーション開発を始めよう
“Hello,World!”アプリケーションを作成する
データベースに接続する
データベース切断時の注意点
データを登録してみよう
データを検索しよう
本章のまとめ
Chapter 12 Javaで開発するDBアプリケーション(後編)
はじめに
Webアプリケーションとは?
クライアントとサーバー
静的なページと動的なページ
JSP&Servlet動作のための環境構築
Connector/Jのインストール
アプリケーションフォルダの作成
サンプルデータベースの用意
JSPの基本を学ぶ
まずは動かしてみよう
JSPの基本
データベースに接続する
コネクションプーリングの準備
接続のテスト
在席管理アプリケーションを構築してみよう
具体的なコードを見てみよう
認証機能を実装しよう
本章のまとめ
付録
MySQLデータベースの管理を効率化する
MySQL GUI Tools
Microsoft Access
Eclipse IDE for Java EE
phpMyAdmin
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 034 下から2行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 036 本文上から2行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 053 LIST7 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 061 本文1行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 084 下から5行目の見出し |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 122 2行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 265 索引、右段のRの下から1行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | 266 索引、左段のTの下から2行目 |
2刷 | 未 |
|
2013.01.29 | ||||||
1刷 | vi 目次、Chapter5の6行目 |
2刷 | 未 |
|
2013.01.29 |
lupin14 さん
2010-06-25
=) ベーシックな部分から知ることができてよかった。初心者向けだと思う。何度か読みなおして理解を深めることにしよう
おでんじん さん
2010-02-28
『MySQLで学ぶ・・・』だけあって、MySQLについて色々と書かれていました。後半はJavaを使ったWebアプリケーションの作成方法まで書かれています。