詳細表示
Oracle JDeveloperアプリケーションは、組織構造の最上位レベルです。 このファイルには、アプリケーションの作成中に、ユーザーが作業しているオブジェクトの情報が格納されます。 開発中には、プロジェクトと環境設定が追跡されます。
-
「スタート」→「すべてのプログラム」→「Oracle Fusion Middleware 11.1.2.0.0」→「JDeveloper Studio 11.1.2.0.0」を選択して、Oracle JDeveloperを起動します。
-
ロールを選択するよう指示されたら、「Database Developer」を選択して、「OK」をクリックします。
「Close」をクリックして、Tip of the Dayウィンドウを閉じます。
ロードが終了すると、JDeveloper IDEが表示されます。
詳細表示 -
アプリケーション・ナビゲータで、「New Application」をクリックします。
-
New Galleryで、「General」→「Applications」を選択し、「Database Application」を選択します。
「OK」をクリックします。
-
Create Database Applicationダイアログで、Application NameをApplication1からCreateDBObjectsに変更し、Application Package Prefixとしてoracleを入力します。 新しいアプリケーション名に合わせてディレクトリ名は自動的に変更されます。
「Next」をクリックします。
-
ウィザードのステップ2で、Project NameとしてNewSchemaを入力します。
「Finish」をクリックします。
JDeveloperを使用する場合、作業内容はアプリケーションに含まれるプロジェクト内に整理されます。
詳細表示 -
アプリケーション・ナビゲータは、次のように表示されます。
アプリケーション・ナビゲータのProjectsパネルでは、プロジェクトは階層内の最上位レベルとして表示されます。
詳細表示 -
「Save All」
をクリックして作業内容を保存します。 以降も定期的に作業内容を保存してください。
オフラインでデータベース・オブジェクトの定義を作成する方法の1つに、データベース・ダイアグラムを使用する方法があります。 データベース・ダイアグラムを使用すると、オフラインの表、外部キー関係、ビュー、シノニム、シーケンス、使用法、JOINをダイアグラム上に直接作成できます。 コンポーネント・パレットからダイアグラム上にコンポーネントをドラッグしてから、リレーションシップや注釈(添付ファイル、オブジェクト間の依存性など)を描画します。 ダイアグラム上の各オブジェクトの表現には、UML表記法の1形式が使用されます。 ダイアグラム上に作成した各コンポーネントは、アプリケーション・ナビゲータにも表示されます。 データベース・ダイアグラムの作成を開始するには、Create Database Diagramダイアログを開きます。
-
ダイアログを開くには、「File」→「New」を選択します。
-
New Galleryで「Database Tier」を展開し、「Offline Database Objects」を選択してから「Database Diagram」を選択します。
「OK」をクリックします。
ダイアグラムからはオブジェクトを直接編集できます。
詳細表示 -
Create Database Diagramダイアログで、NameにDatabase Diagramを入力します。
「OK」をクリックします。
-
新しい空のダイアグラムが開きます。
-
Component PaletteにDatabaseのコンポーネントが表示されていることを確認します。
-
Component PaletteからTableアイコン「
」コンポーネントをドラッグし、ダイアグラム上にドロップします。
-
Specify Locationダイアログで、「Application Project」を選択します。 「New」をクリックしてCreate Offline Databaseダイアログを開きます。

-
データベース名としてDBOffline1を、デフォルトのスキーマ名としてDBDEMOを入力します。
「OK」をクリックします。 再度「OK」をクリックして、Specify Locationダイアログを閉じます。
-
Application Navigatorに、新規のオフライン・データベースのダイアグラムと表が表示されます。
-
データベース・ダイアグラムには、デフォルトの表TABLE1が表示されます。
-
Save All「
」をクリックして作業内容を保存します。
Oracle JDeveloperでは、データベース接続を介してデータベース・オブジェクトを直接操作できます。 または、オフラインでデータベース定義を作成し、データベース・スキーマにその定義を反映させることもできます。
詳細表示 -
データベース・ダイアグラムで、新しい表名「TABLE1」を選択し、その名前をPERSONSに変更します。 [Enter]または[Tab]を押します。
-
列定義を追加するには、表名の下にある白のボックス内をクリックし、もう一度クリックしてデフォルトの形式を表示します。 PERSON_ID:NUMBER(15,0)と入力して、[Tab]を押します。
-
次のボックスに表示されるデフォルト形式を使用して、列定義FIRST_NAME:VARCHAR2(30 BYTE)、LAST_NAME:VARCHAR2(30 BYTE)、およびGENDER:VARCHAR2(1 BYTE)を追加します。このとき、[Tab]を押して次に進めながら1つずつ追加します。
ボックスにデフォルト書式が表示されている場合は、デフォルト・テキストを上書きできます。
詳細表示 -
ダイアグラム上のPERSONS表コンポーネントをダブルクリックしてEdit Tableダイアグラムを開き、主キーを作成します。
-
ナビゲーション・パネルで「Primary Key」を選択し、PERSON_IDをAvailable ColumnsリストからSelected Columnsリストに移動します。
「OK」をクリックします。 1つの一意索引が主キーに自動的に追加されます。
-
Component Paletteで、Tableコンポーネント「
」をダイアグラム上にドラッグ・アンド・ドロップします。 表の名前をADDRESSESに変更します。
-
ADDRESSES表に ADDRESS_ID:NUMBER(10,0)、ADDRESS_LINE1:VARCHAR2(40)およびADDRESS_LINE2:VARCHAR2(240)の各列定義を追加します。
-
ダイアグラム上の「ADDRESSES」表コンポーネントをダブルクリックしてEdit Tableダイアグラムを開き、主キーを作成します。
-
ナビゲーション・パネルで「Primary Key」を選択し、ADDRESS_IDをAvailable ColumnsリストからSelected Columnsリストに移動します。
「OK」をクリックします。
-
Component Paletteで、Foreign Keyコンポーネント「
」を選択します。 ダイアグラムで、PERSONS表の最上部をクリックしてからADDRESSES表の最上部をクリックし、外部キーを作成します。
Create Foreign Keyダイアログは、外部キーのデフォルト・プロパティの編集に使用します。
詳細表示 -
Create Foreign Keyダイアログで、外部キーのデフォルト・プロパティを受け入れて「OK」をクリックします。
-
ダイアグラムは次のように表示されます。
主キー、外部キーおよび索引が表に表示されていることを確認します。
アプリケーション・ナビゲータは、次のように表示されます。
アプリケーション・ナビゲータのOffline Database Sourcesノードに、PERSONS表とADDRESSES表が表示されます。
詳細表示 -
Save All「
」をクリックして作業内容を保存します。
ビューは表を結合するSELECT文の結果セットに基づいて作成された仮想表で、単一の表から選択されたデータであるかのようにデータを表示します。 ビューに、SQL関数、結合、WHERE、GROUP BY、ORDER BY、HAVINGなどの句を追加すれば、望みどおりのデータをユーザーに提示できます。
-
Component PaletteからViewコンポーネント「
」をドラッグし、ダイアグラム上にドロップします。 ビューの名前をPERSON_INFOに変更します。
-
ダイアグラム内で、「PERSON_INFO」をダブルクリックしてEdit Viewダイアログを開き、ナビゲーション・パネルで「FROM clause」を選択します。
-
Availableリストで「ADDRESES」→「ADDRESSES_PERSONS_FK」を展開し、「PERSONS」を選択してSelectedリストに移動させます。これにより、ADDRESSESとPERSONSの間に結合が作成されます。
-
Selectedリストで「JOIN」ノードを選択し、Edit「
」をクリックします。
Edit ViewダイアログでJOINを作成できます。「JOIN」ノードを選択すると、Editボタンが使用可能になります。
詳細表示 -
Edit Joinダイアログで、外部キーを使用して作成されるデフォルトのJOINを受け入れ、「OK」をクリックします。
もう一度「OK」をクリックして、Edit Viewダイアログを閉じます。
-
データベース・ダイアグラムで、PERSONS表からPERSON_ID以外のすべての列を選択し、 PERSONSビュー上にドラッグ・アンド・ドロップします。
-
データベース・ダイアグラムで、ADDRESSES表からPERSON_ID以外のすべての列を選択し、 ADDRESSESビュー上にドラッグ・アンド・ドロップします。

-
ここまでの作業で、データベース・ダイアグラムにオフライン・データベース・ビューが追加されました。
ここまでの作業で、データベース・ダイアグラムにオフライン・データベース・ビューが追加されました。
詳細表示 -
Save All「
」をクリックして作業内容を保存します。
シーケンスとは、一意なシーケンシャル値を生成できるスキーマ・オブジェクトのことです。 これらの値は、主キーおよび一意キーによく使用されます。 シーケンスから取得した値をキーに設定する方法の1つに、トリガーを使用して、シーケンスのNEXTVALをフィールドに挿入する方法があります。
Edit Tableダイアログを使用して、新規シーケンスから取得した値を表の主キーに設定し、新規トリガーによって更新することを指定します。
詳細表示
-
アプリケーション・ナビゲータで、Offline Database Sources→DBOffline1→DBDEMOの下にある「PERSONS」をダブルクリックしてEdit Tableダイアログを開きます。
-
ナビゲーション・パネルで「Column Sequences」をクリックします。 Columnドロップダウン・リストで「PERSON_ID」が選択されていることを確認します。
-
「Populate Column from a Sequence on insert 」チェック・ボックスを選択します。
「OK」をクリックします。
Edit Tableダイアログで、列にPopulate Column from a Sequence on insertを選択すると、その列用のデフォルトのシーケンスと、対応するトリガーが作成されます。
詳細表示 -
アプリケーション・ナビゲータにPERSONS_TRGトリガーとPERSONS_SEQシーケンスが表示されます。
-
アプリケーション・ナビゲータで、「PERSONS_SEQ」ノードを選択し、ダイアグラム上にドラッグ・アンド・ドロップします。
-
Component Paletteで「Dependency」コンポーネントを選択します。 ダイアグラムで「PERSONS」表をクリックし、「PERSONS_SEQ」シーケンスをクリックして、リレーションシップを作成します。
-
Save All「
」をクリックして作業内容を保存します。 -
オフライン・データベース・ダイアグラムとアプリケーション・ナビゲータに、作成した新規シーケンスとトリガーが表示されます。
シーケンスを編集する(たとえば、増分値、最小値、最大値を設定する)には、アプリケーション・ナビゲータ内で「PERSONS_SEQ」をダブルクリックしてEdit Database Sequenceダイアログを開きます。
詳細表示
例に従って操作してきた場合は、Oracle 11gデータベースをエミュレートするデータベース・オブジェクトが作成されています。 Oracle Database Express Edition(Oracle XE)など、別の種類のデータベースをエミュレートするオブジェクトを作成済みの場合は、表をパーティション化できない場合があります。
詳細表示
-
アプリケーション・ナビゲータでOffline Database Sourcesの下にある「DBOffline1」ノードを右クリックし、「New Database Object」→「Table」を選択します。
-
Create Tableダイアログで、表名としてORDERSを入力し、「Advanced」を選択して追加のオプションを表示します。 デフォルト列(COLUMN1)がColumnsリストに表示されているはずです。

-
Column Propertiesの下にあるNameをORDER_IDに変更し、Typeドロップダウン・リストから「NUMBER」を選択します。
-
Add「
」を3回クリックして、さらに3つのデフォルト列を追加します。 追加したらNameとTypeを次の値に変更します。 ORDER_DATE(TypeはDATE)、ORDER_TOTAL(TypeはNUMBER)、PERSON_ID(TypeはNUMBER)。
-
ナビゲーション・パネルで「Primary Key」を選択し、ORDER_IDをAvailable ColumnsリストからSelected Columnsリストに移動します。
-
ナビゲーション・パネルで「Foreign Keys」を選択し、Add「
」をクリックして新規の外部キーを追加します。
-
Referenced Tableドロップダウン・リストから「PERSONS」を選択します。
-
Local Columnドロップダウン・リストで「PERSON_ID」が選択されていることを確認します。
プロジェクトで参照した任意のスキーマを選択して、異なるスキーマに属する表間で外部キーを作成できます。
詳細表示 -
ナビゲーション・パネルで「Partitioning」を選択し、Partition Byドロップダウン・リストから「RANGE」を選択します。
-
ORDER_DATEをAvailableリストからSelectedリストに移動します。
-
ナビゲーション・パネルで「Partition Definitions」を選択し、Add「
」をクリックします。
-
Partition Detailsセクションで、名前としてORDERS_PRE_2007を、値としてTO_DATE('01/01/2007', 'MM/DD/YYYY')を入力します。
-
Add「
」をクリックして、2番目のパーティションの定義を追加します。 名前としてORDERS_2007を、値としてTO_DATE('01/01/2008', 'MM/DD/YYYY')を入力します。 .
「OK」をクリックします。
-
Save All「
」をクリックして作業内容を保存します。 -
アプリケーション・ナビゲータに、作成した新規のORDERS表が表示されます。

-
アプリケーション・ナビゲータからダイアグラム上に「ORDERS」をドラッグします。
Edit Table PropertiesダイアログでOrders表とPersons表の間に外部キーを定義した後は、Orders表をダイアグラム上にドロップすると、自動的に外部キーが描画されます。
表と索引の両方で、レンジ、ハッシュ、リスト、複合レンジ-ハッシュ、レンジ-リストの各パーティション化がサポートされています。
詳細表示
接続の詳細がわかっている任意のデータベースに接続できます。 DBA権限を持つユーザーとして接続できる場合は、このステップの手順に従ってIDEデータベース接続を作成し、DBDEMOという名前の新規データベース・ユーザーを作成します。
詳細表示 -
メイン・メニューから、「File」→「New」の順に選択してNew Galleryを開きます。 「General」→「Connections」→「Database Connection」の順に選択します。
「OK」をクリックします。
-
DBA権限を持つユーザーとして接続できる場合は、ステップ3から14に従ってIDEデータベース接続を作成し、DBDEMOという名前の新規データベース・ユーザーを作成します。 DBA権限がない場合は、このチュートリアルで指定するのと同じロールとSystem権限を持つDBDEMOデータベース・ユーザーをDBAに作成してもらってください。 作成してもらったら、ステップ16に進んでDBDEMO接続を作成します。
-
Create Database Connectionダイアログで、「IDE Connections」がCreate Connection Inオプションとして選択されていない場合は選択します。
-
接続名にTutorialConnと入力し、接続タイプを選択します。 続いて、データベース接続用のユーザー名とパスワードを入力します。 (DBAに依頼するのではなく自分で)新規のデータベース・ユーザーを作成する場合は、DBA権限が必要です。 「JDBC Driver」を選択し、Host Name、SIDまたはService Name、およびJDBC Portを入力します。 使用するドライバが不明の場合は、デフォルト(thin)のままにします。
-
「Test Connection」をクリックして、接続可能であることを確認します。
接続に成功したら、「OK」をクリックします。
-
Viewメニュー・オプションから「Database」→「Database Navigator」を選択します。
IDEデータベース接続を作成し、IDE接続ノードを展開すると、Database Navigatorは次のように表示されます。
詳細表示 -
「IDE Connections」ノードと、先ほど作成した「TutorialConn」接続ノードを展開します。

-
「Other Users」ノードを右クリックして、「Create User」を選択します。
-
Create/Edit Userダイアログで、新規ユーザーの名前に「DBDEMO」と入力し、New PasswordとConfirm Passwordにパスワードを入力します。
-
「Roles」タブをクリックし、CONNECTとRESOURCEの各ロールに対して「Granted」を選択します。

-
「System Privileges」タブをクリックし、ALTER ANY SEQUENCE、ALTER ANY TABLE、COMMENT ANY TABLE、CREATE ANY INDEX、CREATE ANY SEQUENCE、CREATE ANY TABLE、CREATE ANY TRIGGER、CREATE ANY VIEWの各権限に対して「Granted」を選択します。
-
「SQL」タブをクリックし、新規ユーザーを作成するSQLスクリプトを確認して、「Apply」をクリックします。
-
SQLの実行結果を確認します。
「Close」をクリックします。
-
メイン・メニューから「File」→「New」を選択します。 New Galleryで、再度「General」→「Connections」→「Database Connection」の順に選択し、先ほど追加したDBDEMOユーザー用のDBDEMO接続を作成します。
「OK」をクリックします。
-
前に追加したDBDEMOユーザー用にDBDEMO接続を作成します。 接続名にDBDEMOConn、ユーザー名にDBDEMOを入力します。 パスワードおよび接続の詳細を入力します (DBAにDBDEMOユーザーを作成してもらった場合は、パスワードおよび接続の詳細をDBAから教えてもらってください)。 「Test Connection」をクリックして、接続可能であることを確認します。
接続に成功したら、「OK」をクリックします。
-
Save All「
」をクリックして作業内容を保存します。
詳細表示Oracle JDeveloperを使用すると、作成したオフライン・オブジェクトのDDLを生成できます。 オブジェクトには、CREATE、REPLACE、またはALTERキーワードと、DDL用のそのほかのオプションが必要かどうかを指定できます。 Generate SQL from Database Objectsウィザードで、DDLを特定のデータベースに直接生成するか、.sqlスクリプトを生成するかを選択できます。
-
アプリケーション・ナビゲータで、Offline Database Sources→DBOffline1の下にある「DBDEMO」ノードを右クリックし、「Generate」を選択して、Generate SQL from Database Objectsウィザードを起動します。
-
ステップ1で、「Source from project」が選択されていることを確認します。 「Next」をクリックします。
-
ステップ2で、「SQL Script」が選択されていることを確認します。 「Next」をクリックします。
-
ステップ3で、オフライン・データベース・オブジェクトをAvailableリストからSelectedリストに移動します。 「Next」をクリックします。
例に従って操作してきた場合は、Oracle 11gデータベースをエミュレートするデータベース・オブジェクトが作成されているため、すべてのオフライン・データベース・オブジェクトをSelectedリストに移動できます。
詳細表示 -
ステップ4で、「CREATE」が選択されていることを確認します。 「Finish」をクリックすると、DDLスクリプトが生成されます。

-
エディタでscript1.sqlファイルが開きます。
-
エディタ・ウィンドウで、ウィンドウの下部にある「SQL Worksheet」タブをクリックします。
-
SQL Worksheetのツールバーの右端にあるドロップダウン・リストから、接続「DBDEMOConn」を選択します。
SQL Worksheetを使用して、SQL文、PL/SQL文、およびSQL*Plus文を入力して実行できます。
詳細表示 -
「Run Script」をクリックして、表示された出力を確認します。
-
SQL Worksheetツールバーで、「Commit」をクリックします。
-
メイン・メニューから「View」→「Database」→「Database Navigator」を選択してDatabase Navigatorを開きます。 「Refresh」ボタンをクリックします。
-
「DBDEMO」ノードとそのサブノードをすべて展開し、新しいデータベース・オブジェクトを確認します。
SQLスクリプトを実行すると、SQL WorksheetのScript Outputページに出力が表示されます。
詳細表示
詳細表示 -
アプリケーション・ナビゲータで、Offline Database Sources→DBOffline1→DBDEMOの下にある「ADDRESSES」ノードをダブルクリックして、Edit Tableダイアログを開きます。
-
「Add」をクリックして、新しいデフォルト列を追加します。 名前をTOWNに、VARCHAR2型のサイズを25にそれぞれ変更し、「OK」をクリックします。
-
アプリケーション・ナビゲータで「PERSONS」ノードをダブルクリックし、Edit Tableダイアログを開きます。
-
Columnsリストで、「GENDER」、「Cannot be NULL」の順に選択します。
-
Commentボックスに、3とおりのフラグの(M)ale (F)emale (D)eclined to answerを入力します。
「OK」をクリックします。
-
アプリケーション・ナビゲータで、Offline Database Sourcesの下にある「DBOffline1」ノードを右クリックし、「Generate」を選択して、Generate SQL from Database Objectsウィザードを起動します。
-
ステップ1で、「Source from project」が選択されていることを確認します。 「Next」をクリックします。
-
ステップ2で、「SQL Script」が選択されていることを確認します。 「Next」をクリックします。
-
ステップ3で、PERSONSとADDRESSESをAvailableリストからSelectedリストに移動します。 「Next」をクリックします。
-
ステップ4で、「ALTER」と「Manual Reconcile」を選択します。 DBDEMOが選択した接続であることを確認します。 「Next」をクリックします。
ALTERおよびManual Reconcileを使用すると、オフライン・オブジェクトの定義とデータベース内のオブジェクト定義の違いを確認できます。
詳細表示
相違部分を右側のパネルに移動することで、生成されるDDLにその相違部分を反映させるように指定します。 テキスト部分を変更した場合は(たとえば、この例のようにGENDER列のコメントを追加した場合)、当該テキスト・ノードを選択するとCompare Textボタンが使用可能となり、テキスト全体を比較できます。 -
ステップ5では、左側のパネルで強調表示されている「PERSONS」ノードと「ADDRESSES」ノードを展開し、相違部分を確認します。
-
相違部分を右側のオンラインDBDEMOユーザーに移動します。

-
「Finish」をクリックすると、DDLスクリプトが生成されます。
-
ウィザードが終了すると、アプリケーション・ナビゲータ内のDBOffline1ノードに新規スクリプトscript2.sqlが表示されます。
-
SQL Worksheetのソース・エディタでファイルを開きます。
-
Save All「
」をクリックして作業内容を保存します。
大半のアプリケーション開発プロジェクトでは、既存のデータベースが出発点になります。 Oracle JDeveloperを使用すると、データベース内の既存のオブジェクトをアプリケーション内にリバース・エンジニアリングで取り込むことができます。 取り込んだオブジェクトをもとに新規のオフライン定義を編集、削除、作成してから、新規のSQLスクリプトを生成します。
詳細表示
-
アプリケーション・ナビゲータ・ドロップダウン・メニューをクリックし、コンテキスト・メニューから「New Project」を選択します。
-
New Galleryで、「General」→「Projects」→「Database Project」を選択します。

-
プロジェクト名としてDBRevEngを入力します。

「Finish」をクリックします。
-
アプリケーション・ナビゲータで、「DBRevEng」プロジェクトを右クリックして、コンテキスト・メニューから「New」を選択します。

-
New Galleryで「Database Tier」→「Offline Database Objects」→「Copy Database Objects to a Project」を選択します。
「OK」をクリックします。
-
Copy Database Objects to a Projectダイアログのステップ1で、先ほど作成したアプリケーション接続、「DBDemoConn」が、ドロップダウン・リストで選択されていることを確認します。
「Next」をクリックします。
-
ステップ2で、Offline Databaseフィールドの右側にある「New」ボタンをクリックして、新規のオフライン・データベースを作成します。
-
データベース名としてDBDemoReverse、デフォルト・スキーマとしてDBDEMOを入力します。
「OK」をクリックします。 「Next」をクリックします。
-
ステップ3で、「Query」をクリックして、使用可能なすべてのデータベース・オブジェクトを表示します。 データベース・オブジェクトをAvailableリストからSelectedリストに移動します。
「Next」に続いて「Finish」をクリックすると、データベース・オブジェクトが生成されます。
-
生成されたオブジェクトはアプリケーション・ナビゲータ内に表示されます。
新規のデータベース・ダイアグラムを作成し、生成されたオブジェクトをそこに追加します。
-
アプリケーション・ナビゲータで、「DBRevEng」プロジェクトを右クリックして、コンテキスト・メニューから「New」を選択します。
-
New Galleryで「Database Tier」→「Offline Database Objects」→「Database Diagram」を選択します。
「OK」をクリックします。
-
ダイアグラム名としてDBOffline2と入力し、パッケージ名としてoracleが入力されていることを確認します。
「OK」をクリックします。
-
アプリケーション・ナビゲータで、プロジェクトにリバース・エンジニアリングされたすべての生成済みオブジェクト(データベース・ダイアグラムに表示されないトリガー以外)を選択し、ダイアグラム上にドラッグ・アンド・ドロップします。
-
新しいデータベース・ダイアグラムには、リバース・エンジニアリングされたオブジェクトが表示されます。これらはプロジェクトに生成された後でダイアグラム上にドラッグされたオブジェクトです。
次に示す方法でも、最終的には同じ結果になります。
詳細表示
-
Save All「
」をクリックして作業内容を保存します。
これでこのチュートリアルは完了です。
- データベース・ダイアグラムの作成とオフライン・データベース表の追加
- オフライン・データベース・ビューの作成
- ダイアグラムへのシーケンスの追加
- 表の作成とパーティション化
- データベース・ユーザーとデータベース接続の作成
- DDLスクリプトの生成
- データベースのリコンサイル
- データベース・オブジェクトのリバース・エンジニアリング
- UMLの論理モデルを使用したデータベース開発
- 『Oracle® Fusion Middleware User's Guide for Oracle JDeveloper』の"Getting Started with Working with Databases"






