...

DB2 UDB セルフスタディキット 前編(インストールから DB 作成まで) 日本アイ・ビー・エム株式会社

by user

on
Category: Documents
117

views

Report

Comments

Transcript

DB2 UDB セルフスタディキット 前編(インストールから DB 作成まで) 日本アイ・ビー・エム株式会社
DB2 UDB セルフスタディキット
前編(インストールから DB 作成まで)
日本アイ・ビー・エム株式会社
ソフトウェア事業部
ソフトウェア・テクニカルサポート
DM 技術部
データベース技術推進グループ
1.はじめに
1.1
目的と概要
当資料は、読者の目的に合わせて利用していただくセルフスタディキットです。DB2
UDB V8.1 のインストールから DB2 にアクセスする簡単なアプリケーションの開発ま
でを説明します。読んで概要を理解するだけでも、またそれ以外の研修コースへの準備
学習用としても利用いただけます。さらに、実際にご自分の環境下に導入していただき
DB2 に触れてみる、アプリケーションの開発まで行って実際にデータ操作を行ってみる
ことも可能です。
1.2
対象者
DBMS について基本的な知識はあるが、DB2 にはあまり触れたことがないという方、
DB2 の概要およびアプリケーションの開発に興味のある方、などを対象としています。
そのため、DBMS に関する基本的なことについては触れていない場合もございますので
その点はご了承ください。
1.3
学習の目標
学習者がこのキットを修了した時点で次のことができることを目標とします。
・DB2 UDB のインストールができる
・データベースの基本構成について説明することができる
・簡単なデータベース環境を構築することができる
・DB2 にアクセスする簡単なアプリケーションの開発をすることができる
1.4
検証環境
当資料にて記載する内容につきましては本文中に特に断りがない限り、次の環境を前提
にしています。
・Windows 2000 Professional SP3
DB2 UDB V8.1 ( V8.1 以 降 、 DB2 UDB Workgroup Edition は 、 DB2 UDB
Workgroup Server Edition という名称になっています。 また|DB2 UDB Workgroup
Unlimited Edition は、現在は DB2 UDB Workgroup |Server Unlimited Edition と
いう名称になっています。)また、お試し版については DB2 UDB Enterprise Server
Edition(ESE)ですが、今回の学習ではどのエディションをお使いになっていただいても
結構です。
1.5
変更履歴
2003/03 第 1 版
セルフスタディキット【前編】
1
1.6
お断り
・この資料は、学習用資料として作成したものです。将来この資料の全体、または一部
を変更する場合があります。
・資料に含まれている情報は正式なIBMのテストを受けていません。また、明示的に
しろ、暗黙的にしろ、何らの保証もなしに配布されるものです。この情報の使用また
はこれらの技術の実施は、いずれも使用先の責任において行われるものであり、また、
それらを評価し、実際に使用する環境に統合する使用先の判断に依存しています。こ
れらの技術を自身の環境に適用することを試みる使用先は自己の責任において行う必
要があります。本書の使用に際しては、使用先独自の環境下で適用可能かデータを検
討してください。
1.7
商標
MicrosoftTM WindowsTM 2000 operation system 日本語版
Microsoft および Windows は米国およびその他の国における登録商標です。
その他の製品は IBM または各社の商標または登録商標です。
本文中では、TM マーク、および R マークは明記していません。
セルフスタディキット【前編】
2
2.セルフスタディキットについて
2.1
概要
このセルフスタディキットでは、DB2 にアクセスするアプリケーションの構築を目標に、
DB2 UDB V8.1 をインストールし、データベース環境を構築、そしてそのデータベース
にアクセスする簡単なアプリケーションの実装までを行っていきます。
【前編】MARKET データベースを作
成します
MARKET DB
【後編】アプリケーションを作成します
ログイン画面
閲覧画面
編集画面
サインアップ
ログオフ画面
画面
(注)尚、アプリケーションの構成は多少変更されることがあります。
詳細は後編でご確認ください。
セルフスタディキット【前編】
3
2.2
学習内容と学習時間の目安
【前編】
前編では、DB2 UDB をインストールし、データベース環境を構築します。
■第 1 時限目
:
DB2 UDB のインストール(WSE の標準インストール)
[学習目標]DB2 UDB のインストールができるようになる。
[学習時間]20∼30 分
■第 2 時限目
: サンプル・データベースの作成とコントロール・センターの利用
[学習目標]DB2 UDB に付属のサンプル・データベースを作成、参照できるようにな
る。また、主なGUIツールを使用し、概要を理解する。
[学習時間]10∼20 分
■第 3 時限目
: アプリケーションのためのデータベース環境の作成
[学習目標]アプリケーション構築に使用する簡単なデータベース環境とはどういうも
のか理解し、構築できるようになる。
[学習時間]30∼40 分
【後編】
後編では、そのデータベースにアクセスする簡単なアプリケーションの実装までを
行っていきます。
■第 1 時限目
: アプリケーション開発
[学習目標]DB2 UDBにアクセスする簡単なアプリケーションを開発できるように
なる。
[学習時間]30∼60 分
セルフスタディキット【前編】
4
2.3
用意するもの
□①DB2 UDB Workgroup Server Edition(WSE) V8.1 の CD-ROM
あるいは、www.ibm.com/jp/software/data/download/
からお試し版をダウンロードし
てご利用下さい。(尚、お試し版については DB2 UDB Enterprise Server Edition(ESE)
ですが、今回の学習ではどのエディションをお使いになっていただいても結構です)
□②DB2 HTML Documentation の CD-ROM(任意)
これはオンライン資料のインストール(任意作業)の時に使用する CD-ROM です。
□
インストールの前提条件
・ディスク所要量 : サイズ見積もりはインストールのタイプとコンポーネント選択
に基づいて、インストール・プログラムによって動的に指定されます。およそ、標準(約
400-600MB)、コンパクト(約 270-410MB)、カスタム(約 270-700MB)が必要になり
ます。
・メモリー所要量 : 少なくとも 256MB の RAM が必要です。また、追加メモリー
が必要になる場合があります。
・オペレーティング・システム要件
:
Windows NT バージョン 4 Service Pack 6a∼
あるいは、
Windows 2000 Service Pack 2∼、Windows XP(32 ビット)などが必要です。
・ハードウェア要件 : 32 ビット DB2 製品では、Pentium または Pentium 互換
CPU が必要です。64 ビット DB2 製品では、Itanium または Itanium 互換 CPU が
必要です。
・ソフトウェア要件 : コントロール・センターのような DB2 の Java ベースのツ
ールの実行をするには、 Java Runtime Environment (以降、JRE と記述する) バージ
ョン 1.3.1 が必要になります。DB2 の Java ベースのツールのインストールを選択し
た場合、DB2 セットアップ・ウィザードが JRE バージョン 1.3.1 インストールします。
また、オンライン・ヘルプを表示するためには、ブラウザーが必要です。
セルフスタディキット【前編】
5
第1時限目
DB2 UDB のインストール
(WSE の標準インストール)
●学習内容
□DB2 UDB Workgroup Server Edition(以降、WSE と記述) V8.1 をインストールします。
●学習目標
□DB2 UDB WSE V8.1 のインストールができるようになることを目標とします。
●学習時間
約 20∼30 分
●作業概要
作業概要と、その時に決定すべき設定項目がある場合それを記述しています。事前にご確認
ください。
a.インストール・タイプの選択(→操作 6.)
↓
b.インストールするフォルダの選択(→操作 7.)
↓
c.ユーザー情報の設定(→操作 8.)
↓□インストールするには、そのユーザーIDに Windows の管理者権限(Administrators)
が必要です、事前に確認をお願いします。
d.管理連絡先リストのセットアップ(→操作 9.∼)
↓□障害時の連絡先の指定をします。(省略可)(*1)参照
e.DB2 インスタンスの構成(→操作 11.∼)
↓□インスタンス名を指定します。
(省略可)(*1)参照
f.ヘルスモニター通知先の指定(→操作 13.∼)
↓□モニター情報の連絡先を指定します。(省略可)(*1)参照
[任意]g.最新の修正パッケージの適用(→操作 16.)
↓
[任意]h.インストールの検証(→操作 17.)
↓
[任意]i.オンライン資料のインストール(→操作 18.∼)
(*1)これらの作業は、ここでは省略し、後で設定することもできます。後でこれらの作業を
実行することについて詳しくは、「DB2 インフォメーション・センター」の関連情報を参照
してください。
セルフスタディキット【前編】
6
●操作
□1.DB2 UDB WSE V8.1 の CD-ROM を挿入し、該当ディレクトリーの
「(..¥WSE¥IMAGE¥)SETUP.EXE」を実行すると、DB2 セットアップ・ウィザードが起
動します。
□2.DB2 セットアップ・ウィザードの左メニューで「製品のインストール」をクリッ
クします。
セルフスタディキット【前編】
7
□3.「次へ」をクリックします。
□4.≪インストールの準備をしています。≫画面の後、しばらくすると自動的に≪DB2
セットアップ・ウィザードへようこそ≫画面が表示されます。「次へ」をクリックします。
セルフスタディキット【前編】
8
□5.「使用条件の条項に同意します」を選択し、「次へ」をクリックします。
セルフスタディキット【前編】
9
□6.「標準」を選択し、
「次へ」をクリックします。
Q:カスタムインストールを選択したい場合は?
A:選択肢は、次の種類が用意されています。また、それぞれの項目も詳細に分かれています。デ
ィスク容量が足りない場合等に有効です。導入時の説明記述を見ながら使用しない開発ツールや機
能は除くといったやり方で導入する容量を減らしていくと良いでしょう。
【選択】
1.アプリケーション開発ツール
アプリケーション開発ツール・グループには、DB2 アプリケーションを開発するのに使用できる
ツールやサンプル・プログラムが含まれています。
2.サーバー・サポート
サーバー・サポート・グループには、サーバー機能を拡張するのに必要な DB2 サーバー・コンポ
ーネントおよび追加コンポーネントが含まれています。
3.管理ツール
管理ツール・グループには、ローカルおよびリモート・データベースを管理するのに使用される
DB2 グラフィック・ツールとコマンド行ツールが含まれています。
4.入門
入門グループには、ファースト・ステップ・アプリケーションやサンプル・データベースのよう
な入門コンポーネントが含まれています。ファースト・ステップ・アプリケーションはサンプル・
せー他ベースを作ってさらに勉強したい人は導入してみてください。
5.クライアント・サポート
クライアント・サポート・グループには、クライアント機能を拡張するのに必要な DB2 クライア
ント・コンポーネントおよび追加コンポーネントが含まれています。
6.ビジネス・インテリジェンス
ビジネス・インテリジェンス・グループには、ビジネス・インテリジェンス・タスクを実行する
ための追加機能を提供するコンポーネントが含まれています。
セルフスタディキット【前編】
10
□7.インストール先を指定し、「次へ」をクリックします。今回は、デフォルト値のまま(本
例では、C:¥Program Files¥IBM¥SQLLIB)にインストールします。
□8.ローカル・ユーザー情報を設定し、「次へ」をクリックします。
ドメイン :ブランクのまま
ユーザー名:db2admin(db2admin はデフォルト値、30byte まで)
パスワード:任意(14byte まで)
*ここで指定するユーザー名は自動的に Administrators グループに入ります。また
パスワードはデータベースに接続する際に指定します。
セルフスタディキット【前編】
11
□9.ここでは管理先情報のセットアップを行います。ヘルス・センター(第2時限目参照)
でアラートが出た時に使用される連絡先情報を保管します。ここでは省略し後で設定するこ
ともできますが、詳細については[DB2 管理ガイド: インプリメンテーションにある「通知
および連絡先リストのセットアップおよび構成」]を参照してください。
「次へ」をクリックします。
□10.先ほどの管理連絡先リストのセットアップを完了していないと次のような警告の画
面が出る場合があります。「OK」をクリックし、先に進んでいただいて結構です。
セルフスタディキット【前編】
12
□11.ここでは、DB2 のインスタンス(デフォルトインスタンス名:DB2)を作成します。
「次へ」をクリックしてください。
インスタンスとは、データベースをカタログし、構成パラメーターを設定するための、論理
データベース・マネージャー環境です。インスタンスは、必要に応じて複数作成できます。
インスタンスを追加作成する方法については後ほど行いますので第3限目を参照してくださ
い。また、右側にあるボタン「プロトコル」はサービス名やポート番号などを設定できます。
「スタートアップ」はシステム起動時にインスタンスの起動を行うかどうかを設定できます。
セルフスタディキット【前編】
13
□12.DB2 ツール・カタログを準備するかどうかを指定します。今回はタスク・センタ
ーやスケジューラーを使用しないので、「準備しない」を選択し、「次へ」をクリックします。
□13.ヘルス・モニター機能についても使用しないので「保留する」を選択し、「次へ」を
クリックします。後で設定することもできます、詳細は[DB2 管理ガイド: インプリメンテ
ーションにある「通知および連絡先リストのセットアップおよび構成」]を参照してくださ
い。
セルフスタディキット【前編】
14
□14.設定内容が表示されます。
「インストール」をクリックします。
□15.≪インストールしています≫画面が表示され、完了すると自動的に≪セットアップ
が完了≫画面が表示されます。
セルフスタディキット【前編】
15
これで DB2 UDB のインストールは完了しました。
□16.最新の修正パッケージの適用(ただし、この作業は任意作業です。)
DB2 セットアップ・ウィザードを使用して DB2 をインストールした後、最新の DB2 バ
ージョン 8 修正パッケージを適用します。 DB2 修正パッケージは、IBM(R) サポート・
サイト
(http://www-3.ibm.com/software/data/db2/udb/winos2unix/support/)
にある IBM DB2 UDB and DB2 Connect オンライン・サポートからダウンロードしてくだ
さい。
□17.インストールの検証(今回の学習では第2時限目に行います。)
これまでが実際のインストール作業ですが、最後にインストールを検証することをお勧めし
ます。以下のようにして、インストールを検証することができます。ただし、今回の学習で
は第2時限目に行いますので概要だけ理解してください。
db2sampl コマンドを使用して、サンプル・データベースを作成します。ファースト・ステ
ップ・ユーティリティーのインストールを選択した場合には、それを使用してサンプル・デ
ータベースを作成することもできます。サンプル・データベースが正常に作成されたならば、
SQL コマンドを実行してサンプル・データを検索します。
セルフスタディキット【前編】
16
□18.オンライン資料のインストール(ただし、この作業は任意作業です)
V8からはオンライン資料は別個の CD-ROM になっております。
”DB2 HTML Documentation” と書かれた CD-ROM を挿入すると、自動的に DB2 セット
アップ・ウィザードが起動します。左メニューで「製品のインストール」をクリックします。
□19.「次へ」をクリックします。
セルフスタディキット【前編】
17
□20.≪インストールの準備をしています。≫画面の後、自動的に≪DB2 セットアップ・
ウィザードへようこそ≫画面が表示されます。
「次へ」をクリックします。
セルフスタディキット【前編】
18
□21.「使用条件の条項に同意します」を選択し、「次へ」をクリックします。
□22.「インストールする」を選択し、「次へ」をクリックします。
セルフスタディキット【前編】
19
□23.「次へ」をクリックします。
(必要であればディスク容量を確認します。)
□24.英語と日本語が選択されていることを確認し、「次へ」をクリックします。
セルフスタディキット【前編】
20
□25.操作23で選択した設定内容が表示されます。「インストール」をクリックします。
□26.≪インストールしています≫画面が表示され、完了すると自動的に≪セットアップ
が完了≫画面が表示されます。
セルフスタディキット【前編】
21
これでオンライン資料のインストールが完了しました。
この資料の参照方法については、第2時限目で説明しますのでそちらを参照してください。
□27.その他の資料
DB2 Version 8 HTML 資料は、ブラウザーで参照するトピック形式の DB2 資料になって
い ま す が 、 PDF 形 式 の 資 料 も あ り ま す 。 こ ち ら を 導 入 し た い 場 合 に は 、 DB2 PDF
Documentation と書かれた CD-ROM を使用してください。
また、最新のマニュアルは、以下のサイトからダウンロードすることも可能です。DB2 のラ
イブラリーですので一度ご覧下さい。
http://www.ibm.com/jp/software/data/developer/library/manual/db2online/index.htm
お疲れ様でした。
これでDB2 UDBのインストールが
終わりました。
セルフスタディキット【前編】
22
【第1時限目】クイズ
ご興味のある方はトライしてください。(回答は付録にあります)
■Q1:DB2 はどこにインストールされましたか?ディレクトリーを確認してみてください。
A1:
■ Q2:DB2 をインストールするとどんなサービスが追加されたか確認してみてください。
A2:
セルフスタディキット【前編】
23
第2時限目
サンプル・データベースの作成と
コントロール・センターの利用
●学習内容
□ファースト・ステップ・ユーティリティーを使って DB2 UDB に付属のサンプル・データ
ベースを作成します。次にコントロール・センターを使ってサンプル・データベースを参照
します。また主なGUIツールについて簡単に説明します。
●学習目標
□DB2 UDB に付属のサンプル・データベースを作成、参照できるようになることを目標と
します。また、主なGUIツールを使用し、概要を理解することを目標とします。
●学習時間
約 10∼20 分
●作業概要
a.サンプル・データベースの作成(→操作 1.∼)
↓
b.コントロール・センターの利用(→操作 3.)
↓
c.その他の GUI ツール(→操作 4.)
↓
[任意]d.インフォメーション・センター(→操作 5.)
第1時限目で任意作業としているオンライン資料の説明になりますので、インストールを
行っていない場合には任意作業としてください。
セルフスタディキット【前編】
24
●操作
□1.サンプル・データベースの作成
インストールが完了すると下記の画面ファースト・ステップ・ユーティリティー(*1)が立ち
上がります。(立ち上がらない場合には、スタートメニューから「プログラム(P)」→「IBM
DB2」→「セットアップ・ツール」→「ファースト・ステップ」
を選択して下さい。)
「サンプル・データベースの作成」を選択します。
(*1)ファースト・ステップ・ユーティリティーには、「サンプル・データベースの作成」以外
にもいろいろな機能が用意されています。例えば、「チュートリアルの処理」は、アプリケー
ションの開発、SQL 照会のパフォーマンス調整、データウェアハウスの処理、メタデータの
管理、および DB2 を使用した Web サービスの開発の各分野で、段階的なレッスンを受ける
ことができます。また、「DB2 UDB クイック・ツアーの立ち上げ」では、V8 に関する機能と
利点を対話式に学ぶことができます。どれも簡単に使用することができますのでご興味のあ
る方はぜひご利用ください。
セルフスタディキット【前編】
25
□2.「DB2 UDB サンプル」をチェックし、「OK」をクリックします。
≪データベースを作成します≫画面が表示され、しばらくすると完了します。「OK」をクリ
ックします。
これで、サンプル・データベースが作成されました。これは、第1時限目のインストールの
検証になります。ではサンプル・データベースが正常に作成されたならば、次はGUIツー
ルを用いてその内容を確認します。(ファースト・ステップの画面はこれ以降使用しません。
ここで閉じていただいても結構ですし、ご興味のある方は他メニューもご覧になってみて下
さい。)
セルフスタディキット【前編】
26
□3.コントロール・センターの利用
スタートメニューから「プログラム(P)」→「IBM DB2」→「汎用管理ツール」→「コント
ロール・センター」を選択します。そしてオブジェクト・ペイン(画面左側)の「システム」
の隣にある+符号を選択し、オブジェクト・ツリーを展開します。次のようにサンプル・デ
ータベースのコンテンツが表示されます。
レプリケーション
センター
コマンド
センター
ヘルス
センター
オブジェクト・ペイン
と呼ぶ(画面左側)
インフォメーション
センター
コンテンツ・ペイン
と呼ぶ(画面右側)
コントロール・センターとは、DB2 が提供しているGUIツールのメインとなるものです。
コントロール・センターを使用すると、データベース・サーバーのインスタンスやデータベ
ース・オブジェクト(表、視点、表スペースなど)の管理を、統合された1つのグラフィカ
ル・インターフェイスから行うことができ大変便利なツールです。例えば、データベースの
作成および除去、表スペースのバックアップや回復などの作業も、ウィザードを使用して手
順を追って簡単に実行することができます。
まずはサンプル・データベースを参照しましょう。
セルフスタディキット【前編】
27
EMPLOYEE 表のデータを見てみます。コンテンツ・ペイン(右側のペイン)上の
「EMPLOYEE」をフォーカスし右クリックで表示されるポップアップメニューから「サン
プル内容」を選択すると、以下の画面が表示されます。
このようにコントロール・センターを使って簡単にサンプル内容の表示まで出来ました。
また、コントロール・センター以外にも、ツールバーのアイコンから、その他の DB2 管理
ツールを呼び出すことができます。
セルフスタディキット【前編】
28
□4.その他の GUI ツール
・コマンド・センター
対話式ウィンドウを使用して、SQL 文、DB2 コマンドを実行できます。
先程、コントロール・センターから照会した EMPLOYEE 表も、コマンド・センターを使用
して SQL 文を発行し参照することができます。
(実行結果は照会結果タブに表示されます。)
コマンド欄に「select * from employee;」と入力し、実行アイコンをクリックします。
実行アイコン
SQL アシスタント
自動的に照会結果タブに移り、照会結果が表示されます。
セルフスタディキット【前編】
29
・SQL アシスタント
SQL アシスタントは、複雑な SQL ステートメントを GUI を使って作成するためのツール
です。SQL 文の作成に不慣れな方や構文を確認するために使うなどとても便利な機能です。
コマンド・センターのコマンド欄の右にあるボタンを押すと SQL アシスタントが起動され
ます。
「FROM」を選択し、右欄の選択可能な表から「ADMINISTRATOR」とその下層の
「EMPLOYEE」を選択し、「>」ボタンを押します。下記のように「選択済み表」に追加さ
れ、また下欄の SQL コードにもその内容が記述されます。
「実行」をクリックします。
セルフスタディキット【前編】
30
別画面に照会結果が表示されます。
・スクリプト・センター
データベースに接続して、データを検索後、更新するといったような複数のコマンドをまと
めたもの、バッチファイルのようなものをスクリプトと呼びます。ここではスクリプトを作
成したり、インポートして実行したりすることができます。
セルフスタディキット【前編】
31
・ヘルス・センター
ヘルス・センターは、DB2 UDB の稼動状態をモニタリング(自動監視)する GUI ツールで
す。各種のパラメータ値が事前に設定したしきい値を超えたときに、アラームや警告を出す
ことができ、また事前に設定したメールアドレスにメールで知らせることもできます。
・メモリー・ビジュアライザー
メモリー・ビジュアライザーは、DB2 UDB のインスタンスのメモリー使用率をモニタリン
グする GUI ツールです。メモリの使用率をグラフで表示できるため、視覚的に現在の状態を
把握することもできます。
これら以外にもさまざまな GUI ツールが提供されていますが、ここではこれ以降触れません。
セルフスタディキット終了後いろんな GUI ツールを使ってみていただくとより理解が深ま
ると思います。さらにご興味のある方は、インフォメーション・センター(*2)の概念タブ
内の「DB2 コントロール・センター」をご参照ください。
(*2)インフォメーション・センターへのアクセス方法
スタートメニューから「プログラム(P)」→「IBM DB2」→「情報」→「インフォメーショ
ン・センター」を選択してください。(または、コントロール・センターの上部アイコンから
選択することもできます。)
・SQL実行ツール
DB2 UDBでは、DB2 コマンドやSQLでの作業を行うために、次のツールが用意されて
います。用途に応じて使い分けてください。
ツール
コマンド・センター
説明
対話型の GUI ツールです。コントロール・センターから起動して、
DB2 のコマンドや SQL 文を実行できます。
コマンド行プロセッサー 入力行の横に「db2=>」 と表示され、DB2 のコマンドや SQL 文を入
力できます。
「quit」と入力すると、コマンド・ウィンドウの画面に戻ります。ま
た、「!」+OS コマンドで OS コマンドを実行できます。(例)!dir
コマンド・ウィンドウ
OS のコマンド等を実行できるプロンプト画面です。
DB2 のコマンドや SQL 文を入力する場合は、コマンドの先頭に「db2」
を入力します。
「db2」とだけ入力すると、コマンド行プロセッサーを起動します。
セルフスタディキット【前編】
32
・コマンド・ウィンドウ
スタートメニューから「プログラム(P)」→「IBM DB2」→「コマンド行ツール」→「コマ
ンド・ウィンドウ」を選択します。
オンライン・コマンド・リファレンスを起動するとコマンド行プロセッサー(以降、CLP と
記述する)で実行できる DB2 コマンドの構文および解説が参照できます。
・「db2 ?」
: すべての DB2 コマンドをリストします。
・「db2 ? command」
: 特定のコマンドについての情報を表示します。
例えば、「db2 ? connect」と入力すると、下記のように connect で始まるコマンドの構文が
すべて表示されます。
・「db2 ? sqlnnnnn 」
:
SQLCODE についての情報を表示します。
例えば、「db2 ? sql0964」と入力すると、下記のように sqlcode0964 の内容が表示されます。
セルフスタディキット【前編】
33
・
「db2 list command options」
: CLP コマンド・オプションと、その現在の設定をリスト
します。
(CLP コマンド・オプションとは、DB2 コマンドを実行する際に指定できるオプションの
ことです。(例)「db2 –tvf c:¥temp¥create.ddl」のコマンドの-tvf のことです。)
「db2 list command options」と入力すると、下記のように表示されます。
−「-f 」,「-l」および「-r」オプションは、パラメーターとして後ろにファイル名が必要で
す。指定する時の順序に気を付けてください。
(例)「db2
–tvf c:¥temp¥create.ddl」
c:¥temp にある create.ddl という SQL を実行するコマンド。
−各オプションの前の「-」(半角マイナス記号)は OFF→ON,「+」(半角プラス記号)は
ON→OFF を意味します。
GUIツールの裏で発行されているSQLコマンドを理解していただいたほうがわかりやす
いと思うので、これ以降第 3 時限目ではコマンド・ウィンドウを使って説明したいと思いま
す。
セルフスタディキット【前編】
34
□5.インフォメーション・センター
(第1時限目で任意作業としているオンライン資料の説明になりますので、オンライン資料
のインストールを行っていない場合には任意作業としてください。)
インフォメーション・センターを使用して、DB2 UDB に関する様々な情報を検索すること
が出来ます。管理ツールから DB2 インフォメーション・センターにアクセスして、製品情
報を検索する方法をご紹介します。
前述のコントロール・センターのアイコンから選択します。
(あるいはスタートメニューから
「プログラム(P)」→「IBM DB2」→「情報」→「インフォメーション・センター」を選択
しても同様です)
ツールから DB2 インフォメーション・センターにアクセスすると、6つのタイプの情報を
参照できます。
・タスク
:
DB2 を使用して実行できる重要なタスク
・概念
:
DB2 の重要な概念
・参照情報
: キーワード、コマンド、API などの DB2 参照情報
・トラブル・シューティング :
DB2 共通の問題に関して役立つエラー・メッセージおよび情報
・サンプル
:
DB2 によって提供されるサンプル・プログラムの HTML リストへのリンク
・チュートリアル
:
DB2 機能を学習するのを支援するように設計されたインストラクション
セルフスタディキット【前編】
35
検索する情報に関連した情報タイプのタグをクリックし、知りたいトピックを選択します。
ここでは、概念タグの「ヘルス・センター」を選択し、ダブルクリックします。インフォメ
ーション・センターは WEB ブラウザーを起動して、次の画面のように情報を表示します。
検索
アイコン
セルフスタディキット【前編】
36
また、初心者の方にも便利な機能として検索アイコンを使用することができます。これはわ
からない言葉の定義などを調べる時などとても便利です。前画面の「検索アイコン」をクリ
ックすると≪オンライン・ヘルプの検索≫画面が表示されますので、調べたい言葉を入力し、
「検索」をクリックします。例えば、「ヘルス・モニター・デーモン」という言葉を検索する
と、下記のように一覧が表示され、最初の文書も≪参照ヘルプ≫画面で表示されます。
このようにインフォメーション・センターは単なるヘルプではなく、いろいろな角度から調
べたり検索できたりするので、ぜひ一度ご使用になられることをお勧めします。第2時限目
はこれで終わりです。興味のある方はコントロール・センターからいろいろなツールを試し
たり、インフォメーション・センターで遊んでみてください。
では次は、第3時限目でデータベース環境の作成です。
セルフスタディキット【前編】
37
【第2時限目】クイズ
ご興味のある方はトライしてください。(回答は付録にあります)
■Q1:DB2 UDB に関する様々な情報を検索するツールのことを何と言いましたか?
①コントロール・センター
②スクリプト・センター
③インフォメーション・センター
A1:
■Q2:スクリプト・センターを使って、STAFF 表を照会してください。
A2:
■Q3:SQL アシスタントを使って、
STAFF 表から JOB が’Mgr’のみを照会する SQL を作成し、
実行してください。
A3:
セルフスタディキット【前編】
38
第3時限目
アプリケーションのための
データベース環境の作成
●学習内容
□後編のアプリケーション構築に使用する簡単なデータベース環境を構築します。
●学習目標
□アプリケーション構築に使用する簡単なデータベース環境とはどういうものか理解し、構
築できるようになることを目標とします。
●学習時間
約 30∼40 分
●作業概要
a.新規ユーザーの作成(→操作 1.)
↓□ご自分のユーザーで実施することも可能です。(省略可)
b.インスタンスの作成(→操作 2.)
↓□インスタンス DB2 を使用することも可能です。(省略可)
c.データベースの作成(→操作 3.)
↓
d.表、索引の作成(→操作 4.)
↓
e.データの作成(→操作 5.)
↓
f.データのバックアップ(→操作 6.)
セルフスタディキット【前編】
39
●データベース環境概要
ここからは【後編】でアプリケーション構築に使用するデータベース環境を作成します。
・ データベース環境イメージ図
これから作成する MARKET DB は、登録制のオークションサイトの構築に使用する事
を想定したデータベース環境です。第2時限目で作成したサンプル・データベースと並
列して構築します。
DB2 UDB V8.1
インスタンス DB2
SAMPLE データベース
インスタンス
SELF01
MARKET データベース
表スペース USERSPACE1
PRICE 表
索引 1
: 作成する対象
セルフスタディキット【前編】
40
SHOP 表
索引 2
・表レイアウト
(PRICE 表)
各店が出品している品物の一覧です。各店、メーカ、製品名・型番
別になっています。
分 類
名
メーカ
登録番号
製品名・型番
価格
店番
ベッキンガムン 8001LSC シルバー SS/ラ
S2002000
バーベルト 自動巻き
20030331 時計 ミュラー
242000 1
ベッキンガムン 8001LSC ブラック SS/ラ
S2002000
バーベルト 自動巻き
20030331 時計 ミュラー
241000 2
CL1210.BA0705KIRIUM クオーツ クロノグラ
S2002000
20030331 時計 ベイヤー
フ 1/10th
272000 3
CL2110.BA0700KIRIUM オートマチック・クロ
S2002000
ノグラフ
20030331 時計 ベイヤー
272000 4
S2002000
20030331 時計 ベイヤー
CR2110.FC6161 モンツァ・リエディション
258000 5
・・・・ ・・・・ ・・・・
・・・・
・・・・ ・・・・
(索引 1)
「店番,メーカ,製品名・型番」 の項目を持つPRICE表のユニーク索引
(SHOP 表)
登録している各店の情報です。
店番
S20020001
S20020002
S20020003
S20020004
S20020005
店名
デイビカメラ
ロバカメラ
ウシバデンキ
ヨゼフカメラ
シローデンキ
URL
http://www.david-sales.com/index.htm
http://www.robert-sales.com/index.htm
http://www.ushibadenki-sales.com/index.htm
http://www.joseph-sales.com/index.htm
http://www.shirodenki-sales.com/index.htm
(索引2)
「店番」
の項目を持つ SHOP 表のユニーク索引
セルフスタディキット【前編】
41
●操作
□1. 新規ユーザー「self01」の作成(ただし、この作業は任意作業です)
データベース管理者用として、Windows の管理者権限(Administrators)を持つユーザー
self01 を作成します。ここで作成するユーザーは、作成するインスタンスに対する管理者情
報(SYSADM 権限)を所有することになります。
(実際にデータベース環境を構築する際にはこのようにデータベース管理者用のユーザーを
作成し、そのユーザーで作業を行うことをお勧めします。また、今回の学習ではご自分のユ
ーザーで実施することも可能です。
(注)ただし、ご自分のユーザーをご使用になる場合は、SQL 許可 ID(スキーマ)がご自
分のユーザーID になってしまいます。これ以降 SQL 許可 ID(スキーマ)’self01’となって
いる箇所はご自分のユーザーID に読み替えてください。)
□1−1.スタートメニューから「設定(S)」→「コントロール パネル(C)」→「ユーザー
とパスワード」を選択すると下記の画面が表示されます。
「追加」を選択します。
□1−2.ユーザー名「self01」を設定し、「次へ」をクリックします。
セルフスタディキット【前編】
42
□1−3.パスワード「self01」を設定し、「次へ」をクリックします。
□1−4.「その他」を選択し、「完了」をクリックします。
□1−5.次の画面が表示され、ユーザー「self01」が追加されていることを確認します。
セルフスタディキット【前編】
43
新規ユーザーのパスワードはどこで設定するのでしょうか?
Q:スタートメニューから「プログラム(P)」→「IBM DB2」→「汎用管理ツール」→「コントロ
ール・センター」を選択し、データベース下の「DB ユーザー」→「追加」で権限を選択し新規
ユーザーを追加しました(図 1)。それで新しいユーザーでデータベースにコネクトしようとした
のですが新規ユーザーのパスワードはどこで設定するのでしょうか?
今まで次のようにコネクトしていました。
connect to testdb user db2admin using pas
そして、testdb にユーザーmanbo を追加しました。
が、testdb に新しく追加したユーザーmanbo でコネクトする場合、
connect to testdb user manbo using ___
の下線部(パスワード)に何を入れるのでしょうか?
また manbo に sysadm 権限を与えるにはどのようにするのですか?
ユーザー設定のところには、dbadm はありますが sysadm,sysctrl、sysmaint はありません。
A: DB2 は Oracle と違ってユーザーをデータベースに作ることはできません!
WINDOWS が管理しているユーザー・パスワードでコネクトしてください。DB2 は、WINDOWS
のユーザーに対して DB2 を使ってもいいよ!と許可を与える事になります。コントロール・セン
ターからできるユーザー追加とは、WINDOWS にユーザーを追加する事でも、Oracle のように
DBMS が管理するユーザーを追加することでもないのです。この場合のユーザー追加とは、
WINDOWS に存在するユーザーに対して、DB2 を使ってもいいよ!と許可することなので、(つ
まり Grant 文を発行しているだけです)、WINDOWS に存在するユーザーを指定しないと駄目
ですね。
また、OracleではDB作成後、ユーザーを作っただけでは何もできない状態(何の権利も与えられ
ていない)で、後から権利を与えて行く形になります。前述のようにDB2 UDBではDB作成後、
WINDOWSユーザーがそのままDBユーザーとして利用可能であり、しかもデータベース・オブ
ジェクトに関するほとんどの作業がはじめから実施可能な権利が初めからあたえられています。
DB2 UDBでは、させたくない許可を後から削る型で構成していくのです。つまり『作成直後、
DB利用のために追加されるユーザーが持つべき適正な権利の設定(セキュリティ)は、Oracleでは
追加(Grant)によって調整するが、DB2は削除(Revoke)によって調整する。』ということです。
ちょっとしたことですが、注意が必要です。
Q:やっと理解でしました。そういう事だったのですね。
[図1]
セルフスタディキット【前編】
44
□2.インスタンスの作成(ただし、この作業は任意作業です)
ここではインスタンス「self01」の作成を行います。インスタンスを作成し、現在つながっ
ているインスタンスから新しく作成したインスタンスに切り替え、新しいインスタンスを開
始します。(インストール時には DB2 というデフォルトのインスタンスが作成されます。一
般的にはこのインスタンスを使用すればよいので別に新しくインスタンスを作成する必要は
ありませんが、今回はデータベース環境の作成をきちんと理解していただくために説明しま
す。実際に作成するかどうかはそれぞれの環境に応じて判断してください。)
□2−1.ユーザーの切り替え
前のステップで作成した新規ユーザーで WINDOWS にログオンしなおしてください。(ご
自分のユーザーで実施される方はこの作業は無視してください。)
□2−2.現行セッションで使用されるインスタンスの確認
スタートメニューから「プログラム(P)」→「IBM DB2」→「コマンド行ツール」→「コマ
ンド・ウィンドウ」を開いて「db2ilist」を入力し、「Enter」キーを押します。
【コマンド説明】db2ilist : インスタンスの表示
現在の環境に存在するインスタンスが DB2 だけであることがわかります。
セルフスタディキット【前編】
45
Q:インスタンスとは?
A:インスタンスとはデータベースをカタログしたり、データベース・マネージャー構成パラメ
ーターを設定したりすることのできる論理的なデータベース管理システムです。使用環境に応じ
て一つのサーバー上に複数のインスタンスを定義することができます。例えば、テスト環境と実
稼動環境を同じマシン上で維持できるというメリットがあります。が、デメリットとしては今回
のような Windows2000 上にインストールしている場合、DB2 インスタンスは Windows サービ
スとして定義されるので(図 1)さらにメモリー資源が必要になります。そのため、使用したい
インスタンスについては(例えばインスタンス self01)使用時だけ立ち上げる状態「手動」にし
ておくほうがメモリーを節約できるのです。
また、インストール時には DB2 というデフォルトのインスタンスが作成されます。一般的にはこ
のインスタンスを使用すればよいので、あえて別のインスタンスを作成することはありません。
今回はデータベース環境をきちんと理解して頂くために紹介しておりますが、それぞれの環境に
応じて作成するかどうかご判断ください。
[図 1]インスタンス self01 が「手動」になっており、現在開始していない状態
セルフスタディキット【前編】
46
□2−3.インスタンス self01 の作成
「db2icrt
self01」を入力し、「Enter」キーを押します。
【コマンド説明】db2icrt インスタンス名
【コマンド説明】db2idrop インスタンス名
:
:
インスタンスの作成
インスタンスの削除
□2−4.作成したインスタンス self01 の確認
「db2ilist」を入力し、「Enter」キーを押します。
現在の環境に新しく self01 というインスタンスが出来ていることがわかります。
セルフスタディキット【前編】
47
□2−5.現行セッションで使用されるインスタンスの確認
「set db2instance」を入力し、「Enter」キーを押します。
【コマンド説明】set db2instance
:
現行インスタンスの確認
現行使用されているインスタンスは DB2 のままです。
□ 2−6.環境切り替え
これから使用する環境である self01 に切り替えます。
「set db2instance=self01」を入力し、
「Enter」キーを押します。
【コマンド説明】set db2instance=インスタンス名:
セルフスタディキット【前編】
48
インスタンスの設定
□2−7.現行セッションで使用されるインスタンスの再確認
「set db2instance」を入力し、「Enter」キーを押します。
現行使用されているインスタンスは self01 に変わりました。
□2−8.インスタンスの開始
「db2start」を入力し、
「Enter」キーを押します。
【コマンド説明】db2start : インスタンスの開始
【コマンド説明】db2stop
: インスタンスの停止
これでインスタンス self01 が起動しました。
セルフスタディキット【前編】
49
Q:インスタンスを切り替えなくても良い方法は?
Q:2−4.∼2−7.って毎回しなくてはいけない作業?インスタンス self01 だけ使う場合な
ど何か良い方法はないのですか?
A:あります。次に DB2 を起動する時にインスタンス self01 をデフォルトで接続するという設
定にする手順を示します。
① スタートメニューから「設定(S)」→「コントロール パネル(C)」→「システム」→「詳細」
タブ→「環境変数(E)」を選択すると次の画面が表示されます。DB2INSTANCE インスタ
ンスは DB2 を起動する時にデフォルトで接続するインスタンスを示しています。インストー
ル時には DB2INSTANCE は「DB2」(というインスタンス)になっています。システム環境
変数ボックスにある DB2INSTANCE を選択し、「編集(I)」をクリックします。
②変数値(V)に「self01」と入力し、
」「OK」をクリックします。
セルフスタディキット【前編】
50
③DB2INSTANCE の値が「self01」になっていることを確認し、「OK」をクリックします。
④Windows の再起動は必要ありません。次回 DB2 を立ち上げる時からこの設定は適用されます。
セルフスタディキット【前編】
51
□ 3.データベースの作成
ここでは、データベースの作成を行います。(右
インスタンス
図網掛部分)
SELF01(*1)
MARKET データベース
データベースを作成し、作成した結果を確認、そ
のデータベースに接続します。この時デフォルト
表スペース USERSPACE1
で表スペースが作成されますので、それも合わせ
て確認します。
(*1)操作1,2を省略している場合には、右図
においてインスタンスはデフォルトのインスタ
ンス‘DB2’を使用することになります。
□3−1.MARKET データベースの作成
「db2 create database market」を入力し、「Enter」キーを押します。
【コマンド説明】create database xxxx :
データベース xxxx の作成
(注意)create database コマンドでは作成先のドライブを指定することができます
(省略値は C ドライブ、省略可)。上記の場合、
「 on C;」が省略されています。
セルフスタディキット【前編】
52
□3−2.作成したデータベースの確認
db2 list database directory コマンドを使って、データベースについての情報を確認するこ
とができます。「db2 list database directory」を入力し、「Enter」キーを押します。
【コマンド説明】list database directory : システム・データベース・ディレクトリーに
入っている該当インスタンスのデータベース情報を表示
システム・データベース・ディレクトリーの内容をリスト表示しています。データベースは
C:¥SELF01 に作成されたことがわかります。また、“ディレクトリー項目タイプ”が“間接”
の場合、このデータベースがローカルにあることを意味します。
□3−3.作成したデータベースへの接続
「db2 connect to market」を入力し、
「Enter」キーを押します。
【コマンド説明】connect to xxxx :
データベース xxxx へ接続
ご自分のユーザーID で実行している
場合には、この’self01’をご自分のユー
ザーID に読み替えてください。
セルフスタディキット【前編】
53
Q:今、接続しているデータベースの確認方法は?
A:コマンド・ウィンドウで確認できます。スタートメニューから「プログラム(P)」→「IBM DB2」
→「コマンド行ツール」→「コマンド・ウィンドウ」を開いて「db2 get connection state」を入
力し、「Enter」キーを押します。
【コマンド説明】db2 get connection state : データベースの接続状況の表示
(「db2 connect」でも類似情報が表示できます)
上記の例は market データベースに接続された状態を示しているので、作業の前に connect コマ
ンドを発行する必要はありません。ですが、毎回確認するよりも、「connect to データベース名」
「connect reset」については、毎回行うよう習慣をつけるようにしましょう。
【イメージ図】
DB2
サーバー
connect
db2bp.exe
reset
クライアント
(db2bp.exe とはデータベース接続を維持するバックエンド・プロセスのことです)
さらに、quit コマンドと terminate コマンドについても触れてみましょう。quit コマンドは
コマンド行・プロセッサー(CLP)を停止するものです。言い換えるとコマンド・ウィンド
ウから「db2」と入力し、対話モードを使用している場合抜ける時に使うコマンドです。
terminate コマンドもコマンド行・プロセッサー(CLP)を停止しますが、さらに db2bp.exe
を除去し、使用されていたメモリーをすべて解放します。例えば、DB2 を停止しようとする
時、db2bp.exe がプロセスとして残っているために「db2stop コマンド」を発行しようとし
ても発行できません。その場合は、terminate コマンドを実行し db2bp.exe を除去してから
DB2 を停止しなければなりません。
「connect to データベース名」「connect reset」だけで
なく、「terminate」についても合わせて憶えておきましょう。
セルフスタディキット【前編】
54
□3−4.データベース作成時に作成される表スペース情報の確認
「db2 list tablespaces」を入力し、「Enter」キーを押します。
【コマンド説明】list tablespaces
:
表スペースの情報の表示
今回はデフォルトの表スペースを使用して表を作成していきます。
セルフスタディキット【前編】
55
Q:表スペースとは?
A: 表スペースは、表や索引を格納する論理的な層のことです。1 つのデータベースの中は複数
の表スペースを持つことが出来ますが、表スペースはデータベース間にまたがることはできませ
ん。
また、表スペースには次の 2 つのタイプがあります。
●SMS(システム管理スペース)
:OS のファイル・システム・マネージャーが表を格納するスペ
ースの割り振りおよび管理を行うので、管理を OS に任せられます。また、動的にサイズを割り
当てることができますからサイズの見積もりが不要です。ただしコンテナーの追加は出来ません。
デフォルトの表スペースは SMS 表スペースです。
●DMS(データベース管理スペース)
:データマネージャーが領域の管理を行います。SMS と比
べアクセスは速いです。固定サイズなので作成時にサイズの見積もりが必要ですが、コンテナー
を後から追加することも可能です。
初めてデータベースを作成すると create コマンド実行時に次の 3 つの表スペースが定義されま
す。(操作3−4.で確認してください)
・ SYSCATSPACE : 表スペースID…0、システム・カタログ用、
・ TEMPSPACE1
: 表スペースID…1、一時作業領域用、
・ USERSPACE1
: 表スペースID…2、ユーザー定義表用、
また、これらの表スペースは実際には次のようなファイル構成で定義されます。
ON PATH
インスタンス名
NODE0000
SQL00001
SQL00001
SQLT0000.0
SQLT0001.0
SQLT0002.0
実際に環境構築する場合には、SMS はシステム関連のデータを格納し、コンテナーの追加が柔軟
にできる DMS にユーザーデータを格納することをお勧めします。
表領域?表スペース?
A:DB2 の表スペースという概念は、Oracle でいう表領域のことです。また、表スペースを物
理的に割り当てる単位をコンテナーと呼んでいますが、Oracle ではデータ・ファイルに置き換え
て考えてください。
セルフスタディキット【前編】
56
□4.表、索引の作成
インスタンス
ここでは、3.で作成したデータベースの中に表、
索引を作成します。(右図網掛参照)
SELF01
MARKET データベース
表と索引作成のステートメント(SQL 文を複数
表スペース USERSPACE1
まとめたもの)を実行し、作成します。また作成
した結果を確認します。
PRICE 表
索引 1
SHOP 表
索引 2
□4−1.表、索引作成用のステートメントの作成
表、索引作成の SQL 文を作成し、create.ddl(任意名称)というファイルで格納します。表
や索引の作成はコマンドラインからも直接実行できますが、複数の SQL 文をまとめて実行
できるので今回はこの方法で行います。(DDL:Data Definition Language のことを略して
います)
create.ddl
・create.ddl の内容は次の通りです。
CONNECT TO MARKET;
--PRICE 表
CREATE TABLE price (
date
DATE,
category
VARCHAR(50),
maker
VARCHAR(50) NOT NULL,
productno
VARCHAR(255) NOT NULL,
price
INTEGER DEFAULT 0,
shopno
VARCHAR(50) NOT NULL
);
--索引 1
CREATE UNIQUE INDEX IDX1 ON price ( shopno, maker, productno );
--SHOP 表
CREATE TABLE shop (
shopno
VARCHAR(50) NOT NULL,
shop
VARCHAR(50),
url
VARCHAR(255)
);
--索引 2
CREATE UNIQUE INDEX IDX2 ON shop(shopno);
CONNECT RESET;
セルフスタディキット【前編】
57
□4−2.create.ddl 実行
表、索引の作成を行います。ここでは、4−1.で作成した SQL 文を c:¥temp¥create.ddl
に保存しているものとします。
「db2 –tvf
c:¥temp¥create.ddl 」を入力し、
「Enter」キーを押します。
□4−3.作成した表の確認
作成した表の一覧を確認します。
再度 DB2 へ接続します。
(「db2 connect to market」を入力し、「Enter」キーを押します。)
「db2 list tables」を入力し、「Enter」キーを押します。
【コマンド説明】list tables : 表の情報の表示
(注)データベースへの connect/reset については今後なんども必要になりますが、これ以降
「再度 DB2 へ接続します。(「db2 connect to market」を入力し、「Enter」キーを押しま
す。)」とだけ記述しており画面サンプルはありません。ご注意ください。
セルフスタディキット【前編】
58
□4−4.作成した表の詳細の確認
db2 describe table <表名>コマンドで作成した表の内容を確認出来ます。
「db2 describe table price」を入力し、「Enter」キーを押します。
【コマンド説明】describe table
tttt
:
表 tttt の内容の表示
□4−5.作成した索引の確認
索引についても同様に確認します。
「db2 describe indexes for table price」を入力し、「Enter」キーを押します。
【コマンド説明】describe indexes for table tttt :
セルフスタディキット【前編】
59
表 tttt に関連する索引の内容の表示
Q:コマンド・ウィンドウでコマンドを実行する時、;(セミコロン)を入れる時と
入れない時があるのはなぜ?
A:4−1.のように複数の SQL 文をまとめて実行したい場合には、ファイルを作成します。
そして、ステートメント終了文字として;
(セミコロン)を使用します。また、このファイルをコ
マンド・ウィンドウで実行する場合、-t コマンド・オプションを指定することによってステート
メント終了文字を使用することができるのです(-t コマンド・オプションについては、第2時限
目のコマンド・ウィンドウの説明を参照してください)
相反してコマンド・ウィンドウでコマンドを実行する時には、;(セミコロン)は不要です。入力
すると SQL エラーになります。
セルフスタディキット【前編】
60
□5.データの作成
4.までで作成した PRICE 表と SHOP 表に実際のデータを作成します。今回はユーティリ
ティを使ってすでに用意したデータを表に挿入する、といった方法をとります。また表を参
照してその結果を確認します。
DB2 が提供するデータを表に挿入するユーティリティとして、LOAD と IMPORT の 2 種類
があります。
LOAD ユーティリティ
デ ー タ の ・大量のデータを挿入する
挿入
・IMPORT に比べはるかに高速
・フォーマットされたページを直接デ
ータベースに書き込む
ログ
ログ記録は最小限
対象表
ロードの間オフラインになる
(その間該当表は使用できない)
IMPORT ユーティリティ
SQL の INSERT 機能を用いて1行ず
つ挿入する
挿入されたすべての行の履歴が残る
インポートの間もオンライン
(ユーティリティについての詳細は、[マニュアル「データ移動ユーティリティガイドおよび
リファレンス」]をご参照下さい。)
今回はデータが少ないので IMPORT ユーティリティを使用します。
□5−1.インポート用ステートメントの作成
インポートコマンドを import.ddl(任意名称)というファイルで格納しておきます。また、
各表にインポートするデータは、添付のファイル price.csv,shop.csv にそれぞれ格納してあ
ります。これらのデータを2つの表に、import.ddl ファイルでまとめてインポートします。
import.ddl
price.csv
shop.csv
・import.ddl の内容は次の通りです。
connect to market;
IMPORT FROM c:¥temp¥price.csv OF DEL MODIFIED BY USEDEFAULTS CHARDEL"" MESSAGES
message.log REPLACE INTO price(date, category, maker, productno, price, shopno);
IMPORT FROM c:¥temp¥shop.csv OF DEL MODIFIED BY USEDEFAULTS CHARDEL"" MESSAGES
message.log REPLACE INTO shop(shopno, shop, url);
connect
reset;
これらのコマンドでは、c:¥temp にある CSV 形式のファイルのデータを PRICE 表に格納し
ています。(CSV 形式なので
OF DEL MODIFIED BY USEDEFAULTS CHARDEL""オ
プションを指定)SHOP 表についても同様です。「c:¥temp」は必要に応じて書き換えてくだ
さい。詳細については、DB2 インフォメーション・センターの IMPORT コマンドをご参照
下さい。
セルフスタディキット【前編】
61
「db2 –tvf
c:¥temp¥import.ddl 」を入力し、
「Enter」キーを押します。
セルフスタディキット【前編】
62
□5−2.インポートしたデータの確認
再度 DB2 へ接続します。
(「db2 connect to market」を入力し、「Enter」キーを押します。)
「db2 select count(*) from price」,「db2 select count(*) from shop」を入力し、「Enter」キ
ーを押します。表の件数を確認します。
セルフスタディキット【前編】
63
□6.データのバックアップ
セルフスタディキット後編では、このデータベースにアクセスするアプリケーションを開発
します。念のために事前にバックアップを取得します。バックアップコマンドでデータベー
ス全体のバックアップを取る方法もありますが、ここでは後編のプログラムで変更される表
に対してバックアップを取るようにしています。
□6−1.エクスポート用ステートメントの作成
エクスポートコマンドを、あらかじめ export.ddl(任意名称)という名前で格納しておきま
す。
export.ddl
・export.ddl の内容は次の通りです。
connect
to market;
EXPORT TO c:¥temp¥export_price.csv OF DEL MESSAGES message.log SELECT * FROM
self01.price;
EXPORT TO c:¥temp¥export_shop.csv OF DEL MESSAGES message.log SELECT * FROM
self01.shop;
connect
reset;
(注)ただし、ご自分のユーザーをご使用になっている場合は、SQL 許可 ID(スキーマ)
がご自分のユーザーID になっています。SQL 許可 ID(スキーマ)’self01’となっている箇所
はご自分のユーザーID に変更してください。
これらのコマンドでは、PRICE 表を export_price.csv という名前の CSV 形式のファイルと
して c:¥temp にエクスポートしています。SHOP 表についても同様です。今回は、後編で
データを修正して使うことができるよう CSV 形式ファイルでデータのバックアップを取得
しますが、それ以外にも、
・ DEL(区切り付き ASCII 形式)
・ ASC(区切りなし ASCII 形式)
・ WSF(ワークシート形式、lotus1-2-3 などの製品とのデータ交換用)
・ IXF(統合交換フォーマット、表と既存の索引の定義も含んでいるので、インポート時に
表を作成できる)
などがあります。IXF など大変便利ですのでぜひ試してみてください。詳細については、DB2
インフォメーション・センターの EXPORT コマンドをご参照下さい。
セルフスタディキット【前編】
64
再度 DB2 へ接続します。
(「db2 connect to market」を入力し、「Enter」キーを押します。)
「db2 –tvf
c:¥temp¥export.ddl 」を入力し、
「Enter」キーを押します。
(注意)SQL3107W について
この警告メッセージは必ず表示されますが問題ありません。
c:¥Program Files¥IBM¥SQLLIB¥BIN¥message.log には、
「SQL3105N
エクスポート・ユーティリティーが、"357"行のエクスポートを完了しまし
た。」等、エクスポートされた件数を知らせるメッセージが出ています。
コマンドで指定したエクスポート先に export_price.csv,export_shop.csv という 2 つの CSV
形式のファイルが作成されていることを確認します。
これでアプリケーション構築に使用するデータベース環境を作成でき、またバックアップな
どの準備もできました。
お疲れ様でした。これで【前編】は終了しま
した。次は【後編】アプリケーション開発で
す。
セルフスタディキット【前編】
65
【第3時限目】クイズ
ご興味のある方はトライしてください。(回答は付録にあります)
■Q1:SHOP 表へデータを追加しましょう。ここに1レコード入ったファイルを用意しました
がご自由に内容を変更、追加していただいてもかまいません。
shop1.csv
今回は、学習のために、LOAD ユーティリティを使ってデータを追加してみましょう。
A1:
セルフスタディキット【前編】
66
【付録 1】今回使用したコマンド一覧
・よく使うコマンド
コマンド
コマンドの説明
db2start
インスタンスの開始
db2stop
インスタンスの停止
set db2instance
現行インスタンスの確認
set db2instance=インスタンス名
インスタンスの設定
db2 connect to データベース名
指定したデータベースへの接続
db2 connect reset
データベース接続解除
db2 quit
コマンド行・プロセッサー(CLP)を停止
db2 terminate
コマンド行・プロセッサー(CLP)を停止と db2bp.exe
を除去し、使用されていたメモリーをすべて解放
db2 get connection state
データベースの接続状況の表示
(db2 connect)
(connect でも類似内容を表示)
・各種照会用のコマンド
コマンド
コマンドの説明
db2 ?
すべての DB2 コマンドをリスト
db2 ? コマンド名
特定のコマンドについての情報を表示
db2 ? sqlnnnnn
SQLCODE についての情報を表示
db2 list command options
CLP コマンド・オプションと、その現在の設定をリス
ト
(例)db2
–tvf c:¥temp¥create.ddl
c:¥temp にある create.ddl という SQL を実行する。
db2ilist
インスタンスの表示
db2 list database directory
システム・データベース・ディレクトリーに入ってい
る
該当インスタンスのデータベース情報を表示
セルフスタディキット【前編】
67
・各種照会用のコマンド(続き)
コマンド
コマンドの説明
db2 list tablespaces
表スペースの情報の表示
db2 list tables
表の情報の表示
db2 describe table 表名
表の内容の表示
db2 describe indexes for table 表 表に関連する索引の内容の表示
名
・環境作成に使用するコマンド
コマンド
コマンドの説明
db2icrt インスタンス名
インスタンスの作成
db2idrop インスタンス名
インスタンスの削除
db2 create database データベース名 データベースの作成
(注)コマンドはコマンド・ウィンドウ(非対話モード)での実行例になっています。コマン
ド行プロセッサー(対話モード)をご使用の場合には、頭の「db2」なしでコマンドを実行し
てください。
セルフスタディキット【前編】
68
【付録 2】参考情報 URL 一覧
DB2 に関する各種 URL を掲載しました。このセルフスタディキットでは不十分だった点を
確認するために、またもっと DB2 を知りたいという方にもとても参考になると思います。
どうぞお役立てください。
■IBM データベース/データ管理製品
統合サイト
◆トップページ
www.ibm.com/jp/software/data/
◆DB2 ファミリー製品
www.ibm.com/jp/software/data/db2/
■DB2 最新技術ポータルサイト
◆DB2 Developer Domain
www.ibm.com/jp/software/data/developer/
開発者、技術者向けサイトです。DB2 アーキテクトによるテクニカル・コラムを連載してお
り、また初心者向けの連載もあります。
◆ライブラリー
www.ibm.com/jp/software/data/developer/library/techdoc/
DB2 製品導入時と同じ形式で全マニュアルが閲覧可能です。
また、最新マニュアルは、
http://www.ibm.com/jp/software/data/developer/library/manual/db2online/index.htm
をご覧下さい。
◆製品の修正情報、DB2 FAQ
www.ibm.com/jp/software/data/developer/library/techinfo/
◆DB2 Forum
wsp01.alpha-mail.ne.jp/FRM/DB2
技術者の情報交換掲示板です。何かわからないことがあったら遠慮なくどんどん利用してく
ださい。
◆サポート情報
www.ibm.com/jp/software/data/support.html
◆FixPak
ftp.software.ibm.com/ps/products/db2/fixes/japanese/
■DB2 ビジネスポータルサイト
db2.jp
ビジネスソリューションの可能性を広げるポータルサイトであり、最新事例紹介なども豊富です。
セルフスタディキット【前編】
69
■DB2 ワールド
www.ibm.com/jp/software/data/developer/world/
RDB 初心者から技術スペシャリストまで、データベースに興味がある全ての方のためのサークル
です。入会金、年会費など無料、前提なしで会員になれます。会員は月間最新情報をメールで受
け取ることが出来ます。
■DB2 スキル育成−DB2 University
www.ibm.com/jp/software/data/db2univ/
DB2 University は、DB2 のより詳細な技術スキルを習得していただくため設立したスキル育成
支援プログラムです。
■DB2 スキル育成−研修
www.ibm.com/jp/software/data/education.html
DB2 の入門から、高度な専門分野までの各種研修コースをご提供しています。
■IBM DB2 技術者認定制度 DB2 グローバルマスター
www.ibm.com/jp/software/data/db2gm/
■その他
www.ibm.com/jp/software/data/download/
e-ラーニング「DB2 速習コース」など、各種ダウンロードへのリンクをご案内しています。
■DB2 パートナーズ・クラブ
www.ibm.com/jp/software/data/partners/service.html
DB2 パートナーズ・クラブは DB2 ファミリーおよび Informix 製品を中心としたビジネスの積極
的な展開を目指すビジネス・パートナー様向けのコミュニティです。入会は法人単位で年会費は
無料です。最新情報や各種マーケティング情報などの情報を受けることが出来ます。
セルフスタディキット【前編】
70
【付録3】
【第1時限目】クイズの回答
■Q1:DB2 はどこにインストールされましたか?確認してみてください。
A1:デフォルトのインストール先は、¥program files¥IBM¥sqllib
になります。知っておく
と便利なので構成の一部を以下に示します。
¥sqllib
−readme など
¥sqllib¥bin
−バイナリー実行可能ファイル
¥ sqllib¥cc
−コントロール・センター・ファイル
¥ sqllib¥DB2
−デフォルト・インスタンス・ディレクトリー
¥ sqllib¥ DB2DAS00
−デフォルト DAS インスタンス・ディレクトリー
¥ sqllib¥help
−オンライン・ヘルプ・ファイル
¥ sqllib¥samples
−サンプル・プログラム、サンプル・スクリプト
これらは、DB2 がインストールされているドライブの sqllib ディレクトリーの下に(例えば
¥program files¥IBM¥sqllib)に作成されます。尚、上記は一部説明のために抜粋したものであ
り、実際のディレクトリー構造は異なり、またインストールされている DB2 製品によっても異な
ります。
■Q2:DB2 をインストールするとどんなサービスが追加されたか確認してみてください。
A2:スタートメニューから「設定(S)」→「コントロールパネル(C)」→「管理ツール」→「サ
ービス」で DB2 という頭文字で始まるサービスを確認します。
セルフスタディキット【前編】
71
【付録3】
【第2時限目】クイズの回答
■Q1の回答
A1:③インフォメーション・センター
■Q2の回答
A2:
(回答例は SQL 許可 ID(スキーマ)が administrator になっています。各自のスキーマに
読み替えてご覧ください。)
① コ マ ン ド ・ セ ン タ ー の ス ク リ プ ト タ ブ に お い て 、 ス ク リ プ ト 欄 に 「 select * from
administrator.staff ;」を入力し、実行ボタンを押下します。
セルフスタディキット【前編】
72
■Q2の回答 の続き
②照会結果が表示されます。
セルフスタディキット【前編】
73
■Q3の回答
A3:
(回答例は SQL 許可 ID(スキーマ)が administrator になっています。各自のスキーマに
読み替えてご覧ください。)
①コマンド・センターの SQL アシスタントを選択します。
下記の SQL アシスタント画面において、「FROM(ソース表)」→「ADMINISTRATOR」→
「STAFF」→「>」を選択します。下記のように選択済み表に STAFF 表が追加され、また
SQL コード欄にもその内容が記述されたのが確認できます。
セルフスタディキット【前編】
74
■Q3の回答 の続き
②「WHERE(行フィルター)」→列:
「JOB」→演算子:
「=」(デフォルト値)→値:
「値の検索」
を選択します。
③JOB 列の値の一覧が表示されるので「Mgr」を選択し、
「OK」をクリックします。
セルフスタディキット【前編】
75
■Q3の回答 の続き
④元の画面に戻ると値:「‘Mgr’」が設定されていることが確認できます。「>」をクリック
します。
⑤下記のように検索条件:「STAFF.JOB = ‘Mgr’」が追加され、また SQL コード欄にもその内容
が記述されたのが確認できます。「実行」をクリックします。
セルフスタディキット【前編】
76
■Q3の回答 の続き
⑥別画面に照会結果が表示されます。
セルフスタディキット【前編】
77
【付録3】
【第3時限目】クイズの回答
■Q1の回答
A1:
①CLP において、
「db2 load from s:¥temp¥shop1.csv of del insert into self01shop nonrecoverable indexing
mode rebuild allow no access」を入力し、「Enter」キーを押します。
②照会して確認してみてください。コマンドは、
「db2 select *from self01.shop」を入力し、
「Enter」を押します。
さらに興味のある方は、この後、コマンドの学習のために「db2 ? load」を入力して LOAD
コマンドを復習してみてください。
セルフスタディキット【前編】
78
Fly UP