3.3 表の管理

表を作成、参照、編集、削除できるほか、各種の表レポートを表示できます。

表は、Oracle Databaseのデータ記憶域の単位で、行と列が含まれます。オブジェクト・ブラウザで表を表示すると、表内の各列を説明する表の説明が表示されます。

関連項目:

3.3.1 表の作成

オブジェクト・ブラウザを使用して表を作成します。

表を作成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「オブジェクト・ブラウザ」をクリックします。

    「オブジェクト・ブラウザ」が表示されます。

  2. 「作成」アイコンをクリックします。
  3. オブジェクト・タイプのリストから、「表」を選択します。
  4. 表名を入力します。

    表名は、Oracleのネーミング規則に準拠する必要があります。

  5. 最終的な表名を「表名」フィールドで使用した大/小文字表記に一致させるには、「大/小文字を保持」をクリックします。
  6. 列の詳細を入力します。
    1. 列名: 列名を入力します。

    2. タイプ: 列タイプを選択します。

    3. 精度: 精度は小数点の前の桁数です。これは一部の列タイプに設定できます。精度は正の整数である必要があります。NUMBERFLOATINTERVAL YEAR TO MONTH、およびINTERVAL DAY TO SECONDのみがこの設定を持ちます。たとえば、タイプNUMBERの列が精度4の場合、列値は0から9999までになります。

    4. スケール: スケール設定の機能は、列タイプに応じて異なります。NUMBERタイプの場合、スケールは小数点の後の桁数です。VARCHAR2およびCHARタイプの場合、スケールは格納される文字の数です。TIMESTAMPタイプの場合、スケールは小数秒の精度で、0から9の間の数である必要があります。スケールは正数である必要があります。たとえば、列タイプTIMESTAMPのスケールが3の場合、秒は.000秒から.999秒までになります。

    5. NOT NULL: 列が必ず値を持つように指定するには、「NOT NULL」チェック・ボックスを選択します。

    6. Oracle Database 12cを実行している場合: NUMBER列およびFLOAT列にアイデンティティ・オプションを選択します。オプションは次のとおりです。

      • Always: Oracle Databaseは、この列に値を割り当てるために、常にシーケンス・ジェネレータを使用するようになります。INSERTまたはUPDATEを使用して、列に明示的に値を割り当てようとすると、エラーが返されます。

      • Default: Oracle Databaseはシーケンス・ジェネレータを使用して列に値を割り当てますが、明示的に指定した値を列に割り当てることもできるようになります。

      • Default on Null: それ以降のINSERT文でNULLに評価される値を割り当てようとしたときに、Oracle Databaseはシーケンス・ジェネレータを使用して列に値を割り当てます。

    7. 移動: 以前に入力した列の順序を変更するには、「移動」列のおよび矢印をクリックします。

    8. 列の追加: 別の列を追加するには、「列の追加」をクリックします。

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

    次に、この表の主キーを定義します(オプション)。主キーは、レコードを一意に識別する単一のフィールドまたは複数のフィールドの組合せです。

  7. 「主キー」で適切なオプションを選択し、「次へ」をクリックします。
    1. オプションを選択します。

      • 主キーなし: 主キーは作成されません。

      • 新しい順序から移入: 主キーを作成して、トリガーと順序を作成します。順序は、選択された主キー列を移入するためにトリガーで使用されます。主キーは単一の列のみです。

      • 既存の順序から移入: 主キーを作成して、トリガーを作成します。選択された順序は、選択された主キー列を移入するためにトリガーで使用されます。主キーは単一の列のみです。

      • 移入されていません: 主キーを定義しますが、トリガー内の順序から自動的に値を移入しません。コンポジット主キー(複数の列で構成される主キー)を定義する場合にもこのオプションを選択できます。

      • Oracle Database 12cを実行している場合、アイデンティティ列で移入: 主キーおよび順序を作成します。順序は、選択された主キー列を移入するために使用されます。

    2. 「次へ」をクリックします。

    次に、外部キーを追加します(オプション)。外部キーによって、ある表の列(複数可)と別の表の主キーまたは一意キーとの関係が確立されます。

  8. 外部キーを追加します。
    1. 名前: 定義する外部キー制約の名前を入力します。

    2. 適切なオプションを選択します。

      • 削除を許可しない: この表に依存行がある場合、参照表からの行の削除をブロックします。

      • カスケード削除: 対応する親表内の行が削除された場合に、この表から依存行を削除します。

      • 削除時にNULLを設定: 対応する親表内の行が削除された場合に、この表の外部キー列の値をNULLに設定します。

    3. キー列の選択: 外部キーを構成する列を選択し、「追加」アイコンをクリックして列を「キー列」に移動します。

    4. 参照表: この外部キーが参照する表を選択します。次に、この外部キーが参照する列を選択します。選択後、「追加」アイコンをクリックして、選択した列を「参照される列」に移動します。

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

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

    次に、制約を追加します(オプション)。複数の制約を作成できますが、制約は1つずつ個別に追加する必要があります。

  9. 制約を追加するには:
    1. 制約のタイプ(「チェック」または「一意」)を指定します。

      チェック制約は、表内の1つ以上の列に対する妥当性チェックです。有効なチェック制約に違反している表では、レコードの挿入または更新を行うことはできません。一意制約では、1つの列または複数の列の組合せが一意キーとして指定されます。一意制約を満たすには、指定した列について、表の2つの行が同じ値を持つことはできません。チェック制約は、表内の1つ以上の列に対する検証チェックです。有効なチェック制約に違反している表では、レコードの挿入または更新を行うことはできません。一意制約では、1つの列または複数の列の組合せが一意キーとして指定されます。一意制約を満たすには、同じ表の2つの行を、指定した列に対して同じ値にすることはできません。

    2. フィールドに制約を入力します。一意制約では、一意にする列を選択します。チェック制約では、flag in ('Y','N')のように、チェックする式を入力します。

    3. 「追加」をクリックします。

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

    「確認」ページが表示されます。

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

3.3.2 表の参照

表に関する各種レポートを表示する方法を学習します。

オブジェクト・ブラウザで表を表示すると、表の説明が表示されます。この説明を確認しながら、列の追加、列の変更、列の名前変更、列の削除、表の名前変更、表のコピー、表の削除、表の切捨て、または現行の表の列に基づく参照表の作成ができます。また、関連情報を持つ他のレポートにアクセスすることもできます(この情報とは、表データ、索引、データ・モデル、制約、権限付与、統計、ユーザー・インタフェースのデフォルト、トリガー、依存性、および選択した表を作成するSQLなどです)。

表の説明を表示するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「オブジェクト・ブラウザ」をクリックします。

    「オブジェクト・ブラウザ」が表示されます。

  2. 「オブジェクト」リストから「表」が選択されていることを確認します。
  3. 「オブジェクト選択」ペインから表を選択します。

    表の説明が表示されます。

  4. ページ上部のタブをクリックして、表に関する各種レポートを表示します。

関連項目:

表で使用可能なレポート

3.3.3 表で使用可能なレポート

オブジェクト・ブラウザで表を表示する際に使用可能な代替ビューについて学習します。

表3-1に、表で使用可能なすべてのレポートを示します。

表3-1 表で使用可能なレポート

ビュー 説明

最初の57列の詳細を示します。これには、列名、データ型、NULL値許可のステータス、デフォルト値および主キーが含まれます。表の詳細を確認しながら、列の追加、変更、削除および名前変更ができます。また、参照する表にレコードがない場合にのみ表の削除、名前変更、コピーまたは切捨てができ、参照表の作成もできます。

データをカンマ区切り(.csv)ファイルとしてエクスポートするには、「ダウンロード」リンクをクリックしてください。

データをPortable Document Format (.pdf)ファイルに出力するには、「出力」リンクをクリックします。このオプションでは、レポート・サーバーがインスタンス・レベルで構成されている必要があることに注意してください。Oracle Application Express管理ガイドの「レポート出力の構成」を参照してください。

データ

現行の表のデータのレポートを表示します。実行できる操作は次のとおりです。

  • 問合せ: 列によるソートができます。特定の行を制限するには、「列条件」フィールドに条件を入力します。ワイルドカードにはパーセント記号(%)を使用します。「並替え基準」から、確認する列を選択して「問合せ」をクリックします。

  • 行をカウント: 現行の表の列数のレポートを表示します。

  • 行を挿入: 表に行を挿入できます。

  • ダウンロード: 表のすべてのデータをスプレッドシートにエクスポートします。選択した表のすべてのデータをエクスポートするには、ページ下部の「ダウンロード」リンクをクリックします。

  • 編集: 「編集」アイコンをクリックして行を編集します。

索引

この表に関連付けられている索引を表示します。実行できる操作は、「作成」「削除」です。

モデル

選択した表および関連するすべての表をグラフィカルに表示します。関連する表とは、外部キーで現行の表を参照する表、および現行の表の外部キーで参照されている表です。

下線の付いた表の名前の上にカーソルを置くと、その表と現行の表との関係を表示できます。下線の付いた表の名前をクリックすると、関連する表のモデルが表示されます。

制約

現行の表の制約リストを表示します。実行できる操作は、「作成」「削除」「有効化」「無効化」です。

権限付与

権限受領者、権限、権限付与オプションなど、現行の表に関する権限付与のリストを表示します。このビューで実行できる操作は、「権限付与」および「取消し」です。

統計

行およびブロックの数、平均行長、サンプル・サイズ、データの最終分析日、圧縮ステータス(有効または無効)など、現行の表に関して収集された統計を表示します。「表を解析」ウィザードにアクセスするには、「解析」をクリックします。

UIのデフォルト値

フォームとレポートのユーザー・インタフェースのデフォルト値を表示します。開発者は、ユーザー・インタフェースのデフォルト値を使用して、指定したスキーマ内の表、列またはビューにデフォルトのユーザー・インタフェースのプロパティを割り当てることができます。

定義済のユーザー・インタフェースのデフォルト値を編集するには、「編集」をクリックします。ユーザー・インタフェースのデフォルト値が定義されていない表のデフォルト値を初期化するには、「デフォルト値の作成」をクリックします。

トリガー

現行の表に関連付けられているトリガーのリストを表示します。実行できる操作は、「作成」「削除」「有効化」「無効化」です。

トリガーの詳細を表示するには、トリガー名をクリックします。

依存性

この表によって参照されるオブジェクトおよびこの表のシノニムを示すレポートを表示します。

SQL

この表の再作成に必要なSQLを表示します。キー、索引、トリガーおよび表定義を含みます。

3.3.4 表の編集

オブジェクト・ブラウザで表に対して適切なボタンをクリックして、表を編集します。

表の説明の表示中に、表の説明の上にあるボタンをクリックして表を編集できます。

表を編集するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「オブジェクト・ブラウザ」をクリックします。

    「オブジェクト・ブラウザ」が表示されます。

  2. 「オブジェクト」リストから「表」が選択されていることを確認します。
  3. 「オブジェクト選択」ペインから表を選択します。

    表の説明が表示されます。

  4. 表 3-2に示す該当するボタンをクリックします。

    表3-2「表の編集」ボタン

    ボタン 説明

    列の追加

    列を表に追加します。列名を入力し、型を選択します。列タイプに応じて、列に値が必要かどうか、列長、精度およびスケールを指定します。

    列の変更

    選択した列を変更します。Oracle Database 11g リリース2 (11.2.0.4)以降では、選択されている現在のスキーマにDBMS_REDACTに対する実行権限が付与されている場合、「データ・リダクション」領域が表示されることがあります。

    列名の変更

    選択した列の名前を変更します。

    列の削除

    選択した列を削除します。

    名前の変更

    選択した表の名前を変更します。

    コピー

    選択した表をコピーします。

    削除

    選択した表を削除します。

    切捨て

    選択した表からすべての行を削除します。表を切り捨てると、表を削除し、再作成するよりも効率的な場合があります。表の削除および再作成により、依存オブジェクトが無効になる可能性があり、その場合、オブジェクト権限の再付与や、索引、整合性制約およびトリガーの再作成が必要になります。

    参照表の作成

    選択した列に基づいて参照表を作成します。選択した列は、参照表への外部キーになります。

関連項目:

ごみ箱の使用

3.3.5 表の削除

オブジェクト・ブラウザを使用して表を削除します。

表を削除するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「オブジェクト・ブラウザ」をクリックします。

    「オブジェクト・ブラウザ」が表示されます。

  2. 「オブジェクト」リストから「表」が選択されていることを確認します。
  3. 「オブジェクト選択」ペインから表を選択します。

    表の説明が表示されます。

  4. 「削除」をクリックします。
  5. 確定するには、「終了」をクリックします。

関連項目:

ごみ箱の使用

3.3.6 表からのアプリケーションの作成

「アプリケーションの作成」ボタンを使用すると、アプリケーションの作成ウィザードに、現在の表に基づいてすばやく入力できます。

オブジェクト・ブラウザで表からアプリケーションを作成するには:

  1. オブジェクト・ブラウザで表を選択します。
  2. 「アプリケーションの作成」をクリックします。
  3. 確認ページで、「アプリケーションの作成」をクリックします。
選択した表からのデータが含まれている状態でアプリケーションの作成ウィザードが表示されます。

注意:

エラーが表示され、DDLまたはDMLの変更(表構造または列名の変更など)を行った場合は、データ・ディクショナリ・キャッシュをリフレッシュします。Oracle Application Express管理ガイドデータ・ディクショナリ・キャッシュのリフレッシュを参照してください。

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドアプリケーションの作成ウィザードの使用

3.3.7 表の統計の分析

「統計」タブを使用すると、表の様々なメトリックを調べることができます。

選択した表の統計を表示するには:

  1. オブジェクト・ブラウザで表を選択します。
  2. 「統計」タブをクリックします。
    「統計」タブでは、多数のメトリックが、行分析用の「表統計」と列分析用の列統計に分かれて表示されます。表示される情報は表によって異なります。

表示されている統計をリフレッシュするには:

  1. 次のいずれかのボタンをクリックします。
    • 従来の分析アルゴリズムを使用するには、「解析」をクリックします。
    • 最新の分析方法を使用するには、表統計の収集をクリックします。
  2. プロンプトに従ってダイアログ画面を進めます。
オブジェクト・ブラウザに「統計」タブが再表示されます。

3.3.8 表のサンプル問合せの表示

「サンプル問合せ」タブを表示して、表の内容から導出された一連のサンプル問合せ(外部キーを持つ表に対するサンプル表問合せやサンプル列問合せなど)を確認します。

表の問合せの例を表示するには、次のようにします。

  1. オブジェクト・ブラウザで表を選択します。
  2. 「サンプル問合せ」タブをクリックします。
    「サンプル問合せ」ページが、「表問合せ」および「列問合せ」とともにロードされます。
各問合せには「実行」ボタンがあり、クリックすると実行できます。