Oracle SQL Developer はじめの一歩

目的

このチュートリアルではOracle SQL Developerを紹介するとともに、データベース・オブジェクトを管理する方法について説明します。

所要時間

約50分

概要

Oracle SQL Developerは、生産性を強化し、データベース開発作業を簡素化する無償のグラフィカル・ツールです。 Oracle SQL Developerを使用すると、ユーザーはデータベース・オブジェクトの参照、SQL文の実行、PL/SQL文の編集とデバッグ、組込みレポートや独自に作成したレポートの実行を行うことができます。

Javaで開発されたOracle SQL Developerは、Windows、Linux、Mac OS X上で実行されます。 これは、さまざまなプラットフォームを使用する多くの開発者にとって大きな利点です。 また、複数のプラットフォームがサポートされているため、ユーザーはデータベース・サーバーにOracle SQL Developerをインストールし、デスクトップからリモート接続することで、クライアント・サーバーによるネットワーク・トラフィックを回避できます。

データベースへのデフォルトの接続は、JDBCシン・ドライバ経由で行われるため、Oracle Homeは不要です。 Oracle SQL Developerは、ダウンロードしたzipファイルを解凍するだけでインストールできます。 Oracle SQL Developerでは、サポートされているOracle Databaseであれば、Express Editionを含むすべてのエディションに接続できます。

前提条件

このチュートリアルを始める前に次のことを確認してください。

データベース接続の作成

Oracle SQL Developerを使用してデータベース・オブジェクトを管理するための最初の手順は、データベース接続を作成することです。 以下の手順を実行します。

.

Oracle SQL Developerを開きます。

 

.

Connectionsナビゲータで、「Connections」を右クリックし、「New Connection」を選択します。

 

.

接続名としてHR_ORCL(または接続を特定できるその他の名前)を入力し、ユーザー名とパスワードにhrを入力したら、ホスト名にlocalhostを指定し、SIDとしてORCLを入力します。 「Test」をクリックします。

 

.

接続ステータスのテストに成功しましたが、 接続は保存されていません。 「Save」をクリックして接続を保存し、「Connect」をクリックします。

 

.

接続が保存され、リストにデータベースが表示されます。

 

.

HR_ORCLを展開します。

: 接続を開くと、自動的にSQL Worksheetが開きます。 SQL Worksheetを使用すると、上記で作成した接続に対してSQLを実行できます。

 

.

Tables」を展開します。

 

.

EMPLOYEES」表を選択して、表定義を表示します。 「Data」タブをクリックします。

 

.

データが表示されます。 次のトピックでは新しい表を作成し、この表にデータを挿入します。

 

Create Tableダイアログ・ボックスを使用した新しい表の追加

EMPLOYEES表に対して外部キーを持つDEPENDENTSという新しい表を作成します。 以下の手順を実行します。

.

Tables」を右クリックして、「New TABLE...」を選択します。

 

.

表名にDEPENDENTSと入力し、「Advanced」チェック・ボックスを選択します。

 

.

名前にIDと入力し、データ型として「NUMBER」を選択したら、Precisionに6と入力します。 「Cannot be NULL」チェック・ボックスを選択します。 次に、「Add Columnアイコンをクリックします。

 

.

名前にFIRST_NAMEと入力します。データ型はVARCHAR2のままにし、サイズに20と入力します。 次に、「Add Column」アイコンをクリックします。

 

.

名前にLAST_NAMEと入力します。データ型はVARCHAR2のままにし、サイズに25と入力します。 「Cannot be NULL」チェック・ボックスを選択します。 次に、「Add Column」アイコンをクリックします。

 

.

名前にBIRTHDATEと入力し、データ型として「DATE」を選択します。 次に、「Add Column」アイコンをクリックします。

 

.

名前にRELATIONと入力します。データ型はVARCHAR2のままにし、サイズに25と入力します。 「OK」をクリックして、表を作成します。

 

.

表のリストに新しい表が表示されます。

 

表定義の変更

Oracle SQL Developerを使用すると、簡単にデータベース・オブジェクトを変更できます。 ここでは、先ほど作成したDEPENDENTS表に列を1つ追加します。 以下の手順を実行します。

.

DEPENDENTS」表を選択します。

 

.

右クリックし、「Column」→「Add」の順に選択します。

 

.

RELATIVE_IDと入力し、ドロップダウン・リストから「NUMBER」を選択したら、Precisionに6を、Scaleに0を入力します。

Apply」をクリックします。

 

.

列が正しく追加されたことを確認するメッセージが表示されます。

OK」をクリックします。

 

.

DEPENDENTS」表を展開し、変更を確認します。

 

表の制約の追加

ここでは、DEPENDENTS表に対して主キー制約および外部キー制約を作成します。 以下の手順を実行します。

.

DEPENDENTS」表を右クリックして、「Edit...」を選択します。

 

.

ツリー内の「Primary Key」ノードをクリックします。

 

.

ID」列を選択し、「>」をクリックしてSelected Columnsウィンドウに移動します。

 

.

ツリー内の「Foreign Key」ノードを選択し、「Add」をクリックします。

 

.

参照表として「EMPLOYEES」を選択し、ローカル列に「RELATIVE_ID」を選択したら、「OK」をクリックします。

 

表へのデータの追加

以下の手順に従って、DEPENDENTS表にデータを追加します。

.

DEPENDENTS表とDataタブが選択された状態になっていない場合、これらを選択します。

 

.

Insert Rowアイコンをクリックします。

 

.

次のデータを入力したら、「Commitアイコンをクリックして、データベースにこの行をコミットします。

ID:
FIRST_NAME:
LAST_NAME: Littlefield
BIRTHDATE: 01-JAN-97
RELATION: Daughter
RELATIVE_ID: 110

 

.

コミット処理の結果がログ・ウィンドウに表示されます。

 

.

スクリプトを使用して、一度に複数の列をロードすることもできます。 「File Open...」をクリックします。

 

.

前提条件でファイルを解凍したディレクトリへ移動し、「load_dep.sql」ファイルを選択して「Open」をクリックします。

 

.

SQL Worksheetの右側にある接続ドロップダウン・リストから「HR_ORCL」接続を選択します。

 

.

スクリプトのSQLが表示されます。 「Run Script」アイコンをクリックします。

データが挿入されました。 「DEPENDENTS」タブをクリックします。

 

.

データを参照する前にDataタブが選択されていることを確認したら、「Refreshアイコンをクリックしてすべてのデータを表示します。

すべてのデータが表示されます。

 

.

Microsoft Excelなど、その他のツールで使用できるようにデータをエクスポートできます。 任意の列の値を右クリックして「Export」を選択したら、ファイル形式(例:csv)を選択します。

 

.

ディレクトリおよびファイル名を指定し、「Apply」をクリックします。

 

.

DEPENDENTS.CSVファイルを確認すると、以下のように表示されます。

 

データへのアクセス

DEPENDENTSデータにアクセスする方法の1つは、DEPENDENTS表に対してSELECT文を生成し、WHERE句を追加することです。 以下の手順を実行します。

.

HR_ORCL」データベース接続を選択して右クリックしたら、「Open SQL Worksheet」を選択します。

 

.

データベース・オブジェクト・リストから「DEPENDENTS」表をドラッグし、SQL文の領域にドロップします。

 

.

ダイアログ・ウィンドウが表示され、作成するSQL文の種類を指定できます。 SELECT文が選択されたデフォルトを受け入れ、「Apply」をクリックします。

 

.

生成されたSELECT文が表示されます。 この文をSQL Worksheet内で変更し、実行できます。

 

.

SELECT文の最後にある';'の前に、WHERE句としてwhere relative_id > 110 を追加します。

Run Statementアイコンをクリックします。

 

.

結果が表示されます。

 

レポートの作成

前のトピックで実行したSQLは頻繁に実行する必要があるため、このSQLに基づいたカスタム・レポートを作成します。 さらに、バインド変数を使用してデータベースのデータ・ディクショナリのレポートを実行します。 以下の手順を実行します。

.

HR_ORCL SQL Worksheetで先ほど実行したSQLを選択して右クリックし、「Create Report」を選択します。

 

.

レポート名を入力して、「Apply」をクリックします。

 

.

Reports」タブを選択して、「User Defined Reports」を展開し、先ほど作成したレポートを選択します。

 

.

ドロップダウン・リストから「HR_ORCL」を選択し、「OK」をクリックしてデータベースに接続します。

 

.

レポートの結果が表示されます。

 

.

また、データ・ディクショナリ・レポートも実行できます。 「Data Dictionary Reports」→「Data Dictionary」の順に展開し、 「Dictionary Views」を選択します。

 

.

NULL」チェック・ボックスの選択を解除し、値にcolと入力したら、「Apply」をクリックします。

 

.

名前に'col'が含まれるすべてのデータ・ディクショナリ・ビューが表示されます。

 

PL/SQLの作成と実行

Oracle SQL Developerでは、PL/SQLの編集機能が豊富に提供されています。 ここでは、従業員の給与を調整するパッケージ仕様およびパッケージ本体を作成します。 以下の手順を実行します。

.

メイン・メニューから「File」→「Open」の順に選択します。

 

.

前提条件でファイルを解凍したディレクトリを参照し、「createHRpack.sql」ファイルを選択して「Open」をクリックします。

 

.

右側のドロップダウン・リストから「HR_ORCL」データベース接続を選択します。

 

.

Run Script」アイコンをクリックします。

 

.

パッケージとパッケージ本体が正しくコンパイルされました。 「Connections」ナビゲータをクリックします。

 

.

HR_ORCL」→「Packages」→「HR_PACK」の順に選択して、HR_PACKのパッケージ定義を表示します。

 

.

HR_PACK BODY 」をダブルクリックして、パッケージ本体の定義を表示します。

 

.

いずれかの「-」をクリックするとコードが折りたたまれ、「+」をクリックするとコードが展開されます。

 

.

行番号が表示されない場合、行番号の領域で右クリックしてから「Toggle Line Numbers」をクリックすると、行番号が表示されます。 これは、デバッグする際に有効です。

 

.

Connectionsナビゲータで「Packages」→「HR_PACK」の順に選択し、右クリックしてから「Run」を選択します。

 

.

Parameterウィンドウが表示されたら、 GET_SALターゲットが選択されていることを確認します。 ここで、P_IDP_INCREMENTという入力パラメータの値を設定します。

 

.

P_ID102を、P_INCREMENT1.2を設定します。 これは、102というIDを持つ従業員の給与が20%上昇したことを意味します。 EMPLOYEE_ID 102の現行給与は17000です。「OK」をクリックします。

 

.

戻り値は20400です。

 

.

例外処理をテストするには、ナビゲータで「HR_PACK」を右クリックして「Run」を実行します。

 

.

今度は、P_INCREMENT値を5に変更して、「OK」をクリックします。

 

.

この場合、P_INCREMENT値が1.5を超えているため、"Invalid increment amount"という例外が発生しています。

 

まとめ

このチュートリアルで学習した内容は、次のとおりです。