3.3 表での作業

この項では、データベース表を効率的に作成、編集および管理するための包括的なガイダンスを提供します。

次のトピックを取り扱います:

  • 表エディタの使用

    表エディタを使用して、新しい表を作成する方法または既存の表を変更する方法について学習します。このトピックでは、列と制約の指定、キーと索引の管理、記憶域オプションの設定、および表レベルの設定の適用のすべてを、直感的なビジュアル・インタフェース内で行う方法について説明します。

  • データ・インポートの管理

    データを表にシームレスにインポートする方法について学習します。このトピックでは、列のマッピング、データ形式の処理、およびデータの整合性を確保するためのインポート済レコードの検証など、外部データをデータベースに組み込むステップについて説明します。

3.3.1 表エディタの使用

表エディタは、データベース表を効率的に作成および変更するための直感的なインタフェースをユーザーに提供します。

ユーザーは、列の追加、編集または削除や、データ型の指定、主キーおよび一意キーなどの制約の設定によって、表構造を定義できます。索引、外部キーおよび記憶域パラメータの定義などの追加オプションにより、表の包括的なカスタマイズが可能になります。この機能は、わかりやすいナビゲーションにより表管理プロセスを合理化し、進化するデータ要件にあわせて新しい表の作成および既存の表の変更の両方をサポートします。

新しい表を作成するには、「接続」パネルで「表」を右クリックし、「表の作成」を選択します。「表エディタ: 新規」ウィンドウが表示されます。ドロップダウン・リストから「スキーマ」を選択し、「名前」フィールドに表名を入力します。デフォルトでは、新しい表の名前はNEW_TABLEになります。

既存の表を編集するには、「接続」パネルで表名を右クリックし、「編集」を選択します。


table_editor_new.pngの説明が続きます
図table_editor_new.pngの説明

次のセクションで、表の情報を追加または編集できます:

3.3.1.1

このウィンドウでは、表の各列のプロパティを指定できます。

デフォルトでは、「一般」タブが表示されます。

「一般」タブ

このタブでは、列を追加または削除できます。「+追加」をクリックして新しい列を追加するか、「X選択したものの削除」をクリックして選択した列を削除します。また、対応する「PK」チェック・ボックスを選択して列を主キーとして指定、または「ID列」チェック・ボックスを選択してID列として設定できます。リストから列を選択すると、列リストの下に表示されるフィールドを使用して、データ型、デフォルト値、式およびコメントなどのプロパティをカスタマイズできます。

  • 名前: 列の名前。デフォルトでは、新しい列の名前はCOLUMN_1です。列セルをダブルクリックすると、その値を編集できます。
  • データ型: 列のデータ型です。これ以降のほとんどの情報は、型に応じて異なります。
  • サイズ: 文字データの場合に表示されます。列データの最大サイズです。このフィールドは、VARCHAR2データ型が選択されている場合に表示されます。
  • 単位: 文字データの場合に、「サイズ」で表される単位です。バイト数はBYTE、文字数はCHARで表されます。この属性は、各文字を複数のバイトで表すUnicode形式のデータが含まれるデータベースの場合に重要です。このフィールドは、VARCHAR2データ型が選択されている場合に表示されます。
  • 精度: 数値データの場合に表示されます。列データの精度(表現可能な有効桁の合計数)です。このフィールドは、NUMBERデータ型が選択されている場合に表示されます。
  • スケール: 数値データの場合に表示されます。列データのスケール(小数点の後の桁数)です。このフィールドは、NUMBERデータ型が選択されている場合に表示されます。
  • デフォルト: 該当する型に表示されます。行の挿入時に値を指定しない場合、列に挿入されるデフォルト値です。
  • NULLのデフォルト: このオプションを選択すると、列に値が指定されていないときにデフォルト値が挿入されます。
  • : 式を指定すると、ユーザーが列値を直接入力または変更するのではなく、指定したロジックに従って自動的に列値が生成されます。
  • コメント: 列についての任意の説明コメント。

「適用」をクリックして変更を保存します。

「制約」タブ

表の列の制約を表示および編集するには、「制約」タブを選択します。

  • Not Null制約

    列でNULL値を許可しない場合は、列ごとに「NOT NULL」チェック・ボックスを選択します。「NOT NULL名」フィールドにNOT NULL制約のカスタム名を指定することもできます。

  • チェック制約

    追加の検証ルールを追加するには、列を選択し、「チェック制約」セクションを使用して、許可される値の範囲またはパターンを指定するなどのカスタム制約を定義します。指定されたフィールドに制約名およびロジックを入力できます。

  • 追加の制約オプション

    タブの下部では、制約の有効化または無効化、遅延可能としての設定、即時適用するかどうかの決定および検証の有効化によって、制約の動作をさらに構成できます。これらのオプションは、表データに制約を適用する方法およびタイミングを制御するのに役立ちます。

「適用」をクリックして変更を保存します。

「ID列」タブ

このタブでは、通常は主キーなどの一意の識別子に使用される、特定の列の自動値生成を構成できます。このタブでは、開始値、増分ステップ、最小値および最大値、キャッシュ動作、サイクルおよび順序付けなどのオプションを含め、ID値の生成方法を指定できます。

  • 生成: 値がBY DEFAULTまたはALWAYSのどちらで提供されるかを設定するオプション。
  • 開始: 列の初期値。
  • 増分: 生成された値間のステップ・サイズ。
  • 最小値-最大値: 生成される数値の許容範囲。
  • キャッシュおよびキャッシュ・サイズ: 「キャッシュ」では、順序値がキャッシュに事前に割り当てられるので、アプリケーションのパフォーマンスが向上します。「キャッシュ・サイズ」は、キャッシュに事前に割り当てられる順序値の数を示します。「キャッシュなし」では、順序値がキャッシュに事前に割り当てられません。
  • サイクル: 順序が最大値または最小値に達した時点で最初に戻り、番号が再利用されるようにするかどうかを指定します。値の循環を有効にしない場合、順序が最大値または最小値に達した時点で、それ以上の値は生成できません。
  • 順序: 要求された順序で順序番号を生成するかどうかを指定します。「順序なし」を指定する場合、順序番号が要求順になるかどうかは保証されません。

「適用」をクリックして変更を保存します。

3.3.1.2 主キー

このウィンドウでは、表の主キー制約を定義して、各行が一意に識別可能になるようにできます。

主キーには次のものを構成できます:
  • 名前: 主キー制約の名前。
  • 有効化: このオプションを選択した場合、主キー制約が有効になります。
  • 依存: このオプションを選択した場合、制約を依存させることができます。
  • 遅延可能: このオプションを選択した場合、トランザクションがコミットされるまで制約チェックを遅延させることができます。
  • 初期即時: このオプションを選択した場合、制約が即時に適用されます。
  • 検証: このオプションを選択した場合、表内のデータは主キー制約に準拠する必要があります。
  • 索引: このドロップダウン・リストでは、主キー制約に関連付ける既存の索引を選択できます。
  • 表領域: このドロップダウン・リストでは、索引を格納する表領域を選択できます。
  • 使用可能な列および選択した列: これらのリストでは、主キーに含める列を1つ以上選択できます。「使用可能な列」リストから列を選択し、矢印ボタンを使用して「選択した列」リストに移動します。

主キーの構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.3 一意キー

このウィンドウでは、表に一意キー制約を定義して、選択した列の値の組合せがすべての行で常に一意になるようにできます。「+追加」および「X選択したものの削除」ボタンを使用して、一意キー制約を追加または削除できます。

一意キーには次のものを構成できます:
  • 名前: 一意キーの名前。セルをダブルクリックして名前を編集できます。
  • 有効化: このオプションを選択した場合、一意キー制約が有効になります。
  • 依存: このオプションを選択した場合、制約を依存させることができます。
  • 遅延可能: このオプションを選択した場合、トランザクションがコミットされるまで制約チェックを遅延させることができます。
  • 初期即時: このオプションを選択した場合、制約が即時に適用されます。
  • 検証: このオプションを選択した場合、表内のデータは一意キー制約に準拠する必要があります。
  • 索引: このドロップダウン・リストでは、一意キー制約に関連付ける既存の索引を選択できます。
  • 表領域: このドロップダウン・リストでは、索引を格納する表領域を選択できます。
  • 使用可能な列および選択した列: これらのリストでは、一意キーに含める列を1つ以上選択できます。「使用可能な列」リストから列を選択し、矢印ボタンを使用して「選択した列」リストに移動します。

一意キーの構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.4 索引

このセクションでは、表の索引を管理して、問合せのパフォーマンスを向上させることができます。「+追加」および「X選択したものの削除」ボタンを使用して、新しい索引を追加または既存の索引を削除できます。

索引には次のものを構成できます:
  • スキーマ: 索引が作成されるスキーマの名前。
  • 名前: 索引の名前。セルをダブルクリックして名前を編集できます。
  • タイプ: UNIQUE、NON-UNIQUEまたはBITMAPなどの、索引のタイプ。
  • 表領域: 索引が格納される表領域を指定します。
  • 使用可能な列および選択した列: 索引に含める列を1つ以上選択します。「使用可能な列」リストおよび矢印ボタンを使用して列を「選択した列」リストに移動し、順序を整理します。
  • : 索引ロジックを定義する式を指定できます。

索引の構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.5 外部キー

このウィンドウでは、表の外部キー制約を定義して、表の列および別の表の列の関係を確立できます。「+追加」および「X選択したものの削除」ボタンを使用して、外部キー制約を追加または削除できます。

外部キーには次のものを構成できます:
  • 名前: 外部キー制約の名前。セルをダブルクリックして名前を編集できます。
  • 有効化: このオプションを選択した場合、外部キー制約が有効になります。
  • 依存: このオプションを選択した場合、制約を依存させることができます。
  • 遅延可能: このオプションを選択した場合、トランザクションがコミットされるまで制約チェックを遅延させることができます。
  • 初期即時: このオプションを選択した場合、制約が即時に適用されます。
  • 検証: このオプションを選択した場合、表内のデータは外部キー制約に準拠する必要があります。
  • 参照先の制約: 参照する「スキーマ」「表」および「制約」を選択できます。「削除時」アクションを指定して、NO ACTION、CASCADEまたはSET NULLなどの、参照データが削除された場合の動作を定義することもできます。
  • アソシエーション: 表内の「ローカル列」を、関連表の対応する「参照先の列」にマップできます。

外部キーの構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.6 表の制約

このウィンドウでは、チェック制約などの表レベルの制約を定義して、列レベルの制約で実現できる範囲を超えた複雑なルールおよび条件をデータに適用できます。「+追加」および「X選択したものの削除」ボタンを使用して、表制約を追加または削除できます。

表制約には次のものを構成できます:
  • 名前: 表制約キーの名前。セルをダブルクリックして名前を編集できます。
  • 有効化: このオプションを選択した場合、表制約が有効になります。
  • 依存: このオプションを選択した場合、制約を依存させることができます。
  • 遅延可能: このオプションを選択した場合、トランザクションがコミットされるまで制約チェックを遅延させることができます。
  • 初期即時: このオプションを選択した場合、制約が即時に適用されます。
  • 検証: このオプションを選択した場合、表内のデータは表制約に準拠する必要があります。
  • チェック条件: 表内のすべての行で満たす必要がある式または条件を指定します。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。

表制約の構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.7 コメント

このウィンドウでは、表に関する追加の説明コメントを入力できます。

3.3.1.8 記憶域

このウィンドウでは、データ管理およびパフォーマンスを最適化するために、表の記憶域関連オプションを構成できます。

次の記憶域オプションを構成できます:
  • 組織: ヒープ、索引または外部など、表の組織タイプ。
  • 表領域: 表の表領域を選択できます。
  • ロギング: 表のロギングを有効または無効にすることで、表への変更がリカバリのためにREDOログに記録されるかどうかが決まります。
  • 行のアーカイブ: 表に対して行レベルのアーカイブが有効かどうかを示します。

記憶域の構成が完了したら、「適用」をクリックして変更を保存します。

3.3.1.9 DDL

このウィンドウでは、表に関連付けられているデータ定義言語(DDL)文を表示および管理できます。

「DDL」タブには、すべての制約および関係を含め、表構造を作成または変更するために必要なSQLコードが表示されます。「作成」タブおよび「更新」タブを切り替えて、表を最初から作成するためのスクリプト、または現在の変更に基づいて更新するためのスクリプトを表示できます。

出力で強調表示されているものなど、エラーまたは欠落している定義は、変更を適用する前に対処する必要があります。DDL文を確認して正しいことを確認したら、「適用」をクリックしてデータベースに変更を実装します。

3.3.1.10 出力

このウィンドウでは、表への変更の適用時に生成されたメッセージ、エラーおよびログなど、実行された操作の結果を表示できます。

「出力」タブには、操作が失敗した場合の詳細なエラー・レポートおよびOracleエラー・コードとともに、トラブルシューティングのための関連ドキュメントへのリンクが表示されます。実行中に発生した問題または構文エラーはここに表示されるので、問題の診断、エラーの原因の把握および修正措置の実施が容易になります。変更を再適用する前に、これらのメッセージを確認して問題を解決してください。エラーに対処したら、「適用」をクリックして変更を保存します。

3.3.2 データ・インポートの構成および管理

この機能により、カンマ区切り値(CSV)、タブ区切り値(TSV)またはその他の類似する形式の区切りファイルから、データをデータベースにインポートできます。新しい表を作成するか、既存の表に移入するかを柔軟に選択でき、データ・インポートのニーズに合わせて様々な構成オプションを指定できます。



データ・インポート・ワークフローには、次のステップが含まれます:
  1. データのプレビュー: インポートする前に、ソース・ファイルのデータをレビューおよび検証します。
  2. インポート方法の選択: データのインポート方法を選択します。
  3. 列の選択: ソース・データからインポートする列を選択します。
  4. 列メタデータの定義: 列定義、データ型およびその他の属性を指定するか調整します。
  5. インポートの要約: 選択内容のサマリーをレビューし、インポート構成を確認してから続行します。

3.3.2.1 表へのデータのインポート

次のステップを実行して、データを表にインポートします:
  1. 「接続」パネルで、データベース接続の下にある「表」を右クリックし、「インポート」を選択してデータを新しい表に追加します。
    データを既存の表にインポートするには、対応する表を右クリックして「インポート」を選択します。

データのプレビュー

「データ・プレビュー」ページでは、インポートするデータのプレビュー表示に影響を与えるプリファレンスを指定できます。

  1. データ・ソースを選択します。コンピュータからアップロードする「ローカル・ファイル」を選択します。
  2. 「参照」をクリックして、インポートするファイルを選択します。たとえば、.csv、.tsvまたは区切りファイルです。
  3. 必要に応じて、次の構成を変更します:
    • 形式: インポートするデータが含まれているファイルの形式を選択します。たとえば「CSV」(カンマ区切り値)、「区切り」(デリミタで区切られた値)または「テキスト」(タブ区切り値)があります。
    • デリミタ: 列を区切る文字を選択します。たとえば、, (カンマ)、| (パイプ)、; (セミコロン)などです。
    • 左囲み: フィールド値を囲む文字を選択します。たとえば、二重引用符(")、一重引用符(')、開きカッコ(()、開き中カッコ({)および開き大カッコ([)などです。
    • 右囲み: フィールド値を囲む文字を選択します。たとえば、二重引用符(")、一重引用符(')、閉じカッコ())、閉じ中カッコ(})および閉じ大カッコ(])などです。
    • エンコーディング: インポート対象のデータのエンコーディングに使用される文字セットを選択します。たとえば、UTF-8、UTF-16、UTF-16LEなどです。
    • 行の終了文字: 改行に使用する文字を選択します。
    • 行スキップ順序: インポート対象より前の行、または特定のポイントより後の行をスキップするかどうかを選択します。
    • 行のスキップ: スキップする最初の行数を入力します。
    • プレビューする行数の上限:プレビューする行数を入力します。
    • ヘッダー: プレビューにヘッダーを表示するには、このチェック・ボックスを選択します。

    ノート:

    「状態のリストア」ボタンを使用すると、以前に保存したインポート状態をリストアし、保存したすべての構成および設定を再適用できます。この機能により、同じパラメータを使用してインポートを再開または繰り返すことが容易になるため、インポート・プロセスを合理化できます。
  4. 「プレビュー」をクリックします。
    アップロードされたファイルの内容が「ファイルの内容」セクションに表示されます。
  5. 「次」をクリックします。

インポート方法の選択

「インポート方法」ページでは、ローカル・ファイルからデータをインポートする方法を指定します。

  1. 「インポート方法」リストで、「挿入」を選択します。
  2. データを新しい表にインポートする場合は、「表名」フィールドに表名を入力します。
    既存の表にインポートする場合は、このフィールドに表名が自動移入されます。
  3. インポートする行数を制限するには、「インポートする行数の上限」チェック・ボックスを選択し、付随するフィールドに目的の値を入力します。
  4. 「次」をクリックします。

列の選択

「列の選択」ページでは、データ・セットから特定の列を選択し、必要な順序で配置できます。

  1. 特定の列のみをインポートする場合は、「使用可能な列」リストから列を選択し、矢印ボタンを使用して「選択した列」リストに移動します。
    リストに選択済の列のインポート操作順序を変更するには、その列を選択して上矢印ボタンおよび下矢印ボタンを使用します。
  2. 「次」をクリックします。

列メタデータの定義

列定義ページでは、データ・インポート用のデータベース表の列に関する情報を指定できます。外部ファイルから表定義を取得する場合は、データ・インポート・プロセス中に作成される宛先表の任意の列の属性を変更できます。既存の表にデータをインポートする場合、列定義のステップは、新規表に使用されるプロセスとは異なります。インポートされたファイルの各ソース列を、表にすでに存在するターゲット列にマップする必要があります。

  1. 「ソース・データ列」の各列について、必要に応じてその属性を変更できます。
    これには、名前、データ型、サイズ/精度、スケール、デフォルト値、コメントなどのプロパティ、および列がNULL値を許可する必要があるかどうかが含まれます。各列で使用可能な属性フィールドは、列のデータ型によって異なる場合があります。
  2. 「次」をクリックします。

インポートの要約

「インポート・サマリー」ページには、インポート・プロセスを実行する前のインポート構成の最終的な概要が表示されます。

  1. すべての選択内容および設定をレビューして、正しいことを確認します。

    このサマリーには、宛先接続、ロードされる表、ファイル・プロパティ、インポート用に選択されたフィールドおよびインポート方法のオプションの詳細が含まれます。

    「状態の保存」ボタンを使用して、現在のインポート設定を保存できます。これにより、すべての構成設定、データ・プレビュー・オプション、インポート方法の選択、列選択および列定義のオプションが取得されます。

  2. 「終了」をクリックして、サマリー設定に基づいてインポートを開始します。
    ファイルのインポート時に、データが予期される形式と一致しない場合、エラーが発生する可能性があります。たとえば、NUMBERとして定義された列に文字列値が含まれているとします。このような場合、システムはユーザーに通知し、続行方法を選択できるようにします。以下のオプションが表示されます:
    • 続行: エラーを含む行をスキップし、残りのデータのインポートを続行します。
    • すべて無視: 残りのインポート操作で後続のすべてのこのタイプのエラーを無視し、問題のある行を自動的にスキップします。
    • 取消: インポート・プロセスをただちに中止し、それ以上のデータをインポートしません。

    前のステップに戻り、変更を加えるには、「戻る」を使用します。インポート・プロセスを中断するには、「取消」をクリックします。