ヘッダーをスキップ
Oracle® Database Express Edition 2日で開発者ガイド
11g リリース2 (11.2)
B66463-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 スキーマ・オブジェクトの作成および管理

この章の内容は次のとおりです。

データ定義言語(DDL)文について

スキーマ・オブジェクトを作成、変更および削除する文はデータ定義言語(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データ型について

表を作るときは、各列にSQLデータ型を指定します。列がどのような値を持つことができるかは、列のデータ型によって決まります。たとえば、DATE型の列は、'01-MAY-05'という値を持つことはできますが、数値2や文字値'shoe'を持つことはできません。SQLデータ型には、埋込みデータ型とユーザー定義型の2つのカテゴリがあります。(PL/SQLには追加のデータ型があります。詳細は、「PL/SQLデータ型について」を参照してください。)


参照:

  • 埋込みSQLデータ型の要約については、『Oracle Database SQL言語リファレンス』を参照してください。

  • 各埋込みSQLデータ型の概要については、『Oracle Database概要』を参照してください。

  • ユーザー定義のデータ型の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • 「PL/SQLデータ型について」


表の作成

表を作成するには、SQL Developerの表の作成ツールまたはDDL文のCREATE TABLEを使用します。このトピックでは、これら2つの方法を使用して、従業員の評価に関するデータを含む次のような表を作成する方法を示します。

  • PERFORMANCE_PARTS。この表には、従業員のパフォーマンスに関して評価対象となるカテゴリおよびカテゴリの相対的な重みが含まれます。

  • EVALUATIONS。この表には、従業員情報、評価日、役職、マネージャおよび部門が含まれます。

  • SCORES。この表には、各評価の各パフォーマンス・カテゴリに割り当てられたスコアが含まれます。

これらの表は、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。

トピック:

チュートリアル: 表の作成ツールを使用した表の作成

このチュートリアルでは、表の作成ツールを使用してPERFORMANCE_PARTS表を作成する方法を示します。

表の作成ツールを使用してPERFORMANCE_PARTS表を作成するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を右クリックします。

    選択肢のリストが表示されます。

  3. 「新規の表」をクリックします。

    「表の作成」ウィンドウが開きます。新規の表には行が1つのみあり、デフォルト値が入力されています。

  4. 「スキーマ」では、デフォルト値のHRを受け入れます。

  5. 「名前」にPERFORMANCE_PARTSと入力します。

  6. デフォルトの行:

    • 「列名」にPERFORMANCE_IDと入力します。

    • 「型」では、デフォルト値のVARCHAR2を受け入れます。

    • 「サイズ」に2と入力します。

    • 「NULL以外」と「主キー」では、選択解除されているデフォルト値を受け入れます。

  7. 「列の追加」をクリックします。

  8. 「列名」にNAMEと入力します。

  9. 「型」では、デフォルト値のVARCHAR2を受け入れます。

  10. 「サイズ」に80と入力します。

  11. 「列の追加」をクリックします。

  12. 「列名」にWEIGHTと入力します。

  13. 「タイプ」で、「NUMBER」をメニューから選択します。

  14. 「OK」をクリックします。

    PERFORMANCE_PARTSが作成されます。これを表示するには、ナビゲーション・フレームにおいて「表」を展開します。


参照:

SQL Developerを使用して表を作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。

CREATE TABLE文を使用した表の作成

ここでは、CREATE TABLE文を使用して、EVALUATIONS表とSCORES表を作成する方法を示します。

例6-1CREATE 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-2CREATE 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では、すべてのデータが制約に従っているかどうかをアプリケーション・ロジックよりも高速に確認できます。

制約を有効または無効にできます。デフォルトでは、有効の状態で作成されます。

トピック:


参照:


制約の種類について

制約の種類には、次のものがあります。

  • Not Null。値がNULLになることを禁止します。

    EMPLOYEES表では、LAST_NAME列がNOT NULL制約を持ち、全従業員に対して姓を持たせるというビジネス・ルールが適用されます。

  • 一意。同じ列または列の組合せの中で複数の行が同じ値を持つことを禁止しますが、NULLの値を許可します。

    EMPLOYEES表では、EMAIL列がUNIQUE制約を持つため、従業員は電子メール・アドレスを持たなくてもよいが、他の従業員と同じ電子メール・アドレスを持つことはできないというビジネス・ルールが適用されます。

  • 主キー。これは、NOT NULLUNIQUEの組合せです。

    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概要』を参照してください。


参照:

  • 制約の種類の一般情報は、『Oracle Database概要』を参照してください。

  • 制約の構文情報は、『Oracle Database SQL言語リファレンス』を参照してください。


チュートリアル: 既存の表への制約の追加

既存の表に制約を追加するには、SQL DeveloperツールまたはDDL文のALTER TABLEを使用します。このトピックでは、これら2つの方法を使用して、「表の作成」で作成した表に制約を追加する方法を示します。

このチュートリアルでは様々な手順を説明します。最初の手順(この段落の直後)では、表の編集ツールを使用して、PERFORMANCE_PARTS表のNAMES列にNot Null制約を追加します。その他の手順では、他のツールで制約を追加する方法を示しますが、表の編集ツールを使用して同じ制約を追加することもできます。


注意:

チュートリアルの手順を実行した後、表が持つ制約を表示するには、次のようにします。
  1. ナビゲーション・フレームでは、表の名前を選択します。

  2. 右側のフレームで、「制約」タブをクリックします。

表のプロパティとデータの表示の詳細は、「チュートリアル: EMPLOYEES表のプロパティとデータの表示」を参照してください。


表の編集ツールを使用してNot Null制約を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. PERFORMANCE_PARTSを右クリックします。

    選択肢のリストが表示されます。

  4. 「編集」をクリックします。

    「表の編集」ウィンドウが開きます。デフォルトでは、「列」が選択されて、PERFORMANCE_PARTS表の列がリストされ、PERFORMANCE_ID列が選択されて、そのプロパティがリストされます。

  5. NAME列をクリックします。

    NAME列のプロパティが表示されます。プロパティ「NOT NULL」は選択解除されています。

  6. 「NOT NULL」を選択します。

  7. 「OK」をクリックします。

    PERFORMANCE_PARTS表のNAME列にNot Null制約が追加されます。

次の手順では、ALTER TABLE文を使用して、PERFORMANCE_PARTS表のWEIGHT列にNot Null制約を追加します。

ALTER TABLE文を使用してNot Null制約を追加するには、次の手順を実行します。

  1. タブ「hr_conn」が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。

  2. ワークシート・ペインで、次の文を入力します。

    ALTER TABLE PERFORMANCE_PARTS
    MODIFY WEIGHT NOT NULL;
    
  3. 「文の実行」アイコンをクリックします。

    文が実行され、PERFORMANCE_PARTS表のWEIGHT列にNot Null制約が追加されます。

次の手順は、一意の追加ツールを使用して、SCORES表に一意制約を追加します。

一意の追加ツールを使用して一意制約を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. SCORESを右クリックします。

    選択肢のリストが表示されます。

  4. 「制約」をクリックします。

    選択肢のリストが表示されます。

  5. 「一意の追加」をクリックします。

    「一意の追加」ウィンドウが開きます。

  6. 「制約名」にSCORES_EVAL_PERF_UNIQUEと入力します。

  7. 「列1」で、メニューからEVALUATION_IDを選択します。

  8. 「列2」で、メニューからPERFORMANCE_IDを選択します。

  9. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  10. 「OK」をクリックします。

    SCORES_EVAL_PERF_UNIQUEという名前の一意制約が、SCORES表に追加されます。

次の手順では、主キーの追加ツールを使用して、PERFORMANCE_PARTS表のPERFORMANCE_ID列に主キー制約を追加します。

主キーの追加ツールを使用して主キー制約を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. PERFORMANCE_PARTSを右クリックします。

    選択肢のリストが表示されます。

  4. 「制約」をクリックします。

    選択肢のリストが表示されます。

  5. 「主キーの追加」をクリックします。

    「主キーの追加」ウィンドウが開きます。

  6. 「主キー名」にPERF_PERF_ID_PKと入力します。

  7. 「列1」で、メニューからPERFORMANCE_IDを選択します。

  8. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  9. 「OK」をクリックします。

    PERFORMANCE_PARTS表のPERFORMANCE_ID列に、PERF_PERF_ID_PKという名前の主キー制約が追加されます。

次の手順では、ALTER TABLE文を使用して、EVALUATIONS表のEVALUATION_ID列に主キー制約を追加します。

ALTER TABLE文を使用して主キー制約を追加するには、次の手順を実行します。

  1. タブ「hr_conn」が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。

  2. ワークシート・ペインで、次の文を入力します。

    ALTER TABLE EVALUATIONS
    ADD CONSTRAINT EVAL_EVAL_ID_PK PRIMARY KEY (EVALUATION_ID);
    
  3. 「文の実行」アイコンをクリックします。

    文が実行され、EVALUATIONS表のEVALUATION_ID列に主キー制約が追加されます。

次の手順は、外部キーの追加ツールを使用して、SCORES表に2つの外部キー制約を追加します。

外部キーの追加ツールを使用して2つの外部キー制約を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. SCORESを右クリックします。

    選択肢のリストが表示されます。

  4. 「制約」をクリックします。

    選択肢のリストが表示されます。

  5. 「外部キーの追加」をクリックします。

    「外部キーの追加」ウィンドウが開きます。

  6. 「外部キー名」にSCORES_EVAL_FKと入力します。

  7. 「列名」で、メニューからEVALUATION_IDを選択します。

  8. 「参照表名」で、メニューからEVALUATIONSを選択します。

  9. 「参照元の列」で、メニューからEVALUATION_IDを選択します。

  10. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  11. 「OK」をクリックします。

    EVALUATIONS表のEVALUTION_ID列を参照するSCORES表のEVALUTION_ID列に、SCORES_EVAL_FKという名前の外部キー制約が追加されます。

    次の手順では、別の外部キー制約をSCORES表に追加します。

  12. SCORESを右クリックします。

    表のリストが表示されます。

  13. 「制約」をクリックします。

    選択肢のリストが表示されます。

  14. 「外部キーの追加」をクリックします。

    「外部キーの追加」ウィンドウが開きます。

  15. 「外部キー名」にSCORES_PERF_FKと入力します。

  16. 「列名」で、メニューからPERFORMANCE_IDを選択します。

  17. 「参照表名」で、メニューからPERFORMANCE_PARTSを選択します。

  18. 「参照元の列」で、メニューからPERFORMANCE_IDを選択します。

  19. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  20. 「OK」をクリックします。

    EVALUATIONS表のEVALUTION_ID列を参照するSCORES表のEVALUTION_ID列に、SCORES_PERF_FKという名前の外部キー制約が追加されます。

次の手順では、ALTER TABLE文を使用して、EMPLOYEES表のEMPLOYEE_ID列を参照するEVALUATIONS表のEMPLOYEE_ID列に外部キー制約を追加します。

ALTER TABLE文を使用して外部キー制約を追加するには、次の手順を実行します。

  1. タブ「hr_conn」が含まれる「SQLワークシート」ペインがあれば、それを選択します。そうでない場合は、「SQL Developerにおける問合せの実行」にあるように、「SQLワークシート」アイコンをクリックします。

  2. ワークシート・ペインで、次の文を入力します。

    ALTER TABLE EVALUATIONS
    ADD CONSTRAINT EVAL_EMP_ID_FK FOREIGN KEY (EMPLOYEE_ID)
    REFERENCES EMPLOYEES (EMPLOYEE_ID);
    
  3. 「文の実行」アイコンをクリックします。

    文が実行され、EMPLOYEES表のEMPLOYEE_ID列を参照するEVALUATIONS表のEMPLOYEE_ID列に外部キー制約が追加されます。

次の手順は、チェックの追加ツールを使用して、SCORES表にチェック制約を追加します。

チェックの追加ツールを使用してチェック制約を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. SCORESを右クリックします。

    選択肢のリストが表示されます。

  4. 「制約」をクリックします。

    選択肢のリストが表示されます。

  5. 「チェックの追加」をクリックします。

    「チェックの追加」ウィンドウが開きます。

  6. 「制約名」にSCORE_VALIDと入力します。

  7. 「CHECK条件」に、score >= 0 and score <= 9と入力します。

  8. 「ステータス」では、デフォルトのENABLEを受け入れます。

  9. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  10. 「OK」をクリックします。

    SCORE_VALIDという名前のチェック制約が、SCORES表に追加されます。


参照:

  • ALTER TABLE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • SQL Developerで作成する表に制約を追加する方法については、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。

  • CREATE TABLE文で作成する表に制約を追加する方法については、『Oracle Database SQL言語リファレンス』を参照してください。


チュートリアル: 行の挿入ツールによる表への行の追加

このチュートリアルでは、行の挿入ツールを使用して、PERFORMANCE_PARTS表に、6つの移入された行を追加する方法を示します。

行の挿入ツールを使用してPERFORMANCE_PARTS表に行を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. PERFORMANCE_PARTSを選択します。

  4. 右側のフレームで、「データ」タブをクリックします。

    「データ」ペインが表示され、PERFORMANCE_PARTS表の列名が表示されますが、行は表示されません。

  5. 「データ」ペインで「行の挿入」アイコンをクリックします。

    列が空の新しい行が表示されます。行番号の周りに、挿入がコミットされていないことを示す緑色の境界線が表示されます。

  6. 列ヘッダーPERFORMANCE_IDの下にあるセルをクリックします。

  7. WMと入力します。

    PERFORMANCE_IDの値がWMになります。

  8. [Tab]キーを押すか、列ヘッダーNAMEの下にあるセルをクリックします。

  9. Workload Managementと入力します。

    NAMEの値がWorkload Managementになります。

  10. [Tab]キーを押すか、列ヘッダーWEIGHTの下にあるセルをクリックします。

  11. 0.2と入力します。

    WEIGHTの値が0.2になります。

  12. [Enter]キーを押します。

  13. 手順5から12を繰り返して、2番目の行を追加し、次の値を入力します。

    • PERFORMANCE_IDBRと入力します。

    • NAMEBuilding Relationshipsと入力します。

    • WEIGHT0.2と入力します。

  14. 手順5から12を繰り返して、3番目の行を追加し、次の値を入力します。

    • PERFORMANCE_IDCFと入力します。

    • NAMECustomer Focusと入力します。

    • WEIGHT0.2と入力します。

  15. 手順5から12を繰り返して、4番目の行を追加し、次の値を入力します。

    • PERFORMANCE_IDCMと入力します。

    • NAMECommunicationと入力します。

    • WEIGHT0.2と入力します。

  16. 手順5から12を繰り返して、5番目の行を追加し、次の値を入力します。

    • PERFORMANCE_IDTWと入力します。

    • NAMETeamworkと入力します。

    • WEIGHT0.2と入力します。

  17. 手順5から12を繰り返して、6番目の行を追加し、次の値を入力します。

    • PERFORMANCE_IDROと入力します。

    • NAMEResults Orientationと入力します。

    • WEIGHT0.2と入力します。

  18. 「変更のコミット」アイコンをクリックします。

    行番号の周りの緑色の境界線が消えます。

    「データ」ペインの下に、ラベル「ログ」があります。

  19. ラベル「ログ」をクリックします。

    「データ・エディタ」の「ログ」ペインが表示されます。

  20. 「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。

    (「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)

  21. 「データ」ペインで新しい行を確認します。

チュートリアル: 「データ」ペインにある表のデータの変更

このチュートリアルでは、「データ」ペインにある(「チュートリアル: 行の挿入ツールによる表への行の追加」で移入された)PERFORMANCE_PARTS表の3つのWEIGHT値を変更する方法を示します。

「データ」ペインを使用してPERFORMANCE_PARTS表のデータを変更するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. PERFORMANCE_PARTSを選択します。

  4. 右側のフレームで、「データ」タブをクリックします。

    「データ」ペインが表示され、PERFORMANCE_PARTS表の行が表示されます。

  5. NAMEWorkload Managementである行で、次の手順を実行します。

    1. WEIGHT値をクリックします。

    2. 0.3を入力します。

    3. [Enter]キーを押します。

      行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。

  6. NAMEBuilding Relationshipsである行で、次の手順を実行します。

    1. WEIGHT値をクリックします。

    2. 0.15を入力します。

    3. [Enter]キーを押します。

      行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。

  7. NAMECustomer Focusである行で、次の手順を実行します。

    1. WEIGHT値をクリックします。

    2. 0.15を入力します。

    3. [Enter]キーを押します。

      行番号の左に、変更がコミットされていないことを示すアスタリスクが表示されます。

  8. 「変更のコミット」アイコンをクリックします。

    行番号の左のアスタリスクが消えます。

    「データ」ペインの下に、ラベル「ログ」があります。

  9. ラベル「ログ」をクリックします。

    「データ・エディタ」の「ログ」ペインが表示されます。

  10. 「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。

    (「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)

  11. 「データ」ペインで新しいデータを確認します。

チュートリアル: 選択した行の削除ツールを使用した表内の行の削除

このチュートリアルでは、選択した行の削除ツールを使用して、(「チュートリアル: 行の挿入ツールによる表への行の追加」で移入された)PERFORMANCE_PARTS表から行を削除する方法を示します。

選択した行の削除ツールを使用してPERFORMANCE_PARTSから行を削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. PERFORMANCE_PARTSを選択します。

  4. 右側のフレームで、「データ」タブをクリックします。

    「データ」ペインが表示され、PERFORMANCE_PARTS表の行が表示されます。

  5. NAMEResults Orientationである行をクリックします。

  6. 「選択した行の削除」アイコンをクリックします。

    行番号の周りに、削除がコミットされていないことを示す赤色の境界線が表示されます。

  7. 「変更のコミット」アイコンをクリックします。

    行が削除されます。

    「データ」ペインの下に、ラベル「ログ」があります。

  8. ラベル「ログ」をクリックします。

    「データ・エディタ」の「ログ」ペインが表示されます。

  9. 「データ・エディタ・ログ」ペインに、「コミットは成功しました」という記述があることを確認します。

    (「データ・エディタ」の「ログ」ペインを非表示にするには、「ログ」をクリックします。)


注意:

表内のすべての行を削除しても、空の表が残ります。表を削除する方法は、「表の削除」を参照してください。

索引の管理

表の1つ以上の列に対して索引を作成すると、その表におけるSQL文の実行速度が向上します。索引を適切に使用することは、ディスクI/Oを減らす主要な方法です。

表に主キーを定義すると、Oracle Database XEによって主キーに一意索引が作成されます。たとえば、「チュートリアル: 既存の表への制約の追加」では、EVALUATIONS表のEVALUATION_ID列に主キー制約を追加しました。このため、SQL Developerのナビゲーション・フレームで、EVALUATIONS表を選択し、「索引」タブをクリックすると、「索引」ペインに、EVALUATION_ID列に対する一意索引が表示されます。

トピック:


参照:

索引の詳細は、次を参照してください。
  • 『Oracle Database概要』

  • 『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』


チュートリアル: 索引の作成ツールを使用した索引の追加

索引を作成するには、SQL Developerの索引の作成ツールまたはDDL文のCREATE INDEXを使用します。

このチュートリアルでは、「索引の作成」ツールを使用して、EVALUATIONS表に索引を追加する方法について説明します。次のようなDDL文を使用します。

CREATE INDEX EVAL_JOB_IX
ON EVALUATIONS (JOB_ID ASC) NOPARALLEL;

索引の作成ツールを使用してEVALUATIONS表に索引を追加するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    EVALUATIONSを含む表のリストが表示されます。

  3. EVALUATIONSを右クリックします。

    選択肢のリストが表示されます。

  4. 「索引」を選択します。

    選択肢のリストが表示されます。

  5. 「索引の作成」を選択します。

    「索引の作成」ウィンドウが開きます。

  6. 「スキーマ」では、デフォルトのHRを受け入れます。

  7. 「名前」にEVAL_JOB_IXと入力します。

  8. 「定義」タブを選択します。

    「定義」ペインに、索引プロパティのデフォルト値が表示されます。

  9. 「列名または式:」のラベルが付いたフィールドで、メニューからJOB_IDを選択します。

    (すべてのプロパティについて、デフォルト値を受け入れます。)

  10. 「OK」をクリックします。

    EVALUATIONS表のJOB_ID列に、EVAL_JOB_IXという名前の索引が追加されます。


参照:

CREATE INDEX文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

チュートリアル: 索引の編集ツールを使用した索引の変更

索引を変更するには、SQL Developerの索引の編集ツールまたはDDL文のDROP INDEXCREATE INDEXを使用します。

このチュートリアルでは、「索引の編集」ツールを使用して、索引EVAL_JOB_IXのソート順序を逆にする方法について説明します。次のようなDDL文を使用します。

DROP INDEX EVAL_JOB_ID;

CREATE INDEX EVAL_JOB_IX
ON EVALUATIONS (JOB_ID DESC) NOPARALLEL;

索引の編集ツールを使用して索引EVAL_JOB_IXのソート順序を逆にするには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「索引」を展開します。

    EVAL_JOB_IXを含む索引のリストが表示されます。

  3. EVAL_JOB_IXを右クリックします。

    選択肢のリストが表示されます。

  4. 「編集」をクリックします。

    選択肢のリストが表示されます。

  5. 「索引の編集」をクリックします。

    「索引の編集」ウィンドウが開きます。

  6. 「索引の編集」ウィンドウで、「順序」DESCに変更します。

  7. 「OK」をクリックします。

    「置換の確認」ウィンドウが表示され、索引を変更すると索引が置換される(つまり索引が削除されてから作成される)旨の警告があり、データ損失のリスクを冒すかどうかの確認を求められます。

  8. 「はい」または「いいえ」をクリックします。


参照:

ALTER INDEX文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

チュートリアル: 索引の削除

索引を削除するには、SQL Developerの削除ツールまたはDDL文のDROP INDEXを使用します。

このチュートリアルでは、ナビゲーション・フレームおよび「削除」ツールを使用して、索引EVAL_JOB_IXを削除する方法について説明します。次のようなDDL文を使用します。

DROP INDEX EVAL_JOB_ID;

索引EVAL_JOB_IXを削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「索引」を展開します。

    EVAL_JOB_IXを含む索引のリストが表示されます。

  3. EVAL_JOB_IXを右クリックします。

    選択肢のリストが表示されます。

  4. 「削除」をクリックします。

    「削除」ウィンドウが開きます。

  5. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  6. 「OK」をクリックします。


参照:

DROP INDEX文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

表の削除

表を削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP TABLEを使用します。


注意:

今後のチュートリアルで必要なため、「表の作成」で作成したいずれの表も削除しないでください。表の削除の練習をする際は、簡単な表を作成し、それを削除してください。

削除ツールを使用して表を削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「表」を展開します。

    表のリストが表示されます。

  3. 削除する表の名前を右クリックします。

    選択肢のリストが表示されます。

  4. 「表」をクリックします。

    選択肢のリストが表示されます。

  5. 「削除」をクリックします。

    「削除」ウィンドウが開きます。

  6. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  7. 「OK」をクリックします。


参照:

DROP TABLE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

ビューの作成および管理

ビューは、問合せの出力を表形式で表します。表を使用できるほとんどの場所で、ビューを使用できます。複数の異なる表に格納された情報に何度もアクセスする必要がある場合に、ビューが役立ちます。

トピック:


参照:

  • 問合せの詳細は、第4章「表データの選択」を参照してください。

  • ビューの一般情報は、『Oracle Database概要』を参照してください。


ビューの作成

ビューを作成するには、SQL Developerのビューの作成ツールまたはDDL文のCREATE VIEWを使用します。このトピックでは、これら両方の方法を使用して、次のようなビューを作成する方法を示します。

  • SALESFORCE。営業部に所属する従業員の名前と給与が含まれます。

  • EMP_LOCATIONS。全従業員の名前と事業所が含まれます。

これらのビューは、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。

トピック:


参照:

  • SQL Developerを使用してビューを作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。

  • CREATE VIEW文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


チュートリアル: ビューの作成ツールを使用したビューの作成

このチュートリアルでは、ビューの作成ツールを使用してSALESFORCEビューを作成する方法を示します。

ビューの作成ツールを使用してSALESFORCEビューを作成するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「ビュー」を右クリックします。

    選択肢のリストが表示されます。

  3. 「新規ビュー」をクリックします。

    「ビューの作成」ウィンドウが開きます。新規のビューには、デフォルト値が入力されています。

  4. 「スキーマ」では、デフォルト値のHRを受け入れます。

  5. 「名前」にSALESFORCEと入力します。

  6. 「SQL問合せ」タブをクリックします。

    「SQL問合せ」ペインが表示されます。

  7. 「SQL問合せ」フィールドでは、次の手順を実行します。

    • SELECTの後に次のように入力します。

      FIRST_NAME || ' ' || LAST_NAME "Name", SALARY*12 "Annual Salary"
      
    • FROMの後に次のように入力します。

      EMPLOYEES WHERE DEPARTMENT_ID = 80
      
  8. 「構文チェック」をクリックします。

    「SQL解析結果」フィールドにメッセージが表示されます。

  9. 「SQLにエラーはありませんでした。」以外のメッセージが表示された場合は、手順7に戻り、問合せの構文エラーを修正します。

  10. 「OK」をクリックします。

    ビューSALESFORCEが作成されます。これを表示するには、ナビゲーション・フレームで「ビュー」を展開します。


参照:

SQL Developerを使用してビューを作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。

CREATE VIEW文を使用したビューの作成

例6-3CREATE 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-4CREATE 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;

参照:

  • OR REPLACE句を持つCREATE VIEW文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


チュートリアル: 名前変更ツールを使用したビュー名の変更

ビューの名前を変更するには、SQL Developerの名前変更ツールまたはRENAME文を使用します。

このチュートリアルでは、「名前の変更」ツールを使用して、SALESFORCEビューの名前を変更する方法について説明します。次のようなDDL文を使用します。

RENAME SALESFORCE to SALES_MARKETING;

「名前の変更」ツールを使用してSALESFORCEビューを変更するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「ビュー」を展開します。

    ビューのリストが表示されます。

  3. SALESFORCEを右クリックします。

    選択肢のリストが表示されます。

  4. 「名前変更」を選択します。

    名前の変更ウィンドウが開きます。新しいビュー名フィールドが表示されます。

  5. 「新規ビュー名」フィールドにSALES_MARKETINGと入力します。

  6. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  7. 「OK」をクリックします。


参照:

  • RENAME文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


ビューの削除

ビューを削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP VIEWを使用します。

このチュートリアルでは、ナビゲーション・フレームと削除ツールを使用して、SALES_MARKETINGビュー(「チュートリアル: 名前変更ツールを使用したビュー名の変更」で変更)を削除する方法を示します。次のようなDDL文を使用します。

DROP VIEW SALES_MARKETING;

削除ツールを使用してSALES_MARKETINGビューを削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「ビュー」を展開します。

    ビューのリストが表示されます。

  3. SALES_MARKETINGを右クリックします。

    選択肢のリストが表示されます。

  4. 「削除」をクリックします。

    「削除」ウィンドウが開きます。

  5. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  6. 「OK」をクリックします。


参照:

  • DROP VIEW文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。


順序の作成および管理

順序は一意の連続した値を生成するスキーマ・オブジェクトであり、一意の主キーが必要なときに非常に役立ちます。HRスキーマにはすでにDEPARTMENTS_SEQEMPLOYEES_SEQおよびLOCATIONS_SEQの3つの順序があります。

順序は、疑似列CURRVALおよびNEXTVALを通じて使用します。これらの疑似列は、それぞれ順序の現在と次の値を返します。順序の作成後、NEXTVALを使用して最初の値を取得し、順序を初期化する必要があります。順序を初期化しないと、CURRVALは現在の値を返しません。


ヒント:

表の主キーを移入するために順序を使用する場合は、順序に、その目的を反映する名前を付けます。(このトピックでは、ネーミング規則table_name_SEQを使用します。)

トピック:


参照:


チュートリアル: 順序の作成

順序を作成するには、SQL Developerの順序の作成ツールまたはDDL文CREATE SEQUENCEを使用します。

このチュートリアルでは、データベース順序の作成ツールを使用して順序を作成し、それを使用して、EVALUATIONS表に主キーを生成する方法を示します。次のようなDDL文を使用します。

CREATE SEQUENCE EVALUATIONS_SEQ
INCREMENT BY 1
START WITH 1 ORDER;

この順序は、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。

データベース順序の作成ツールを使用してEVALUATIONS_SEQを作成するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「順序」を右クリックします。

    選択肢のリストが表示されます。

  3. 「新規順序」をクリックします。

    「データベース順序の作成」ウィンドウが開きます。「スキーマ」フィールドには、値HRがあり、「名前」フィールドには、デフォルト値SEQUENCE1があります。

  4. 「名前」フィールドに、デフォルト値のかわりにEVALUATIONS_SEQを入力します。

  5. 「プロパティ」タブをクリックします。

    「プロパティ」ペインが表示されます。

  6. 「増分」フィールドに1を入力します。

  7. 「開始」フィールドに1を入力します。

  8. 「サイクル」チェック・ボックスが選択されている場合は選択を解除します。

  9. 「順序」チェック・ボックスを選択します。

  10. 「OK」をクリックします。

    順序EVALUATIONS_SEQが作成されます。これを表示するには、ナビゲーション・フレームで「順序」を展開します。


参照:

  • SQL Developerを使用して順序を作成する方法の詳細は、『Oracle Database SQL Developerユーザーズ・ガイド』を参照してください。

  • CREATE SEQUENCE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • evaluations_seqによって作成された主キーをEVALUATIONS表に挿入するトリガーを作成する方法については、「チュートリアル: 行が挿入される前に主キーを生成するトリガーの作成」を参照してください。


順序の削除

順序を削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP SEQUENCEを使用します。


注意:

今後のチュートリアルで必要なため、「チュートリアル: 順序の作成」で作成した順序を削除しないでください。順序の削除の練習をする際は、簡単な順序を作成し、それを削除してください。

削除ツールを使用して順序を削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「順序」を展開します。

    順序のリストが表示されます。

  3. 削除する順序の名前を右クリックします。

    選択肢のリストが表示されます。

  4. 「削除」をクリックします。

    「削除」ウィンドウが開きます。

  5. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  6. 「OK」をクリックします。


参照:

DROP SEQUENCE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

シノニムの作成および管理

シノニムは、他のスキーマ・オブジェクトに対する別名です。シノニムを使用する理由は、セキュリティ(たとえば、オブジェクトの所有者と位置を分からなくするため)と簡素化のためです。簡素化には、次のような例があります。

トピック:


参照:

  • シノニムの一般情報は、『Oracle Database概要』を参照してください。


シノニムの作成

シノニムを作成するには、SQL Developerのデータベース・シノニムの作成ツールまたはDDL文CREATE SYNONYMを使用します。

このチュートリアルでは、データベース・シノニムの作成ツールを使用して、EMPLOYEES表のためのシノニムEMPを作成する方法を示します。次のようなDDL文を使用します。

CREATE SYNONYM EMP FOR EMPLOYEES;

このシノニムは、このマニュアルのチュートリアルと例において、開発とデプロイの方法を説明するためのサンプル・アプリケーションの一部です。

データベース・シノニムの作成ツールを使用してシノニムEMPを作成するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「シノニム」を右クリックします。

    選択肢のリストが表示されます。

  3. 「新規シノニム」をクリックします。

    「データベース・シノニムの作成」ウィンドウが開きます。「プロンプト」タブが選択されています。「プロンプト」ペインには、「シノニム名」、「オブジェクト所有者」および「オブジェクト名」という3つの空のフィールドがあります。

  4. 「シノニム名」フィールドにEMPと入力します。

  5. 「オブジェクト所有者」フィールドで、「HR」をメニューから選択します。

  6. 「オブジェクト名」フィールドで、「EMPLOYEES」をメニューから選択します。

    シノニムは特定のスキーマ・オブジェクト、この場合、EMPLOYEES表を参照します。

  7. 「適用」をクリックします。

    「確認」ウィンドウが表示されます。

  8. 「OK」をクリックします。

    シノニムEMPが作成されます。これを表示するには、ナビゲーション・フレームで「シノニム」を展開します。これによって、EMPLOYEESのかわりにEMPを使用できるようになります。


参照:

CREATE SYNONYM文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

シノニムの削除

シノニムを削除するには、SQL Developerのナビゲーション・フレームと削除ツールまたはDDL文のDROP SYNONYMを使用します。


注意:

今後のチュートリアルで必要なため、「シノニムの作成」で作成したシノニムを削除しないでください。シノニムの削除の練習をする際は、新しいシノニムを作成し、それを削除してください。

削除ツールを使用してシノニムを削除するには、次の手順を実行します。

  1. 「接続」タブで、hr_connを展開します。

    hr_connアイコンの下に、スキーマ・オブジェクト型のリストが表示されます。

  2. 「シノニム」を展開します。

    シノニムのリストが表示されます。

  3. 削除するシノニムの名前を右クリックします。

    選択肢のリストが表示されます。

  4. 「削除」をクリックします。

    「削除」ウィンドウが開きます。

  5. 「適用」をクリックします。

    「確認」ウィンドウが開きます。

  6. 「OK」をクリックします。


参照:

DROP SYNONYM文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。