開発のためのIntelliJプラグインの使用
IntelliJのOracle NoSQL Database Cloud Serviceインスタンスまたはシミュレータで表を参照し、問合せを実行します。
- 表エクスプローラを使用して、適切な定義のツリー構造で表を表示します。
- 表の列、索引、主キーおよびシャード・キーに関する情報を表示します。
- 列データを適切な形式のJSON構造で表示します。
- フォームによるスキーマ入力を使用して表を作成するか、DDL文を指定します。
- 表の削除
- フォームベースのエントリを使用して新しい列を追加するか、DDL文を指定します。
- 列の削除
- 索引の作成
- 索引の削除
- 表に対してSELECT SQL問合せを実行し、問合せ結果を表形式で表示します。
- DML文を実行して、表のデータを更新、挿入および削除します。
この記事には次のトピックが含まれます:
IntelliJプラグインの設定
Oracle NoSQL Database Cloud Serviceインスタンスまたはシミュレータに対してIntelliJプラグインを設定する方法について学習します。
前提条件として、まずIntelliJ IDEAをインストールする必要があります。IntelliJ IDEAは、JetBrainsからダウンロードできます。
IDE を再起動します。右側のパネルに「スキーマ・エクスプローラ」アイコンが表示されます。
IntelliJプラグインを正常に設定した後、NoSQLプロジェクトを作成し、それをOracle NoSQL Database Cloud Serviceインスタンスまたはシミュレータに接続します。
IntelliJでのNoSQLプロジェクトの作成
IntelliJでNoSQLプロジェクトを作成する方法について学習します。
- IntelliJ IDEAを開きます。「File」→「New」→「Project」をクリックします。
- 「プロジェクト名」および「プロジェクトの場所」の値を入力します。「作成」を選択します。
- ビルド・システムとJDKパスを選択します。
- IntelliJは、サンプルJavaファイルを含むNoSQLプロジェクト・ディレクトリを作成します。ビルド・システムとしてMavenを選択した場合、プロジェクト・ディレクトリにはpom.xmlファイルも含まれます。
- Oracle NoSQLプロジェクトでNotificationsが有効になっていることを確認します。通知を有効にするには、
Alt+\を押してメイン・メニューを開きます。「表示」をクリックし、「ツールWindows」→「通知」を展開します。右側のツール・ウィンドウ・バーに「通知」アイコン
が表示されます。
IntelliJからOracle NoSQL Database Cloud Serviceへの接続
IntelliJプラグインを使用したNoSQLプロジェクトのOracle NoSQL Database Cloud Serviceへの接続方法について学習します
IntelliJからOracle NoSQL Database Cloudシミュレータへの接続
IntelliJプラグインを使用してNoSQLプロジェクトをOracle NoSQL Database Cloudシミュレータに接続する方法について学習します。
Oracle NoSQL Java SDKを使用したIntelliJからのアプリケーションの作成
Oracle NoSQL Java SDKパッケージを使用して、IntelliJプラグインからアプリケーションを作成する方法について学習します。
Oracle NoSQL Database Cloud SimulatorまたはOracle NoSQL Database Cloud Serviceに接続したら、Oracle NoSQL Java SDKを使用してアプリケーションを作成できます。
このトピックでは、Oracle NoSQL Java SDKパッケージ内で使用可能なサンプル・アプリケーションを実行して、Oracle NoSQL Database Cloud SimulatorまたはOracle NoSQL Database Cloud Serviceに表を作成します。
次のステップを実行します:
IntelliJプラグインを使用した表の管理
スキーマ・エクスプローラからOracle NoSQL Database Cloud ServiceまたはOracle NoSQL Database Cloud Simulatorで表を作成し、表データを表示する方法について学習します。
- スキーマ・エクスプローラを探し、
アイコンをクリックしてスキーマをリロードします。 - テナント識別子の下で表を見つけて展開し、その列、主キーおよびシャード・キーの詳細を表示します。「IntelliJからのOracle NoSQL Java SDKを使用したアプリケーションの作成」のトピックの説明に従ってサンプル・アプリケーションを作成した場合は、
audienceData表を参照できます。 - データを表示するには、表名をダブルクリックします。または、表を右クリックして「Browse Table」を選択します。
- メイン・エディタにレコード・ビューア・ウィンドウが表示されます。「実行」をクリックして問合せを実行し、表データを表示します。
- 個々のセル・データを個別に表示するには、セルをダブルクリックします。
IntelliJを使用したDDL操作の実行
IntelliJを使用してDDL操作を実行できます。
CREATE TABLE
- スキーマ・エクスプローラを探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 接続名を右クリックし、「表の作成」を選択します。
- プロンプトで、新しい表の詳細を入力します。Oracle NoSQL Database表は、次の2つのモードで作成できます。
- **シンプルなDDL入力** : このモードを使用すると、表を宣言的に、つまりDDL文を記述せずに作成できます。
- **拡張DDL入力** : このモードを使用すると、DDL文を使用して表を作成できます。
- 作成前にDDL文を表示するオプションがあります。「Show DDL」をクリックすると、単純DDL入力モードのフィールドに入力された値に基づいて形成されたDDL文が表示されます。「Create」をクリックすると、このDDL文が実行されます。
- 「作成」をクリックして、表を作成します。
- 子表を作成するには、目的の表を右クリックし、「子表の作成」を選択します。子表は、次の2つのモードで作成できます。
- **単純なDDL入力**: このモードを使用して、他の必要な詳細とともに表名を入力するだけで子表を作成できます。
- **拡張DDL入力**: このモードを使用すると、DDL文を使用して子表を作成できます。
子表の詳細は、Oracle NoSQL Database Cloud Serviceガイドの表階層を参照してください。
- 「作成」をクリックして、子表を作成します。
- 表の作成後にDDL文を表示するオプションがあります。既存の表を右クリックします。「表DDLの表示」を選択します。DDL文をコピーするには、「クリップボードにコピー」をクリックします。「OK」をクリックしてダイアログ・ボックスを閉じます。
DROP TABLE
- 「Schema Explorer」を探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 削除する表を右クリックします。「テーブルの削除」を選択します。
- 確認ウィンドウが表示され、「Ok」をクリックして削除アクションを確定します。
CREATE INDEX
- 「Schema Explorer」を探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 索引を作成する表を右クリックします。「索引の作成」を選択します。
- 「索引の作成」パネルには、2つのモードで索引を作成するオプションがあります。
- **フォーム・ベースの索引作成(単純なDDL入力)** : DDL文を記述せずに索引を作成するための詳細を入力します。索引の名前および索引に含める列を指定します。列がJSONデータ型の場合は、
JSON Path to Index Fieldという追加フィールドが表示されます。JSONフィールドの場所へのパスを入力し、そのデータ型を選択します。 - **索引をDDL文として作成(拡張DDL入力の場合)**: 索引を作成する有効なDDL文を入力します。複合データ型(配列、マップおよびレコード)を含めることもできます。
- **フォーム・ベースの索引作成(単純なDDL入力)** : DDL文を記述せずに索引を作成するための詳細を入力します。索引の名前および索引に含める列を指定します。列がJSONデータ型の場合は、
- 「索引の追加」をクリックします。
DROP INDEX
- 「Schema Explorer」を探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- リストされた列、主キー、索引およびシャード・キーを表示するには、ターゲット表をクリックします。
- 削除する必要があるtarget-indexを見つけて右クリックします。「索引の削除」をクリックします。
- 確認ウィンドウが表示され、「Ok」をクリックして削除アクションを確定します。
列の追加
- 「Schema Explorer」を探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 列を追加する必要がある表を右クリックします。「列の追加」を選択します。
- 新しいCOLUMNは、次の2つのモードで追加できます。
- シンプルなDDL入力: このモードを使用すると、DDL文を記述せずに新しい列を追加できます。バイナリまたは固定バイナリの場合は、データ型を
Binaryとして選択します。固定バイナリの場合は、Sizeフィールドにファイルのサイズを入力し、バイナリ・データ型の場合はフィールドをnullのままにします。 - 拡張DDL入力: このモードを使用すると、有効なDDL文を指定して表に新しい列を追加できます。このモードでは、複合データ型の列を作成することもできます。たとえば、配列、マップ、レコード、およびネストされた形式です。
- シンプルなDDL入力: このモードを使用すると、DDL文を記述せずに新しい列を追加できます。バイナリまたは固定バイナリの場合は、データ型を
- 両方のモードで、列の名前を指定し、そのプロパティ(データ型、デフォルト値およびNULL値可能かどうか)を使用して列を定義します。
- 「列の追加」をクリックします。
列の削除
- 「Schema Explorer」を探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- リストされた列、主キー、索引およびシャード・キーを表示するには、ターゲット表をクリックします。
- 削除する必要があるターゲット列を見つけて右クリックします。「削除」をクリックします。
- 確認ウィンドウが表示され、「Ok」をクリックして削除アクションを確定します。
Freeze/UnFreezeスキーマ
ノート:
凍結解除操作を実行するには、表のリージョナル・レプリカを削除する必要があります(表はシングルトン表である必要があります)。レプリカの管理
レプリカとは何か、およびリージョナル・レプリカを追加してシングルトン表をグローバル・アクティブ表に変換する方法を理解するには、リージョナル表レプリカを参照してください。
リージョナルレプリカをシングルトンテーブルに追加して、それをグローバルアクティブテーブルにしたり、既存のグローバルアクティブテーブルにレプリカを追加したりできます。レプリカを追加する前に、表を凍結する必要があります。表を右クリックし、「リージョナル・レプリカ」から「レプリカの追加」を選択します。「レプリケーション」リージョンのドロップダウンからレプリカを選択できます。そのレプリケーション・リージョンの表の読取りユニットおよび書込みユニットを決定できます。表のディスク・ストレージ値は、レプリカで変更/編集できません。「レプリカの追加」をクリックします。表がリージョンにレプリケートされます。
表を右クリックし、「リージョナル・レプリカ」から「レプリカの表示」を選択します。表のレプリカのリストを表示できます。
表を右クリックし、「リージョナル・レプリカ」から「レプリカの削除」を選択します。「追加」をクリックし、削除するレプリカを選択します。一度に削除するレプリカを複数選択できます。削除する必要があるレプリカのリストからレプリカを削除する場合は、「削除」をクリックします。「レプリカの削除」をクリックします。確認すると、選択したすべてのレプリカから表が削除されます。
予約済容量の編集
表の予約済容量および使用モデルを編集できます。表を右クリックし、「予約済容量の編集」を選択します。プロビジョニング済容量またはオンデマンド容量の2つの容量モードのいずれかを選択できます。値を編集し、「変更の適用」をクリックします。
- ストレージ容量の変更にはグローバル・スコープがあります(1つのリージョナル表レプリカでの変更は、すべてのリージョナル表レプリカに自動的に伝播されます)。
- 読取りユニット、書込みユニットの変更、または容量モードのオンデマンドからプロビジョニングへの変更、またはその逆にはローカル・スコープがあります(開始されたリージョン表レプリカでのみ変更)。
IntelliJを使用したDML操作の実行
IntelliJプラグインを使用して、表からデータの追加、既存データの変更およびデータの問合せを実行できます。
データを挿入
- スキーマ・エクスプローラを探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 行を挿入する必要がある表を右クリックします。「行を挿入」を選択します。
- 「挿入行」パネルで、新しい行を挿入するための詳細を入力します。新しいROWを2つのモードで挿入できます。
- シンプルな入力: このモードを使用すると、DML文を記述せずに新しい行を挿入できます。ここでは、フォーム・ベースの行フィールドのエントリがロードされ、行のすべてのフィールドの値を入力できます。
- バイナリ・データ型の場合、入力する文字列は、バイナリ値の有効なBase64エンコーディングであるか、目的の列にアップロードするファイルを選択する必要があります。
- 固定バイナリ・データ型の場合、入力される文字列は、バイナリ値の有効なBase64エンコーディングであるか、特定の列の作成時に定義されたサイズのファイルをアップロードする必要があります。
ノート:
バイナリ・データ型用にアップロードするファイル形式には、.bin拡張子のみが必要です。 - 拡張JSON入力: このモードを使用すると、列名と対応する値をキーと値のペアとして含むJSONオブジェクトを指定することで、新しい行を表に挿入できます。入力は、複合データ型(配列、マップ、レコード)でもかまいません。
- シンプルな入力: このモードを使用すると、DML文を記述せずに新しい行を挿入できます。ここでは、フォーム・ベースの行フィールドのエントリがロードされ、行のすべてのフィールドの値を入力できます。
- 「行を挿入」をクリックします。
データの変更- UPDATE ROW/DELETE ROW
- スキーマ・エクスプローラを探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 行を挿入する必要がある表を右クリックします。「Browse Table」を選択します。
- 左側のテキストボックスに、表からデータをフェッチするSQL文を入力します。「実行」をクリックして文を実行します。
- 個々のセルのデータを個別に表示するには、表のセルをクリックします。
- 「更新行」や「削除行」などのDML操作を実行するには、特定の行を右クリックします。表示されたコンテキストメニューからオプションを選択します。
- 「Delete Row」: 確認ウィンドウが表示され、「Ok」をクリックして行を削除します。
-
行の更新: 別のHTMLウィンドウが開き、列名と対応する値が表示されます。行データの新しい値は、フォームベースの行フィールド・エントリ(簡易DDL入力)と行コンテンツをJSONオブジェクトとして提供(拡張DDL入力)の2つのモードで入力できます。拡張DDL入力モードでは、表示および更新を簡略化するためのツリー構造としてJSONデータが表示されます。
「実行」を選択して、更新されたデータをリフレッシュして表示します。
ノート:
任意の行で、PRIMARY KEY列およびGENERATED ALWAYS AS IDENTITY列を更新することはできません。
問合せ表
- スキーマ・エクスプローラを探し、「Refresh」アイコンをクリックしてスキーマをリロードします。
- 表を右クリックし、「Browse Table」を選択します。
- 左側のテキストボックスに、SELECT文を入力して表からデータをフェッチします。問合せの入力を開始すると、SQL文を自動補完する可能性のある単語のリストが表示されます。指定された表のすべてのSQLキーワードおよび列名が、SQL文を自動完了するためのプロンプトに表示されます。
- SQL構文は、より優れたSQL書込みエクスペリエンスを提供するすべての問合せで強調表示されます。
- 読みやすくするために問合せを書式設定できます。問合せを選択し、右クリックして「Prettify」を選択します。クエリーがフォーマットされ、読みやすくするために行がラップされます。
- 「実行」をクリックして、問合せを実行します。対応するデータが表から取得されます。取得したデータをダブルクリックすると、列データが新しいウィンドウで開きます。JSONデータは、新しいウィンドウのツリー構造に表示されます。'+'をクリックして展開するか、'-'をクリックしてツリー構造を縮小します。新しいウィンドウで[Ctrl]+[^F]をクリックして、JSONツリー内の任意の値を検索できる検索オプションを有効にします。上矢印または下矢印をクリックして、それぞれ前または次の検索オカレンスに移動します。
- 任意の行を右クリックし、「JSONのダウンロード」をクリックします。ダイアログ・ボックスで、ファイルを保存する場所にナビゲートして、「保存」をクリックします。ファイルをダウンロードすると、画面の右下に通知が表示されます。リンクをクリックして、ダウンロードしたファイルを開きます。ファイルがブラウザに表示されます。
- バイナリ・データ型の場合は、出力で「バイナリ・オブジェクトのダウンロード」をクリックします。
- 「問合せ結果のダウンロード」をクリックして、問合せ結果のすべてのデータをダウンロードします。ダイアログ・ボックスで、ファイルを保存する場所にナビゲートして、「保存」をクリックします。複数の行の場合、画面右下に進行状況バーが表示され、リアルタイムでダウンロードされた行数が表示されます。ファイルをダウンロードすると、画面の右下に通知が表示されます。リンクをクリックして、ダウンロードしたファイルを開きます。ファイルがブラウザに表示されます。
- 「Show Query Plan」をクリックして、問合せの実行プランを表示します。
- 「Previous Commands」ドロップ・ダウンをクリックして、最近実行されて出力を提供したSQL文の上位20件を表示します。
ノート:
ドロップ・ダウンには、作業中の表に関連するSQL文のみが表示されます。
Schema Explorer
- 「Schema Explorer」ウィンドウで、特定の列の完全なデータ型を確認できます。特定の列を指定すると、データ型の後に列名が表示されます。
IntelliJプラグインの認可要件
IntelliJプラグインを使用するためにOracle NoSQL Database Cloud Serviceで必要な認可要件について学習します。
IntelliJプラグインを使用すると、APIキー認証方式またはセッション・トークン認証方式のいずれかを使用してOracle NoSQL Database Cloud Serviceにアクセスできます。表、表領域、APIなどのOracle NoSQL Database Cloud Serviceのリソースへのアクセスは、Identity and Access Management (IAM)ポリシーによって管理されます。これにより、特定のコンパートメント内の表権限を適切に検査、読取り、使用または管理するグループのメンバーである認証済ユーザーのみが、これらのリソースと対話できるようになります。詳細は、NDCS表へのアクセスの管理を参照してください
IntelliJプラグインを使用してOracle NoSQL Database Cloud Service表の表を管理する場合、有効なIAM権限によって、読取りまたは書込みが可能なリソースが決まります。ユーザーが認可がないアクションを試行すると、IntelliJプラグインは、OCI IAMで指定された対応する認可エラーを返します。
Error executing Insert Row : Authorization failed or requested resource not found (5.4.18)