<このテキストを削除しないでください。これは、ブラウザ実行時に生成される"主要"なトピック一覧のプレースホルダです。>
このチュートリアルではOracle SQL Developer 3.0を紹介するとともに、データベース・オブジェクトを管理する方法について説明します。
約50分
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にログインし、次のコマンドを実行します。 注: このチュートリアルは、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_ORCLUser Name: hr Password: <パスワード> (「Save Password」チェック・ボックスを選択します) Hostname: localhost SID: <使用するSID>
|
|
. |
左下(Helpボタンの上)に表示される接続ステータスを確認します。 Successと表示されているはずです。 「Connect」をクリックします。 「Save」をクリックします。
|
|
. |
接続が保存され、新しく作成した接続がConnectionsリストに表示されます。
|
|
. |
「HR_ORCL」を展開します。
注: 接続を開くと、自動的にSQL Worksheetが開きます。 SQL Worksheetを使用すると、先ほど開いた接続に対してSQLを実行できます。
|
|
. |
「Tables」を展開します。
|
|
. |
「EMPLOYEES」表を選択して、表定義を表示します。 「Data」タブをクリックします。
|
|
. |
表に含まれるデータが表示されます。 次のトピックでは新しい表を作成し、この表にデータを挿入します。
|
|
. |
Connectionsナビゲータの「DEPARTMENTS」表をクリックします。
|
|
. |
DEPARTMENTS表には多数の制約が含まれています。 それぞれの制約を表示するには、「Constraints」タブをクリックします。
|
|
. |
DEPARTMENTS表には4つの制約が含まれています。 それぞれの制約に一意の名前が付けられています。 CONSTRAINT_TYPEによって、表に付けられた制約の種類が特定されます。 Edit「
|
|
. |
Edit Tableダイアログには、多数のフィールドがあります。 Searchフィールドの下から「Foreign Keys」を選択します。
|
|
. |
外部キー制約の内容を確認します。 DEPARTMENTS表には、DEPT_LOC_FKとDEPT_MGR_FKという2つの外部キーが含まれています。 Foreign Keysフィールドでいずれかの外部キーを選択すると、そのキーの詳細情報が表示されます。 「OK」をクリックして、Edit Tableダイアログを閉じます。
|
|---|
この項では、DEPENDENTSという名前の新しい表を作成して、その表に列を追加します。 それぞれの列には、ID、FIRST_NAME、LAST_NAME、BIRTHDATE、RELATIONという名前を付けます。
次に、DEPENDENTS表に外部キーを作成して、この列の値をEMPLOYEES表と関連付けます。 次の手順を実行します。
|
. |
「Tables」を右クリックして、「New TABLE...」を選択します。
|
|---|---|
|
. |
NameにDEPENDENTSと入力し、「Advanced」チェック・ボックスを選択します。
|
|
. |
表の最初の列のNameにIDと入力し、Datatypeとして「NUMBER」を選択したら、Precision(数字の長さ)に6と入力します。 「Cannot be NULL」を選択し、Add Column「 注: Cannot be NULLを選択すると、この列には値を指定しなければならないという制約が、表に対して追加されます。
|
|
. |
次の列のNameにFIRST_NAMEと入力します。TypeはVARCHAR2のままにし、Sizeに20と入力してVARCHAR2の長さを指定します。 次に、Add Column「
|
|
. |
次の列のNameにLAST_NAMEと入力します。TypeはVARCHAR2のままにし、Sizeに25と入力します。 「Cannot be NULL」チェック・ボックスを選択します。 次に、Add Column「
|
|
. |
次の列のNameにBIRTHDATEと入力し、Typeで「DATE」を選択します。 次に、Add Column「
|
|
. |
最後の列のNameにRELATIONと入力します。TypeはVARCHAR2のままにし、Sizeに25と入力します。 「OK」をクリックして、表を作成します。
|
|
. |
表のリストに新しい表が表示されます。
|
Oracle SQL Developerを使用すると、簡単にデータベース・オブジェクトを変更できます。 ここでは、先ほど作成したDEPENDENTS表にRELATIVE_IDという名前の列を追加します。 次の手順を実行します。
|
. |
Connectionsナビゲータで、「DEPENDENTS」表を選択します。
|
|---|---|
|
. |
右クリックし、「Column」→「Add...」の順に選択します。
|
|
. |
RELATIVE_IDと入力し、Data Typeで(ドロップダウン・リストから)「NUMBER」を選択したら、Precisionに6を、Scaleに0を入力します。 「Apply」をクリックします。
注: 生成されたSQLを表示するには、「SQL」タブをクリックします。
|
|
. |
列が正しく追加されたことを確認するメッセージが表示されます。 「OK」をクリックします。
|
|
. |
「DEPENDENTS」表を開き、変更を確認します。
表定義にRELATIVE_ID列が追加されています。
|
ここでは、DEPENDENTS表に対して主キー制約および外部キー制約を作成します。 制約は、データを検証するための1つの手段です。 主キー制約を指定すると、列の値が存在しており(NULLでない)、一意になることが保証されます。 外部キー制約を指定すると、2つの異なる列(そのうちの1つには別の表の列を指定できる)の間の整合性が維持されます。
以下の手順に従います。
|
. |
「DEPENDENTS」表を右クリックして、「Edit...」を選択します。
|
|---|---|
|
. |
ツリー内の「Primary Key」ノードをクリックします。
|
|
. |
「ID」列を選択し、「
これにより、DEPENDENTS表のID列には主キー制約が付けられます。 この列に含まれるすべての値は、NULL以外の一意の値である必要があります。
|
|
. |
次に、外部キー制約を追加します。 ツリー内の「Foreign Key」ノードを選択し、「Add」をクリックします。
|
|
. |
DEPENDENTSのIDであるRELATIVE_ID列から、EMPLOYEES表のID列への関連付けを作成します。 これによって、RELATIVE_ID列に追加される値は、EMPLOYEES表のID列に存在するいずれかの値と一致していることが保証されます。 Referenced Tableドロップダウン・リストから、「EMPLOYEES」表を選択します。 Referenced ConstraintフィールドにEMP_EMP_ID_PKが指定されていることを確認します。 Associationsフィールドで、Local Columnフィールドとして「RELATIVE_ID」を選択し、「OK」をクリックします。
|
以下の手順に従って、DEPENDENTS表にデータを追加します。
|
. |
DEPENDENTS表とDataタブが選択された状態になっていない場合、 これらを選択します。
|
||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
. |
Insert Row「
|
||||||||||||||||||
|
. |
以下のデータを入力したら、Commit「
|
||||||||||||||||||
|
. |
コミット処理の結果がログ・ウィンドウに表示されます。 Commit Successfulメッセージの下に、コミットされたSQL文が表示されます。
|
||||||||||||||||||
|
. |
スクリプトを使用して、一度に複数の列をロードすることもできます。 「File」→「Open...」をクリックします。
|
||||||||||||||||||
|
. |
sqldev3.0ディレクトリへ移動し、「load_dep.sql」ファイルを選択して「Open」をクリックします。
|
||||||||||||||||||
|
. |
SQL Worksheetの右側にある接続ドロップダウン・リストから「HR_ORCL」接続を選択します。
|
||||||||||||||||||
|
. |
スクリプトに含まれるSQLが表示されます。 Run Script「
データが挿入されました。 「DEPENDENTS」タブをクリックして、結果を確認します。
|
||||||||||||||||||
|
. |
データを参照する前にDataタブが選択されていることを確認したら、Refresh「
すべてのデータが表示されます。
|
||||||||||||||||||
|
. |
データをエクスポートして、スプレッドシートなどのツールで使用することができます。 任意の列のいずれかの値を右クリックして「Unload」を選択します。
|
||||||||||||||||||
|
. |
ファイルの種類を選択します(例:csv)。 出力ファイルの場所と名前を指定します。 この例では、export.csvという名前のファイルを作業ディレクトリに保存しています。 「Next」をクリックします。
|
||||||||||||||||||
|
. |
ステップ2では、エクスポートする対象のデータを指定できます。 デフォルトでは、表に含まれるすべての行が選択されています。 WHERE句を追加することもできます。 ここでは、デフォルト値のまま「Next」をクリックします。
|
||||||||||||||||||
|
. |
「Finish」をクリックします。
|
||||||||||||||||||
|
. |
export.csvファイルを確認すると、次のように表示されます。
|
||||||||||||||||||
DEPENDENTSデータにアクセスする方法の1つは、DEPENDENTS表に対してSELECT文を生成し、WHERE句を追加することです。 次の手順を実行します。
| . |
「HR_ORCL」データベース接続を選択して右クリックしたら、「Open SQL Worksheet」を選択します。
|
|---|---|
| . |
Connectionsナビゲータのデータベース・オブジェクト・リストから「DEPENDENTS」表をドラッグし、SQL文のワークシート領域にドロップします。
|
| . |
ダイアログ・ウィンドウが表示され、 作成するSQL文の種類を指定できます。 SELECT文が選択されたデフォルトを受け入れ、「Apply」をクリックします。
|
| . |
生成されたSELECT文が表示されます。 この文をSQL Worksheet内で変更し、実行できます。
|
| . |
SELECT文の最後にある';'の前に、WHERE句としてwhere relative_id > 110を追加します。 Run Statement 「
|
| . |
結果が表示されます。 RELATIVE_ID > 110である行のみが表示されています。
|
特定のSQL文を頻繁に実行する必要がある場合、このSQLに基づいたカスタム・レポートを作成することができます。 また、バインド変数を使用して、データベースのデータ・ディクショナリに対してレポートを実行することもできます。 バインド変数を使用すると、毎回異なる値を渡しながら、問合せを複数回実行できます。
以下の手順に従います。
|
. |
HR_ORCL SQL Worksheetで先ほど実行したSQL文を選択して右クリックし、「Create Report...」を選択します。
|
|---|---|
|
. |
Nameフィールドに、RELATIVE_ID greater than 110と入力します。 任意で、DescriptionとTooltipのフィールドにコメントを追加します。 「Apply」をクリックします。
|
|
. |
「Reports」タブをクリックし、「User Defined Reports」を展開します。 前のステップで作成したレポートが表示されます。 作成したレポートを選択します。
|
|
. |
Select Connectionダイアログで、ドロップダウン・リストから「HR_ORCL」を選択し、「OK」をクリックしてデータベースに接続してレポートを実行します。
|
|
. |
レポートの結果が表示されます。
|
|
. |
データ・ディクショナリ・レポートも実行できます。 データ・ディクショナリ・レポートは、オブジェクトに関するメタデータを表示するレポートです。 これには、表定義などの情報が含まれます。 「Data Dictionary Reports」→「Data Dictionary」の順に展開し、 「Dictionary Views」を選択します。
|
|
. |
「NULL」チェック・ボックスの選択を解除し、Valueにcolと入力したら、「Apply」をクリックします。
|
|
. |
名前に'col'が含まれるすべてのデータ・ディクショナリ・ビューが表示されます。
注: 上に示した出力において、ALL_CONS_COLUMNSには列の制約に関する情報が含まれています。 また、ALL_COLL_TYPESには列のデータ型に関する情報が含まれています。
|
Oracle SQL Developerでは、PL/SQLの編集機能が豊富に提供されています。 ここでは、従業員の給与を調整するパッケージ仕様とパッケージ本体を作成します。 以下の手順を実行します。
|
. |
メイン・メニューから「File」→「Open」の順に選択します。
|
|---|---|
|
. |
sqldev3.0ディレクトリへ移動し、「createHRpack.sql」を選択します。 「Open」をクリックします。
|
|
. |
右側のドロップダウン・リストから「HR_ORCL」データベース接続を選択します。
このコードを確認します。
|
|
. |
Run Script「
|
|
. |
パッケージ仕様とパッケージ本体が正しくコンパイルされました。 注: このスクリプトは、まず初めにパッケージを削除するため、最初にこのスクリプトを実行する際はoraエラーが発生します。 このエラーは無視して構いません。パッケージが作成されたことを出力の最下部で確認します。 「Connections」ナビゲータをクリックします。
|
|
. |
「HR_ORCL」→「Packages」→「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"という例外が発生しています。
|
このチュートリアルで学習した内容は、以下のとおりです。
![]()
|
会社情報 |オラクルとサン | |