0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->
Oracle SQL Developerを使用したデータベース・オブジェクトの管理
目的
このチュートリアルでは、Oracle SQL Developerを使用してデータベース・オブジェクトを管理する方法について説明します。
所要時間
約30分
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、
すべてのスクリーンショットがロードし、表示されます。
(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
概要
Oracle SQL Developerは、生産性を強化し、データベース開発作業を簡素化する新しい無料のグラフィカル・ツールです。 Oracle SQL Developerを使用することで、ユーザーはデータベース・オブジェクトの参照、SQL文の実行、PL/SQL文の編集とデバッグ、提供または作成したレポートを実行できます。
Oracle SQL Developerは、Javaで開発され、Windows、LinuxおよびMacで稼動します。 これは、さまざまなプラットフォームを使用する多くの開発者にとって大きな利点です。 また、複数プラットフォームのサポートにより、ユーザーは、データベース・サーバーにOracle SQL Developerをインストールし、デスクトップからリモート接続することで、クライアント・サーバーのネットワーク・トラフィックを防止できます。 データベースとのデフォルト接続は、JDBC Thinドライバ経由で行われるため、Oracle Homeは不要です。 Oracle SQL Developerをインストールするには、ダウンロードしたzipファイルを解凍します。 Oracle SQL Developerを使用すると、ユーザーは、Oracle Database 9.2.0.1以降、すべてのエディションのOracle Databaseに接続できます。
トピック・リストに戻る
前提条件
このチュートリアルを実施する前に、次の準備をしておく必要があります。
| 1.
|
Oracle Database 11gがインストールされていること。
|
| 2. |
sqldev.zipファイルをダウンロードし、作業ディレクトリ(d:\wkdir)に解凍すること。
|
| 3.
|
DEPENDENTS表がないこと。 SQL*Plusを開き、以下のコマンドを実行します。
connect hr/hr
drop table dependents;
|
トピック・リストに戻る
データベース接続の作成
Oracle SQL Developerを使用してデータベース・オブジェクトを管理するための最初の手順は、データベース接続を作成することです。 以下の手順を実行します。
| 1.
|
端末ウィンドウを開き、以下のコマンドを実行します。
cd $ORACLE_HOME/sqldeveloper/sqldeveloper/bin
./sqldeveloper
|
| 2.
|
Connectionsタブで「
Connections」を右クリックし、「
New Connection」を選択します。
|
| 3.
|
Connection Nameに
<your_db_sid_name>_HR
(または、接続を識別するその他の名前)を、UsernameとPasswordに
hr
を入力し、Hostnameで
<hostname>を指定したら、SIDに
<your_db_sid>
を入力します。 次に「
Test」をクリックします。
|
| 4.
|
接続ステータスのテストに成功しました。 しかし、接続は保存されていません。 接続を保存するには、「
Connect」をクリックします。
|
| 5.
|
接続が保存され、リストにデータベースが表示されます。 「
ORCL_HR」を開きます。
注:接続を開くと、自動的にSQL Worksheetが開きます。 SQL Worksheetは、作成したばかりの接続に対してSQLを実行することができます。
|
| 6.
|
「
Tables」を開きます。
|
| 7.
|
「
EMPLOYEES」表を選択して、表定義を表示します。
|
| 8.
|
データを表示するには、「
Data」タブをクリックします。
|
| 9.
|
データが表示されます。 次のトピックでは、新しい表を作成して、表にデータを入力します。
|
トピック・リストに戻る
Tableダイアログ・ボックスを使用した新しい表の追加
EMPLOYEES表に外部キーを持つ、
DEPENDENTSという新しい表を作成します。 以下の手順を実行します。
| 1.
|
「
Table」を右クリックして、「
New Table」を選択します。
|
| 2.
|
Table Nameに
DEPENDENTS
と入力してから、「
Advanced」チェック・ボックスをクリックします。
|
| 3.
|
Nameに
IDを入力し、Data typeで「
NUMBER」を選択したら、Precisionに
6と入力します。 「
Cannot be NULL」チェック・ボックスを選択します。 次に、「
Add Column」アイコンをクリックします。
|
| 4.
|
Nameに
FIRST_NAMEと入力し、Sizeに
20と入力します。 次に、「
Add Column」アイコンをクリックします。
|
| 5.
|
Nameに
LAST_NAMEと入力し、Sizeに
25と入力します。 「
Cannot be NULL」チェック・ボックスを選択します。 次に、「
Add Column」アイコンをクリックします。
|
| 6.
|
Nameに
BIRTHDATEを入力し、Data typeで「
DATE」を選択します。 次に、「
Add Column」アイコンをクリックします。
|
| 7.
|
Nameに
RELATIONと入力し、Sizeに
25と入力します。 次に、「
Add Column」アイコンをクリックします。
|
| 8.
|
Nameに
GENDERと入力し、Sizeに
1と入力します。 次に、「
Add Column」アイコンをクリックします。
|
| 9.
|
Nameに
RELATIVE_IDを入力し、Data typeで「
NUMBER」を選択したら、Precisionに
6と入力します。 「
Cannot be NULL」チェック・ボックスを選択します。 次に、「
OK」をクリックして表を作成します。
|
| 10.
|
表のリストに新しい表が表示されます。 表から「
DEPENDENTS」を選択します。
|
トピック・リストに戻る
表定義の変更
Oracle SQL Developerでは、データベース・オブジェクトの変更を非常に簡単に実現します。 ここでは、作成したばかりの
DEPENDENTS表内の列を削除します。 以下の手順を実行します。
| 1.
|
「
Actions...」ボタンをクリックします。
|
| 2.
|
「
Column」、「
Drop」の順に選択します。
|
| 3.
|
Column Nameの「
GENDER」を選択し、「
Apply」をクリックします。
|
| 4.
|
列は削除されました。 「
OK」をクリックします。
|
| 5.
|
「
Refresh」アイコンを選択して、表の列リストをリフレッシュします。
|
| 6.
|
Gender列はリストから消えました。
|
トピック・リストに戻る
表の制約の追加
ここでは、
DEPENDENTS表の主キーおよび外部キーの制約を作成します。 以下の手順を実行します。
| 1.
|
「
DEPENDENTS」
表を右クリックして、「
Edit」を選択します。
|
| 2.
|
表から「
Primary Key」を選択します。
|
| 3.
|
「
ID」列を右クリックして、「
>」をクリックし、リストから「
Foreign Key」を選択します。
|
| 4.
|
「
Add」をクリックします。
|
| 5.
|
Referenced Tableで「
EMPLOYEES」を選択し、Local Columnで「
RELATIVE_ID」を選択したら、「
OK」をクリックします。
|
トピック・リストに戻る
表へのデータの追加
以下の手順に従って、表にデータを追加します。
| 1.
|
「
Insert Row」アイコンをクリックします。
|
| 2.
|
以下のデータを入力して、「
Commit Changes」アイコンをクリックします。
| ID |
209
|
| FIRST_NAME |
Sue
|
| LAST_NAME |
Littlefield
|
| BIRTHDATE |
01-JAN-97
|
| RELATION |
Daughter
|
| RELATIVE_ID |
110
|
|
| 3.
|
追加した行がデータベースにコミットされました。
|
| 4.
|
スクリプトを使用して、一度に複数の列をロードすることもできます。 SQL Worksheetの「
ORCL_HR
」タブをクリックします。
|
| 5.
|
SQL文の領域を右クリックして、「
Open File」を選択します。
|
| 6.
|
作業ディレクトリ(c:\wkdir)に移動し、
load_dep.sqlファイルを選択して「
Open」をクリックします。
|
| 7.
|
スクリプトのSQLが表示されます。 「
Run Script」アイコンをクリックします。
|
| 8.
|
データが挿入されます。 データを表示するには、「
DEPENDENTS」タブをクリックします。
|
| 9.
|
「
Refresh」をクリックして、すべてのデータを表示します。
|
| 10.
|
表内のすべてのデータが一覧表示されます。
|
| 11.
|
Microsoft Excelなど、その他のツールで使用できるようにデータをエクスポートできます。 列の値のいずれかを右クリックして、「
Export」を選択してからファイル形式の1つを選択します。
|
| 12.
|
ファイルのディレクトリおよび名前を指定し、「
Apply」をクリックします。
|
| 13.
|
DEPENDENTS.CSVファイルを確認すると、以下のように表示されます。
|
トピック・リストに戻る
データへのアクセス
DEPENDENTSデータにアクセスする方法の1つは、
DEPENDENTS表に
SELECT文を生成し、
WHERE句を追加することです。 以下の手順を実行します。
| 1.
|
SQL Worksheetの
タブをクリックします。
|
| 2.
|
「
clear」(鉛筆型の)アイコンをクリックして、SQL Statementウィンドウからコンテンツを削除します。
|
| 3.
|
データベース・オブジェクトのリストから「
DEPENDENTS」表をSQL文の領域にドラッグ・アンド・ドロップします。
|
| 4.
|
SELECT文には、DEPENDENTS表に含まれる列すべてが表示されます。 SELECT文の最後まで右方向にスクロールします。
|
| 5.
|
WHERE句の
where relative_id > 110 を、SELECT文の最後にある';'の前に追加します。 次に、「
Execute Statement」アイコンをクリックします。
|
| 6.
|
結果が表示されます。
|
トピック・リストに戻る
レポートの作成
前のトピックで実行したSQLは頻繁に実行する必要があるため、そのSQLに基づいてカスタム・レポートを作成します。 さらに、バインド変数を使用してデータベースのデータ・ディクショナリのレポートを実行します。 以下の手順を実行します。
| 1.
|
実行したSQL WorksheetのSQLを選択します。 次に、「
Edit」プルダウンをクリックして、「
Copy」を選択します。
|
| 2.
|
「
Reports」タブをクリックします。
|
| 3.
|
「
User Defined Reports」を右クリックして、「
Add Folder」を選択します。
|
| 4.
|
Folder Nameに
DEPENDENTS RPTSと入力し、「
Apply」をクリックします。
|
| 5.
|
「
DEPENDENT RPTS」を右クリックして、「
Add Report」を選択します。
|
| 6.
|
レポートの名前を入力したら、SQL領域で
[Ctrl]+[v]を押し、SQL WorksheetからコピーしたSQLを貼り付けます。 次に、「
Apply」をクリックします。
|
| 7.
|
「
DEPENDENTS RPTS.」を開きます。
|
| 8.
|
作成したレポートを選択します。
|
| 9.
|
「
OK」をクリックして、データベースに接続します。
|
| 10.
|
レポートの結果が表示されます。
|
| 11.
|
その他、データ・ディクショナリ・レポートも実行できます。 「
Data Dictionary Reports」、「
Data Dictionary」の順に開きます 次に、「
Dictionary Views」を選択します。
|
| 12.
|
「
NULL」チェック・ボックスのチェックを外します。
|
| 13.
|
Valueに
colと入力し、「
Apply」をクリックします。
|
| 14.
|
'col'を含むすべてのデータ・ディクショナリ・ビューが表示されます。
|
トピック・リストに戻る
PL/SQLのデバッグおよび実行
Oracle SQL Developerには、拡張されたPL/SQLデバッグ機能があります。 ここでは、従業員の給与を調整するパッケージの仕様およびパッケージ本体を作成します。 以下の手順を実行します。
| 1.
|
SQL Worksheetのタブをクリックします。
|
| 2.
|
SQL文の領域を右クリックして、「
Open File」を選択します。
|
| 3.
|
作業ディレクトリ(
c.\wkdir)で「
createHRpack.sql
」を選択して、「
Open」をクリックします。
|
| 4.
|
「
Run Script」アイコンをクリックします。
|
| 5.
|
左にある「
Connections」タブをクリックします。
|
| 6.
|
スクリプトの実行は成功し、パッケージおよびパッケージ本体が作成されました。 「
ORCL_HR」を開きます。
|
| 7.
|
「
HR_PACK」を選択して、パッケージの定義を表示します。
|
| 8.
|
「
HR_PACK BODY」を選択して、パッケージ本体の定義を表示します。
|
| 9.
|
パッケージ本体に変更を加えるには、「
Edit」アイコンをクリックします。
|
| 10.
|
いずれかの「
+」をクリックしてコードを閉じるか、「
-」を押してコードを開きます。
|
| 11.
|
行番号が表示されない場合、行番号の領域で右クリックしてから「
Toggle Line Numbers」をクリックして表示されるようにします。 これは、デバッグの際に有効です。
|
| 12.
|
「
HR_PACK」を右クリックして、「
Run」を選択します。
|
| 13.
|
Parameterウィンドウが表示されます。 ここに、入力パラメータを挿入する必要があります。
P_IDを
102
に、
P_INCREMENTを
1.2
に設定します。 これは、ID 102の従業員の給与が20%上昇したという意味です。
EMPLOYEE_ID 102の現行のSALARYは、17000です。「
OK」をクリックします。
|
| 14.
|
20400の値が返されます。
|
| 15.
|
Exception Handlingをテストするには、ナビゲータで「
HR_PACK」を右クリックして、「
Run」を実行します。
|
| 16.
|
今度は、P_INCREMENT値を
5に変更して、「
OK」をクリックします。
|
| 17.
|
この場合、P_INCREMENT値が1.5以上だったため、"Invalid increment value"の例外が発生します。
|
トピック・リストに戻る
まとめ
このチュートリアルで学習した内容は、次のとおりです。
|
データベース接続の作成 |
|
Tableダイアログ・ボックスを使用した新しい表の追加 |
|
表定義の変更 |
|
表へのデータの追加 |
|
データへのアクセス |
|
レポートの生成 |
|
PL/SQLのデバッグおよび実行 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|