このチュートリアルでは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」タブをクリックします。
|
|
. |
データが表示されます。 次のトピックでは新しい表を作成し、この表にデータを挿入します。
|
EMPLOYEES表に対して外部キーを持つDEPENDENTSという新しい表を作成します。 以下の手順を実行します。
|
. |
「Tables」を右クリックして、「New TABLE...」を選択します。
|
|---|---|
|
. |
表名にDEPENDENTSと入力し、「Advanced」チェック・ボックスを選択します。
|
|
. |
名前にIDと入力し、データ型として「NUMBER」を選択したら、Precisionに6と入力します。 「Cannot be NULL」チェック・ボックスを選択します。 次に、「
|
|
. |
名前に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タブが選択された状態になっていない場合、これらを選択します。
|
||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| . |
「
|
||||||||||||||||||
| . |
次のデータを入力したら、「
|
||||||||||||||||||
| . |
コミット処理の結果がログ・ウィンドウに表示されます。
|
||||||||||||||||||
| . |
スクリプトを使用して、一度に複数の列をロードすることもできます。 「File Open...」をクリックします。
|
||||||||||||||||||
| . |
前提条件でファイルを解凍したディレクトリへ移動し、「load_dep.sql」ファイルを選択して「Open」をクリックします。
|
||||||||||||||||||
| . |
SQL Worksheetの右側にある接続ドロップダウン・リストから「HR_ORCL」接続を選択します。
|
||||||||||||||||||
|
. |
スクリプトのSQLが表示されます。 「Run Script」アイコンをクリックします。
データが挿入されました。 「DEPENDENTS」タブをクリックします。
|
||||||||||||||||||
|
. |
データを参照する前にDataタブが選択されていることを確認したら、「
すべてのデータが表示されます。
|
||||||||||||||||||
|
. |
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 を追加します。 「
|
| . |
結果が表示されます。
|
前のトピックで実行した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'が含まれるすべてのデータ・ディクショナリ・ビューが表示されます。
|
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_IDとP_INCREMENTという入力パラメータの値を設定します。
|
| . |
P_IDに102を、P_INCREMENTに1.2を設定します。 これは、102というIDを持つ従業員の給与が20%上昇したことを意味します。 EMPLOYEE_ID 102の現行給与は17000です。「OK」をクリックします。
|
| . |
戻り値は20400です。
|
| . |
例外処理をテストするには、ナビゲータで「HR_PACK」を右クリックして「Run」を実行します。
|
| . |
今度は、P_INCREMENT値を5に変更して、「OK」をクリックします。
|
| . |
この場合、P_INCREMENT値が1.5を超えているため、"Invalid increment amount"という例外が発生しています。
|
このチュートリアルで学習した内容は、次のとおりです。
![]()