Oracle SQL Developer 3.0でのクエリー・ビルダーの使用

<このテキストを削除しないでください。これは、ブラウザ実行時に生成される"主要"なトピック一覧のプレースホルダです。>

目的

このチュートリアルでは、Oracle SQL Developer 3.0でクエリー・ビルダー機能を使用する方法について説明します。

所要時間

約15分

概要

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

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

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

このチュートリアルでは、クエリー・ビルダー機能を使用して、直感的かつグラフィカルに問合せを構築する方法を学習します。

ソフトウェアおよびハードウェア要件

ソフトウェア要件は、以下のとおりです。

前提条件

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

.

Oracle SQL Developer 3.0をOTNサイトからダウンロードして、インストールしていること。 指示に従ってインストールしていること。

.

Oracle Database 11gおよびサンプル・スキーマをインストールしていること。

.

HRユーザーをアンロックしていること。 SYSユーザーとしてSQL Developerにログインし、次のコマンドを実行します。
alter user hr identified by hr account unlock;

注: このチュートリアルは、Oracle SQL Developer 3.0を使用して開発されています。

.

files.zipをダウンロードして、ファイル・システム上のローカル・フォルダに解凍していること。 このチュートリアルでは、C:\sqldev3.0フォルダを使用しています。

データベース接続の作成

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

データベース接続を作成するには、以下の手順を実行します。

注: すでにデータベース接続を作成している場合、このステップを実行する必要はありません。 クエリー・ビルダーへのオブジェクトの追加のトピックへ進んでください。

.

デスクトップにSQL Developerアイコンがインストールされている場合、アイコンをクリックしてSQL Developerを起動したら、ステップ4へ進みます。デスクトップにアイコンがない場合は、次の手順を実行して、SQL Developer 3.0をデスクトップから起動するためのショートカットを作成します。

SQL Developer 3.0がインストールされているディレクトリを開き、「sqldeveloper.exe」(Windowsの場合)または「sqldeveloper.sh」(Linuxの場合)を右クリックして「Send to」→「Desktop (create shortcut)」を選択します。

 

.

デスクトップ上に、sqldeveloper.exeへのショートカットが作成されています。 このアイコンをダブルクリックして、SQL Developer 3.0を開きます。

注: アイコンの名前を変更するには、アイコンを選択してから[F2]キーを押し、新しい名前を入力します。

 

.

Oracle SQL Developerが表示されます。

 

.

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

 

.

New/Select Database Connectionダイアログが表示されます。 次の接続情報を入力し、「Test」をクリックします。

Connection Name: HR_ORCL
User Name: hr
Password: <パスワード> (「Save Password」を選択します)
Hostname: localhost
SID: <使用するSID>

 

.

左下(Helpボタンの上)に表示される接続ステータスを確認します。 Successと表示されているはずです。 「Save」→「Connect」の順にクリックします。

 

.

接続が保存され、新しく作成した接続がConnectionsリストに表示されます。

 

クエリー・ビルダーへのオブジェクトの追加と問合せの構築

ここでは、クエリー・ビルダー・インタフェースにオブジェクトを追加し、これらのオブジェクトに基づく問合せを作成する方法について学習します。

この項では、EMPLOYEES表とDEPARTMENTS表に基づく問合せを作成します。 生成される出力には、それぞれの部門名に対して、そこに所属する従業員が表示されます。

クエリー・ビルダーにEMPLOYEES表を追加するには、以下の手順を実行します。

.

Query Builder」タブを選択して、Query Builderウィンドウを開きます。

 

.

Connectionsナビゲータから「EMPLOYEES」表をドラッグし、Query Builderウィンドウへドロップします。

 

.

DEPARTMENTS」表オブジェクトをQuery Builderウィンドウにドラッグ・アンド・ドロップすると、2つの表オブジェクトがQuery Builderウィンドウに表示されます。

EMPLOYEES表とDEPARTMENTS表の間には2つの関係が定義されているため、これら2つの表は2本の線で結ばれており、外部キー制約を介して関連付けられた列が指定されています。

これらの2つの関係は、次のように定義されています。

  1. DEPARTMENTS表のMANAGER_IDは、EMPLOYEES表のEMPLOYEE_IDに含まれるいずれかの値と一致している必要があります(マネージャーは従業員として存在しなければなりません)。
  2. EMPLOYEES表のDEPARTMENT_IDは、DEPARTMENTS表のDEPARTMENT_IDに含まれるいずれかの値と一致している必要があります(従業員の部門はDEPARTMENTS表に存在するか、またはNULLでなければなりません)。

 

.

次に、レポートに表示する列を選択します。

EMPLOYEES表で、「FIRST_NAME」、「LAST_NAME」、「JOB_ID」、「SALARY」、「DEPARTMENT_ID」の列にチェックを付けます。 これらの列を選択すると、表オブジェクトの下のウィンドウに、選択した順序でこれらの列が追加されることに注意してください。

DEPARTMENTS表の「DEPARTMENT_NAME」列にチェックを付けます。

 

.

」Runをクリックします。

結果が、Query Resultウィンドウに表示されます。 レポート内の部門名はDEPARTMENTS表から取得されており、その他のデータはEMPLOYEES表から表示されている点に注意してください。

 

.

自動的に生成されたSQLを表示するには、Query Resultウィンドウの「SQL」アイコンをクリックします。

レポート結果の上に、Query Result SQLウィンドウが表示されます。

必要に応じて、この問合せを別のエディタにコピーすることができます。 右上の「close」アイコンをクリックします。

 

結果のソート

Oracle SQL Developerを使用すると、簡単に結果を変更することができます。 ここでは、ソート・タイプとソート順の列を使用して、結果をソートします。

次の手順を実行します。

.

この項では、部門ごとに所属する従業員を表示するレポート(部門名のアルファベット順)を作成します。

メインのQuery Builderウィンドウで、「EMPLOYEES」表の名前を右クリックします。 サブメニューから「Uncheck All」を選択します。

すべてのチェックを解除すると、クエリー・ビルダーの中央ペインから列が削除されます。

 

.

このレポートでは、DEPARTMENT_NAME列を最初に表示し、部門名ごとに従業員名と給与を表示します。

EMPLOYEES表オブジェクトの、「FIRST_NAME」列、「LAST_NAME」列、「SALARY」列にチェックを付けます。 これらの列は、選択された順序で下のウィンドウに追加されます。

 

.

EMPLOYEES表のEMPLOYEE_ID列とDEPARTMENTS表のMANAGER_ID列の間にある関係は、このレポートには関与していません。

これら2つの列を結び付けている線を選択して、関係を削除します。 この線を右クリックし、サブメニューから「Remove」を選択します。

関係を示す線が削除されました。

 

.

結果をソートするには、ExpressionのDEPARTMENTS.DEPARTMENT_NAMEの横にある「Sort Type」フィールドをクリックします。

Ascending」を選択します。

 

.

」Runをクリックして、結果を確認します。

 

SQL Worksheetへの問合せの追加

Query Builderウィンドウで作業を行うと、SQL文が作成され、SQL Worksheet領域に表示されます。 この問合せは、SQL Worksheetとクエリー・ビルダーのいずれで変更することもできます。

以下の手順に従います。

.

Query Builderウィンドウをクリアするには、「close」アイコンをクリックしてEMPLOYEES表とDEPARTMENTS表を閉じます。

 

 

.

Worksheet 」タブをクリックして、SQL Worksheetウィンドウに切り替えます。

注: メイン・メニューから「Tools」→「SQL Worksheet」の順に選択すれば、いつでもSQL Worksheetを表示できます。

 

.

SQL Worksheetに次の問合せを入力します。

SELECT employee_id, city, department_name
FROM employees e
JOIN departments d
ON d.department_id = e.department_id
JOIN locations l
ON d.location_id = l.location_id;

注: 前提条件の項でダウンロードしたfiles.zipファイルから、3join.sqlスクリプトの内容をコピーすることもできます。

 

.

Query Builder」タブをクリックして、Query Builderビューに切り替えます。

 

.

 

ワークシートのSelect文をグラフィカルに表したビューが表示されます。 オブジェクトを別の場所にドラッグ・アンド・ドロップして、ビューが見やすいように移動して構いません。 これは、多数のオブジェクトがこのグラフィカル・ビューに含まれており、これらを適切に整理したい場合に便利な方法です。

 

 

.

」Runをクリックします。 問合せの結果が表示されます。 この問合せでは、従業員のID、都市、部門名が表示されます。

 

.

この問合せにフィルタを適用することができます。 たとえば、シアトルの従業員のみを表示します。

Criteria列へ移動し、l.CITYの行にSeattleと入力して[Enter]を押します。

 

.

Worksheet」タブをクリックします。

Query Builderウィンドウに追加した条件がワークシートに反映されているかどうかを確認します。

 

.

Query Builder」タブをクリックして、クエリー・ビルダーに戻ります。

」Runをクリックします。

シアトルに住む従業員のみが出力に表示されていることを確認します。

 

まとめ

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

Hardware and Software Engineered to Work Together 会社情報 |オラクルとサン | Oracle RSS Feeds | 採用情報 | お問い合わせ | サイトマップ | 情報保護基本方針 | ウェブサイトのご使用条件 | 個人情報保護基本方針