この章の内容は次のとおりです。
スキーマ・オブジェクトを作成、変更および削除する文はデータ定義言語(DDL)文です。DDL文の前後に、Oracle Database Express Edition (Oracle Database XE)は暗黙的なCOMMIT
文を発行するため、DDL文はロールバックできません。
SQL*Plus環境では、SQL>
プロンプトに続いてDDL文を入力できます。
SQL Developer環境では、SQLワークシートにDDL文を入力できます。または、SQL Developerのツールを使用して、オブジェクトを作成、変更および削除することもできます。
スキーマ・オブジェクトを作成するDDL文に、オプションのOR
REPLACE
句が入る場合があります。これらの句を使用すると、DDL文の既存のスキーマ・オブジェクトを同じ名前とタイプの他のスキーマ・オブジェクトに置き換えられます。SQL Developerがこの文に対してコードを生成する場合、常にOR
REPLACE
句が含まれます。
SQL DeveloperでのDDL文の影響を表示するには、新規作成したオブジェクトのスキーマ・オブジェクト・タイプを「接続」ペインで選択し、「リフレッシュ」アイコンをクリックする必要があります。
スキーマ・オブジェクトを作成する場合は、『Oracle Database SQL言語リファレンス』に記載されたスキーマ・オブジェクトのネーミング・ルールに注意してください。
ヒント: 同じ型を持つオブジェクトの名前には、同一の接頭辞を使用します。たとえば、表にはt_ 、ビューにはv_ 、順序にはseq_ 、シノニムにはsyn_ を使用します。この規則を使用すると、オブジェクトを簡単に識別でき、SQL Developerの接続ナビゲータ表示、SQL Developerレポート、またはオブジェクト名の順に結果が並ぶ問合せにおいて、オブジェクトをグループ化できます。 |
表は、Oracle Database XEのデータ記憶領域の基本単位です。表は、ユーザーがアクセス可能なすべてのデータを保持します。各表には、それぞれのデータのレコードを表す行が含まれています。行は、レコードのフィールドを表す列で構成されています。
トピック:
注意: このマニュアルのチュートリアルを行うには、ユーザーHR として、SQL DeveloperからOracle Database XEに接続している必要があります。 |
表を作るときは、各列にSQLデータ型を指定します。列がどのような値を持つことができるかは、列のデータ型によって決まります。たとえば、DATE
型の列は、'01-MAY-05'
という値を持つことはできますが、数値2や文字値'shoe'
を持つことはできません。SQLデータ型には、埋込みデータ型とユーザー定義型の2つのカテゴリがあります。(PL/SQLには追加のデータ型があります。詳細は、「PL/SQLデータ型について」を参照してください。)
参照:
|
表を作成するには、SQL Developerの表の作成ツールまたはDDL文のCREATE
TABLE
を使用します。このトピックでは、これら2つの方法を使用して、従業員の評価に関するデータを含む次のような表を作成する方法を示します。
これらの表は、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。
トピック:
このチュートリアルでは、表の作成ツールを使用してPERFORMANCE_PARTS
表を作成する方法を示します。
表の作成ツールを使用してPERFORMANCE_PARTS表を作成するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を右クリックします。
選択肢のリストが表示されます。
「新規の表」をクリックします。
「表の作成」ウィンドウが開きます。新規の表には行が1つのみあり、デフォルト値が入力されています。
「スキーマ」では、デフォルト値のHR
を受け入れます。
「名前」にPERFORMANCE_PARTS
と入力します。
デフォルトの行:
「列名」にPERFORMANCE_ID
と入力します。
「型」では、デフォルト値のVARCHAR2
を受け入れます。
「サイズ」に2
と入力します。
「NULL以外」と「主キー」では、選択解除されているデフォルト値を受け入れます。
「列の追加」をクリックします。
「列名」にNAME
と入力します。
「型」では、デフォルト値のVARCHAR2
を受け入れます。
「サイズ」に80
と入力します。
「列の追加」をクリックします。
「列名」にWEIGHT
と入力します。
「タイプ」で、「NUMBER」
をメニューから選択します。
「OK」をクリックします。
表PERFORMANCE_PARTS
が作成されます。これを表示するには、ナビゲーション・フレームにおいて「表」を展開します。
参照: SQL Developerを使用して表を作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。 |
ここでは、CREATE
TABLE
文を使用して、EVALUATIONS
表とSCORES
表を作成する方法を示します。
例6-1のCREATE
TABLE
文はEVALUATIONS
表を作成します。
例6-1 CREATE TABLEを使用したEVALUATIONS表の作成
CREATE TABLE EVALUATIONS ( EVALUATION_ID NUMBER(8,0), EMPLOYEE_ID NUMBER(6,0), EVALUATION_DATE DATE, JOB_ID VARCHAR2(10), MANAGER_ID NUMBER(6,0), DEPARTMENT_ID NUMBER(4,0), TOTAL_SCORE NUMBER(3,0) );
結果:
Table created.
例6-2のCREATE
TABLE
文はSCORES
表を作成します。
例6-2 CREATE TABLEを使用したSCORES表の作成
CREATE TABLE SCORES ( EVALUATION_ID NUMBER(8,0), PERFORMANCE_ID VARCHAR2(2), SCORE NUMBER(1,0) );
結果:
Table created.
SQL Developerのナビゲーション・フレームで、EVALUATIONS
表とSCORES
表を表示するには、「表」を展開します。
ナビゲーション・フレーム内の表を選択し、右フレームの「SQL」タブをクリックすると、表を作成したSQL文が「SQL」ペインに表示されます。
参照: CREATE TABLE 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
ユーザーのアプリケーションが形成するビジネス・ルールを表内のデータが満たすことを保証するために、制約、アプリケーション・ロジック、またはその両方を使用できます。
制約によって、列の値が制限されます。データに対して制約に違反するような変更を試みると、エラーが発生して変更がロールバックされます。移入された表に新しい制約を適用する場合に、既存の行のいずれかが新しい制約に違反していると、エラーが発生します。
ヒント: 可能な場合は常に、アプリケーション・ロジックではなく制約を使用します。Oracle Database XEでは、すべてのデータが制約に従っているかどうかをアプリケーション・ロジックよりも高速に確認できます。 |
制約を有効または無効にできます。デフォルトでは、有効の状態で作成されます。
トピック:
参照:
|
EMPLOYEES
表では、LAST_NAME
列がNOT
NULL
制約を持ち、全従業員に対して姓を持たせるというビジネス・ルールが適用されます。
一意。同じ列または列の組合せの中で複数の行が同じ値を持つことを禁止しますが、NULLの値を許可します。
EMPLOYEES
表では、EMAIL
列がUNIQUE
制約を持つため、従業員は電子メール・アドレスを持たなくてもよいが、他の従業員と同じ電子メール・アドレスを持つことはできないというビジネス・ルールが適用されます。
主キー。これは、NOT
NULL
とUNIQUE
の組合せです。
EMPLOYEES
表では、EMPLOYEE_ID
列がPRIMARY
KEY
制約を持つため、全従業員に対して一意の識別番号を持たせるというビジネス・ルールが適用されます。
外部キー。ある表の値が、別の表の値と一致することを要求します。
EMPLOYEES
表では、JOB_ID
列がJOBS
表を参照するFOREIGN
KEY
制約を持つため、従業員はJOBS
表に存在しないJOB_ID
を持つことができないというビジネス・ルールが適用されます。
EMPLOYEES
表にはCHECK
制約がありません。ただし、EMPLOYEES
に新しい列EMPLOYEE_AGE
が必要であり、全従業員が18歳以上である必要があると想定します。制約CHECK
(EMPLOYEE_AGE
>=
18)
によって、そのビジネス・ルールが適用されます。
ヒント: チェック制約は、必要なチェックを他の制約では実現できない場合にのみ使用します。 |
REF。列と、列が参照するオブジェクト間の関係を詳しく記述します。
REF制約の詳細は、『Oracle Database概要』を参照してください。
参照:
|
既存の表に制約を追加するには、SQL DeveloperツールまたはDDL文のALTER
TABLE
を使用します。このトピックでは、これら2つの方法を使用して、「表の作成」で作成した表に制約を追加する方法を示します。
このチュートリアルでは様々な手順を説明します。最初の手順(この段落の直後)では、表の編集ツールを使用して、PERFORMANCE_PARTS
表のNAMES
列にNot Null制約を追加します。その他の手順では、他のツールで制約を追加する方法を示しますが、表の編集ツールを使用して同じ制約を追加することもできます。
注意: チュートリアルの手順を実行した後、表が持つ制約を表示するには、次のようにします。
表のプロパティとデータの表示の詳細は、「チュートリアル: EMPLOYEES表のプロパティとデータの表示」を参照してください。 |
表の編集ツールを使用してNot Null制約を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
PERFORMANCE_PARTSを右クリックします。
選択肢のリストが表示されます。
「編集」をクリックします。
「表の編集」ウィンドウが開きます。デフォルトでは、「列」が選択されて、PERFORMANCE_PARTS
表の列がリストされ、PERFORMANCE_ID
列が選択されて、そのプロパティがリストされます。
NAME列をクリックします。
NAME
列のプロパティが表示されます。プロパティ「NOT NULL」は選択解除されています。
「NOT NULL」を選択します。
「OK」をクリックします。
PERFORMANCE_PARTS
表のNAME
列にNot Null制約が追加されます。
次の手順では、ALTER
TABLE
文を使用して、PERFORMANCE_PARTS
表のWEIGHT
列にNot Null制約を追加します。
ALTER TABLE文を使用してNot Null制約を追加するには、次の手順を実行します。
タブ「hr_conn」
が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。
ワークシート・ペインで、次の文を入力します。
ALTER TABLE PERFORMANCE_PARTS MODIFY WEIGHT NOT NULL;
「文の実行」アイコンをクリックします。
文が実行され、PERFORMANCE_PARTS
表のWEIGHT
列にNot Null制約が追加されます。
次の手順は、一意の追加ツールを使用して、SCORES
表に一意制約を追加します。
一意の追加ツールを使用して一意制約を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
SCORESを右クリックします。
選択肢のリストが表示されます。
「制約」をクリックします。
選択肢のリストが表示されます。
「一意の追加」をクリックします。
「一意の追加」ウィンドウが開きます。
「制約名」にSCORES_EVAL_PERF_UNIQUE
と入力します。
「列1」で、メニューからEVALUATION_ID
を選択します。
「列2」で、メニューからPERFORMANCE_ID
を選択します。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
SCORES_EVAL_PERF_UNIQUE
という名前の一意制約が、SCORES
表に追加されます。
次の手順では、主キーの追加ツールを使用して、PERFORMANCE_PARTS
表のPERFORMANCE_ID
列に主キー制約を追加します。
主キーの追加ツールを使用して主キー制約を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
PERFORMANCE_PARTSを右クリックします。
選択肢のリストが表示されます。
「制約」をクリックします。
選択肢のリストが表示されます。
「主キーの追加」をクリックします。
「主キーの追加」ウィンドウが開きます。
「主キー名」にPERF_PERF_ID_PK
と入力します。
「列1」で、メニューからPERFORMANCE_ID
を選択します。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
PERFORMANCE_PARTS
表のPERFORMANCE_ID
列に、PERF_PERF_ID_PK
という名前の主キー制約が追加されます。
次の手順では、ALTER
TABLE
文を使用して、EVALUATIONS
表のEVALUATION_ID
列に主キー制約を追加します。
ALTER TABLE文を使用して主キー制約を追加するには、次の手順を実行します。
タブ「hr_conn」
が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。
ワークシート・ペインで、次の文を入力します。
ALTER TABLE EVALUATIONS ADD CONSTRAINT EVAL_EVAL_ID_PK PRIMARY KEY (EVALUATION_ID);
「文の実行」アイコンをクリックします。
文が実行され、EVALUATIONS
表のEVALUATION_ID
列に主キー制約が追加されます。
次の手順は、外部キーの追加ツールを使用して、SCORES
表に2つの外部キー制約を追加します。
外部キーの追加ツールを使用して2つの外部キー制約を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
SCORESを右クリックします。
選択肢のリストが表示されます。
「制約」をクリックします。
選択肢のリストが表示されます。
「外部キーの追加」をクリックします。
「外部キーの追加」ウィンドウが開きます。
「外部キー名」にSCORES_EVAL_FK
と入力します。
「列名」で、メニューからEVALUATION_ID
を選択します。
「参照表名」で、メニューからEVALUATIONS
を選択します。
「参照元の列」で、メニューからEVALUATION_ID
を選択します。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
EVALUATIONS
表のEVALUTION_ID
列を参照するSCORES
表のEVALUTION_ID
列に、SCORES_EVAL_FK
という名前の外部キー制約が追加されます。
次の手順では、別の外部キー制約をSCORES
表に追加します。
SCORESを右クリックします。
表のリストが表示されます。
「制約」をクリックします。
選択肢のリストが表示されます。
「外部キーの追加」をクリックします。
「外部キーの追加」ウィンドウが開きます。
「外部キー名」にSCORES_PERF_FK
と入力します。
「列名」で、メニューからPERFORMANCE_ID
を選択します。
「参照表名」で、メニューからPERFORMANCE_PARTS
を選択します。
「参照元の列」で、メニューからPERFORMANCE_ID
を選択します。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
EVALUATIONS
表のEVALUTION_ID
列を参照するSCORES
表のEVALUTION_ID
列に、SCORES_PERF_FK
という名前の外部キー制約が追加されます。
次の手順では、ALTER
TABLE
文を使用して、EMPLOYEES
表のEMPLOYEE_ID
列を参照するEVALUATIONS
表のEMPLOYEE_ID
列に外部キー制約を追加します。
ALTER TABLE文を使用して外部キー制約を追加するには、次の手順を実行します。
タブ「hr_conn」
が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。
ワークシート・ペインで、次の文を入力します。
ALTER TABLE EVALUATIONS ADD CONSTRAINT EVAL_EMP_ID_FK FOREIGN KEY (EMPLOYEE_ID) REFERENCES EMPLOYEES (EMPLOYEE_ID);
「文の実行」アイコンをクリックします。
文が実行され、EMPLOYEES
表のEMPLOYEE_ID
列を参照するEVALUATIONS
表のEMPLOYEE_ID
列に外部キー制約が追加されます。
次の手順は、チェックの追加ツールを使用して、SCORES
表にチェック制約を追加します。
チェックの追加ツールを使用してチェック制約を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
SCORESを右クリックします。
選択肢のリストが表示されます。
「制約」をクリックします。
選択肢のリストが表示されます。
「チェックの追加」をクリックします。
「チェックの追加」ウィンドウが開きます。
「制約名」にSCORE_VALID
と入力します。
「CHECK条件」に、score
>=
0
and
score
<=
9
と入力します。
「ステータス」では、デフォルトのENABLE
を受け入れます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
SCORE_VALID
という名前のチェック制約が、SCORES
表に追加されます。
参照:
|
このチュートリアルでは、行の挿入ツールを使用して、PERFORMANCE_PARTS
表に、6つの移入された行を追加する方法を示します。
行の挿入ツールを使用してPERFORMANCE_PARTS表に行を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
PERFORMANCE_PARTSを選択します。
右側のフレームで、「データ」タブをクリックします。
「データ」ペインが表示され、PERFORMANCE_PARTS
表の列名が表示されますが、行は表示されません。
「データ」ペインで「行の挿入」アイコンをクリックします。
列が空の新しい行が表示されます。行番号の周りに、挿入がコミットされていないことを示す緑色の境界線が表示されます。
列ヘッダーPERFORMANCE_ID
の下にあるセルをクリックします。
WM
と入力します。
PERFORMANCE_ID
の値がWM
になります。
[Tab]キーを押すか、列ヘッダーNAME
の下にあるセルをクリックします。
Workload
Management
と入力します。
NAME
の値がWorkload Management
になります。
[Tab]キーを押すか、列ヘッダーWEIGHT
の下にあるセルをクリックします。
0.2
と入力します。
WEIGHT
の値が0.2
になります。
[Enter]キーを押します。
手順5から12を繰り返して、2番目の行を追加し、次の値を入力します。
PERFORMANCE_ID
にBR
と入力します。
NAME
にBuilding Relationships
と入力します。
WEIGHT
に0.2
と入力します。
手順5から12を繰り返して、3番目の行を追加し、次の値を入力します。
PERFORMANCE_ID
にCF
と入力します。
NAME
にCustomer Focus
と入力します。
WEIGHT
に0.2
と入力します。
手順5から12を繰り返して、4番目の行を追加し、次の値を入力します。
PERFORMANCE_ID
にCM
と入力します。
NAME
にCommunication
と入力します。
WEIGHT
に0.2
と入力します。
手順5から12を繰り返して、5番目の行を追加し、次の値を入力します。
PERFORMANCE_ID
にTW
と入力します。
NAME
にTeamwork
と入力します。
WEIGHT
に0.2
と入力します。
手順5から12を繰り返して、6番目の行を追加し、次の値を入力します。
PERFORMANCE_ID
にRO
と入力します。
NAME
にResults Orientation
と入力します。
WEIGHT
に0.2
と入力します。
「変更のコミット」アイコンをクリックします。
行番号の周りの緑色の境界線が消えます。
「データ」ペインの下に、ラベル「ログ」があります。
ラベル「ログ」をクリックします。
「データ・エディタ」の「ログ」ペインが表示されます。
「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。
(「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)
「データ」ペインで新しい行を確認します。
このチュートリアルでは、「データ」ペインにある(「チュートリアル: 行の挿入ツールによる表への行の追加」で移入された)PERFORMANCE_PARTS
表の3つのWEIGHT
値を変更する方法を示します。
「データ」ペインを使用してPERFORMANCE_PARTS表のデータを変更するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
PERFORMANCE_PARTSを選択します。
右側のフレームで、「データ」タブをクリックします。
「データ」ペインが表示され、PERFORMANCE_PARTS
表の行が表示されます。
NAME
がWorkload
Management
である行で、次の手順を実行します。
WEIGHT
値をクリックします。
値0.3
を入力します。
[Enter]キーを押します。
行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。
NAME
がBuilding
Relationships
である行で、次の手順を実行します。
WEIGHT
値をクリックします。
値0.15
を入力します。
[Enter]キーを押します。
行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。
NAME
がCustomer
Focus
である行で、次の手順を実行します。
WEIGHT
値をクリックします。
値0.15
を入力します。
[Enter]キーを押します。
行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。
「変更のコミット」アイコンをクリックします。
行番号の左のアスタリスクが消えます。
「データ」ペインの下に、ラベル「ログ」があります。
ラベル「ログ」をクリックします。
「データ・エディタ」の「ログ」ペインが表示されます。
「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。
(「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)
「データ」ペインで新しいデータを確認します。
このチュートリアルでは、選択した行の削除ツールを使用して、(「チュートリアル: 行の挿入ツールによる表への行の追加」で移入された)PERFORMANCE_PARTS
表から行を削除する方法を示します。
選択した行の削除ツールを使用してPERFORMANCE_PARTSから行を削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
PERFORMANCE_PARTSを選択します。
右側のフレームで、「データ」タブをクリックします。
「データ」ペインが表示され、PERFORMANCE_PARTS
表の行が表示されます。
NAME
がResults
Orientation
である行をクリックします。
「選択した行の削除」アイコンをクリックします。
行番号の周りに、削除がコミットされていないことを示す赤色の境界線が表示されます。
「変更のコミット」アイコンをクリックします。
行が削除されます。
「データ」ペインの下に、ラベル「ログ」があります。
ラベル「ログ」をクリックします。
「データ・エディタ」の「ログ」ペインが表示されます。
「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。
(「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)
表の1つ以上の列に対して索引を作成すると、その表におけるSQL文の実行速度が向上します。索引を適切に使用することは、ディスクI/Oを減らす主要な方法です。
表に主キーを定義すると、Oracle Database XEによって主キーに一意索引が作成されます。たとえば、「チュートリアル: 既存の表への制約の追加」では、EVALUATIONS
表のEVALUATION_ID
列に主キー制約を追加しました。このため、SQL Developerのナビゲーション・フレームで、EVALUATIONS
表を選択し、「索引」タブをクリックすると、「索引」ペインに、EVALUATION_ID
列に対する一意索引が表示されます。
トピック:
参照: 索引の詳細は、次を参照してください。
|
索引を作成するには、SQL Developerの索引の作成ツールまたはDDL文のCREATE
INDEX
を使用します。
このチュートリアルでは、「索引の作成」ツールを使用して、EVALUATIONS
表に索引を追加する方法について説明します。次のようなDDL文を使用します。
CREATE INDEX EVAL_JOB_IX ON EVALUATIONS (JOB_ID ASC) NOPARALLEL;
索引の作成ツールを使用してEVALUATIONS表に索引を追加するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
EVALUATIONS
を含む表のリストが表示されます。
EVALUATIONSを右クリックします。
選択肢のリストが表示されます。
「索引」を選択します。
選択肢のリストが表示されます。
「索引の作成」を選択します。
「索引の作成」ウィンドウが開きます。
「スキーマ」では、デフォルトのHR
を受け入れます。
「名前」にEVAL_JOB_IX
と入力します。
「定義」タブを選択します。
「定義」ペインに、索引プロパティのデフォルト値が表示されます。
「列名または式:」のラベルが付いたフィールドで、メニューからJOB_ID
を選択します。
(すべてのプロパティについて、デフォルト値を受け入れます。)
「OK」をクリックします。
EVALUATIONS
表のJOB_ID
列に、EVAL_JOB_IX
という名前の索引が追加されます。
参照: CREATE INDEX 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
索引を変更するには、SQL Developerの索引の編集ツールまたはDDL文のDROP
INDEX
とCREATE
INDEX
を使用します。
このチュートリアルでは、「索引の編集」ツールを使用して、索引EVAL_JOB_IX
のソート順序を逆にする方法について説明します。次のようなDDL文を使用します。
DROP INDEX EVAL_JOB_ID; CREATE INDEX EVAL_JOB_IX ON EVALUATIONS (JOB_ID DESC) NOPARALLEL;
索引の編集ツールを使用して索引EVAL_JOB_IXのソート順序を逆にするには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「索引」を展開します。
EVAL_JOB_IX
を含む索引のリストが表示されます。
EVAL_JOB_IXを右クリックします。
選択肢のリストが表示されます。
「編集」をクリックします。
選択肢のリストが表示されます。
「索引の編集」をクリックします。
「索引の編集」ウィンドウが開きます。
「索引の編集」ウィンドウで、「順序」をDESC
に変更します。
「OK」をクリックします。
「置換の確認」ウィンドウが表示され、索引を変更すると索引が置換される(つまり索引が削除されてから作成される)旨の警告があり、データ損失のリスクを冒すかどうかの確認を求められます。
「はい」または「いいえ」をクリックします。
参照: ALTER INDEX 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
索引を削除するには、SQL Developerの削除ツールまたはDDL文のDROP
INDEX
を使用します。
このチュートリアルでは、ナビゲーション・フレームおよび「削除」ツールを使用して、索引EVAL_JOB_IX
を削除する方法について説明します。次のようなDDL文を使用します。
DROP INDEX EVAL_JOB_ID;
索引EVAL_JOB_IXを削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「索引」を展開します。
EVAL_JOB_IX
を含む索引のリストが表示されます。
EVAL_JOB_IXを右クリックします。
選択肢のリストが表示されます。
「削除」をクリックします。
「削除」ウィンドウが開きます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照: DROP INDEX 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
表を削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP
TABLE
を使用します。
削除ツールを使用して表を削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「表」を展開します。
表のリストが表示されます。
削除する表の名前を右クリックします。
選択肢のリストが表示されます。
「表」をクリックします。
選択肢のリストが表示されます。
「削除」をクリックします。
「削除」ウィンドウが開きます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照: DROP TABLE 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
ビューは、問合せの出力を表形式で表します。表を使用できるほとんどの場所で、ビューを使用できます。複数の異なる表に格納された情報に何度もアクセスする必要がある場合に、ビューが役立ちます。
トピック:
ビューを作成するには、SQL Developerのビューの作成ツールまたはDDL文のCREATE
VIEW
を使用します。このトピックでは、これら両方の方法を使用して、次のようなビューを作成する方法を示します。
これらのビューは、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。
トピック:
参照:
|
このチュートリアルでは、ビューの作成ツールを使用してSALESFORCE
ビューを作成する方法を示します。
ビューの作成ツールを使用してSALESFORCEビューを作成するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「ビュー」を右クリックします。
選択肢のリストが表示されます。
「新規ビュー」をクリックします。
「ビューの作成」ウィンドウが開きます。新規のビューには、デフォルト値が入力されています。
「スキーマ」では、デフォルト値のHR
を受け入れます。
「名前」にSALESFORCE
と入力します。
「SQL問合せ」タブをクリックします。
「SQL問合せ」ペインが表示されます。
「SQL問合せ」フィールドでは、次の手順を実行します。
SELECT
の後に次のように入力します。
FIRST_NAME || ' ' || LAST_NAME "Name", SALARY*12 "Annual Salary"
FROM
の後に次のように入力します。
EMPLOYEES WHERE DEPARTMENT_ID = 80
「構文チェック」をクリックします。
「SQL解析結果」フィールドにメッセージが表示されます。
「SQLにエラーはありませんでした。」以外のメッセージが表示された場合は、手順7に戻り、問合せの構文エラーを修正します。
「OK」をクリックします。
ビューSALESFORCE
が作成されます。これを表示するには、ナビゲーション・フレームで「ビュー」を展開します。
参照: SQL Developerを使用してビューを作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。 |
例6-3のCREATE
VIEW
文は、4つの表を結合するEMP_LOCATIONS
表を作成します。(結合の詳細は「複数の表からのデータの選択」を参照してください。)
例6-3 CREATE VIEW文を使用したEMP_LOCATIONSビューの作成
CREATE VIEW EMP_LOCATIONS AS SELECT e.EMPLOYEE_ID, e.LAST_NAME || ', ' || e.FIRST_NAME NAME, d.DEPARTMENT_NAME DEPARTMENT, l.CITY CITY, c.COUNTRY_NAME COUNTRY FROM EMPLOYEES e, DEPARTMENTS d, LOCATIONS l, COUNTRIES c WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID AND d.LOCATION_ID = l.LOCATION_ID AND l.COUNTRY_ID = c.COUNTRY_ID ORDER BY LAST_NAME;
結果:
View created.
参照: CREATE VIEW 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
ビューで問合せを変更するには、OR
REPLACE
句を持つDDL文CREATE
VIEW
を使用します。
例6-4のCREATE
VIEW
OR
REPLACE
文により、SALESFORCE
ビューの問合せが変更されます。
OR
REPLACE
により、SALESFORCE
ビューの問合せが変更されます。
例6-4 SALESFORCEビューの問合せの変更
CREATE OR REPLACE VIEW SALESFORCE AS
SELECT FIRST_NAME || ' ' || LAST_NAME "Name",
SALARY*12 "Annual Salary"
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 80 OR DEPARTMENT_ID = 20;
参照:
|
ビューの名前を変更するには、SQL Developerの名前変更ツールまたはRENAME
文を使用します。
このチュートリアルでは、「名前の変更」ツールを使用して、SALESFORCE
ビューの名前を変更する方法について説明します。次のようなDDL文を使用します。
RENAME SALESFORCE to SALES_MARKETING;
「名前の変更」ツールを使用してSALESFORCEビューを変更するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「ビュー」を展開します。
ビューのリストが表示されます。
SALESFORCEを右クリックします。
選択肢のリストが表示されます。
「名前変更」を選択します。
名前の変更ウィンドウが開きます。新しいビュー名フィールドが表示されます。
「新規ビュー名」フィールドにSALES_MARKETING
と入力します。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照:
|
ビューを削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP
VIEW
を使用します。
このチュートリアルでは、ナビゲーション・フレームと削除ツールを使用して、SALES_MARKETING
ビュー(「チュートリアル: 名前変更ツールを使用したビュー名の変更」で変更)を削除する方法を示します。次のようなDDL文を使用します。
DROP VIEW SALES_MARKETING;
削除ツールを使用してSALES_MARKETINGビューを削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「ビュー」を展開します。
ビューのリストが表示されます。
SALES_MARKETINGを右クリックします。
選択肢のリストが表示されます。
「削除」をクリックします。
「削除」ウィンドウが開きます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照:
|
順序は一意の連続した値を生成するスキーマ・オブジェクトであり、一意の主キーが必要なときに非常に役立ちます。HR
スキーマにはすでにDEPARTMENTS_SEQ
、EMPLOYEES_SEQ
およびLOCATIONS_SEQ
の3つの順序があります。
順序は、疑似列CURRVAL
およびNEXTVAL
を通じて使用します。これらの疑似列は、それぞれ順序の現在と次の値を返します。順序の作成後、NEXTVAL
を使用して最初の値を取得し、順序を初期化する必要があります。順序を初期化しないと、CURRVAL
は現在の値を返しません。
トピック:
参照:
|
順序を作成するには、SQL Developerの順序の作成ツールまたはDDL文CREATE
SEQUENCE
を使用します。
このチュートリアルでは、データベース順序の作成ツールを使用して順序を作成し、それを使用して、EVALUATIONS
表に主キーを生成する方法を示します。次のようなDDL文を使用します。
CREATE SEQUENCE EVALUATIONS_SEQ INCREMENT BY 1 START WITH 1 ORDER;
この順序は、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。
データベース順序の作成ツールを使用してEVALUATIONS_SEQを作成するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「順序」を右クリックします。
選択肢のリストが表示されます。
「新規順序」をクリックします。
「データベース順序の作成」ウィンドウが開きます。「スキーマ」フィールドには、値HR
があり、「名前」フィールドには、デフォルト値SEQUENCE1
があります。
「名前」フィールドに、デフォルト値のかわりにEVALUATIONS_SEQ
を入力します。
「プロパティ」タブをクリックします。
「プロパティ」ペインが表示されます。
「増分」フィールドに1を入力します。
「開始」フィールドに1を入力します。
「サイクル」チェック・ボックスが選択されている場合は選択を解除します。
「順序」チェック・ボックスを選択します。
「OK」をクリックします。
順序EVALUATIONS_SEQ
が作成されます。これを表示するには、ナビゲーション・フレームで「順序」を展開します。
参照:
|
順序を削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP
SEQUENCE
を使用します。
削除ツールを使用して順序を削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「順序」を展開します。
順序のリストが表示されます。
削除する順序の名前を右クリックします。
選択肢のリストが表示されます。
「削除」をクリックします。
「削除」ウィンドウが開きます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照: DROP SEQUENCE 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
シノニムは、他のスキーマ・オブジェクトに対する別名です。シノニムを使用する理由は、セキュリティ(たとえば、オブジェクトの所有者と位置を分からなくするため)と簡素化のためです。簡素化には、次のような例があります。
ACME_CO
.SALES_DATA
のような長いオブジェクト名のかわりに、SALES
などの短いシノニムを使用します。
あるオブジェクトを使用するすべてのアプリケーションでそのオブジェクトの名前を変更するのではなく、名前を変更したオブジェクトに対してシノニムを使用します。
たとえば、ユーザーのアプリケーションがDEPARTMENTS
という名前の表を使用し、その名前がDIVISIONS
に変更された場合、その表に対してDEPARTMENTS
シノニムを使用して、元の名前での参照を継続します。
トピック:
参照:
|
シノニムを作成するには、SQL Developerのデータベース・シノニムの作成ツールまたはDDL文CREATE
SYNONYM
を使用します。
このチュートリアルでは、データベース・シノニムの作成ツールを使用して、EMPLOYEES
表のためのシノニムEMP
を作成する方法を示します。次のようなDDL文を使用します。
CREATE SYNONYM EMP FOR EMPLOYEES;
このシノニムは、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。
データベース・シノニムの作成ツールを使用してシノニムEMPを作成するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「シノニム」を右クリックします。
選択肢のリストが表示されます。
「新規シノニム」をクリックします。
「データベース・シノニムの作成」ウィンドウが開きます。「プロンプト」タブが選択されています。「プロンプト」ペインには、「シノニム名」、「オブジェクト所有者」および「オブジェクト名」という3つの空のフィールドがあります。
「シノニム名」フィールドにEMP
と入力します。
「オブジェクト所有者」フィールドで、「HR」
をメニューから選択します。
「オブジェクト名」フィールドで、「EMPLOYEES」
をメニューから選択します。
シノニムは特定のスキーマ・オブジェクト、この場合、EMPLOYEES
表を参照します。
「適用」をクリックします。
「確認」ウィンドウが表示されます。
「OK」をクリックします。
シノニムEMP
が作成されます。これを表示するには、ナビゲーション・フレームで「シノニム」を展開します。これによって、EMPLOYEES
のかわりにEMP
を使用できるようになります。
参照: CREATE SYNONYM 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
シノニムを削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP
SYNONYM
を使用します。
削除ツールを使用してシノニムを削除するには、次の手順を実行します。
「接続」タブで、hr_connを展開します。
hr_conn
アイコンの下に、スキーマ・オブジェクト型のリストが表示されます。
「シノニム」を展開します。
シノニムのリストが表示されます。
削除するシノニムの名前を右クリックします。
選択肢のリストが表示されます。
「削除」をクリックします。
「削除」ウィンドウが開きます。
「適用」をクリックします。
「確認」ウィンドウが開きます。
「OK」をクリックします。
参照: DROP SYNONYM 文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |