機械翻訳について

SQL インタプリタ

Graph Studioには、ノートブックの段落でSQL文を実行できるSQLインタプリタが用意されています。

SQLインタプリタを使用するには、ノートブックの段落の最初に%sqlを指定し、SQL文を入力する必要があります。 1つの段落で1つのSQL文のみを実行できます。

ヒント:

ノートブックの段落の下部にカーソルを置き、sql_icon「SQL段落の追加」アイコンをクリックして、SQL段落をノートブックに即時に開きます。

現在ログインしているユーザーに対してデータベース接続が確立されます。 たとえば、次のSQL文では、データベースにログオンしたユーザーの名前を取得します。

%sql
-- Get Current user
SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;

次の例は、SQLインタプリタを使用するいくつかのシナリオを示しています。

例: チャートを使用したビジュアライゼーション

ノートブック・パラグラフを使用して、SQL問合せから表形式の出力をビジュアル化できます。 たとえば、特定の顧客が購入した製品を決定する次のSQL問合せは、棒グラフを使用してビジュアル化されます:

%sql
SELECT p.prod_name, count(p.prod_name) AS sold
FROM sh.products p, sh.sales s, sh.customers c
WHERE p.prod_id = s.prod_id AND s.cust_id = c.cust_id AND c.cust_id= 3221
GROUP BY p.prod_name;
sql_viz.pngの説明は以下のとおりです
「図sql_viz.pngの説明」

例: SQLプロパティ・グラフの作成、問合せ、ビジュアル化および削除

Oracle Database 23aiでAutonomous Databaseインスタンスを使用している場合は、SQLインタプリタを使用してSQLプロパティ・グラフを作成、問合せおよびビジュアル化できます。

次のコードでは、CREATE PROPERTY GRAPH DDL文を使用して、ノートブックの段落にSQLプロパティ・グラフを作成します:

%sql
CREATE PROPERTY GRAPH bank_sql_pg
  VERTEX TABLES (
    bank_accounts
      KEY (id)
      LABEL account
      PROPERTIES ALL COLUMNS
  )
  EDGE TABLES (
    bank_txns
      KEY (txn_id)
      SOURCE KEY (from_acct_id) REFERENCES bank_accounts (id)
      DESTINATION KEY (to_acct_id) REFERENCES bank_accounts (id)
      LABEL transfer
      PROPERTIES ALL COLUMNS
  );

SQLグラフ問合せを使用してSQLプロパティ・グラフを問い合せることができます。

%sql
SELECT * FROM GRAPH_TABLE (bank_sql_pg
  MATCH
  (a IS account WHERE a.id = 816) -[e IS transfer]-> (b IS account)
  COLUMNS (a.id AS acc_a, e.amount AS amount, b.id AS acc_b)
);

この問合せの出力は次のようになります。

ACC_A	AMOUNT	ACC_B
816	8781	287
816	6381	590
816	9011	934
816	6890	289
816	4443	812

また、SQLグラフ問合せの出力をビジュアル化することもできます。 SQLグラフ問合せの頂点およびエッジをビジュアル化するには、頂点およびエッジIDを戻す必要があります。 たとえば:

SELECT id_a, id_e, id_b
FROM GRAPH_TABLE ( BANK_GRAPH
MATCH (a) -[e]-> (b)
COLUMNS (vertex_id(a) AS id_a, edge_id(e) AS id_e, vertex_id(b) AS id_b )
) FETCH FIRST 10 ROWS ONLY

前述の問合せのCOLUMNS句では、VERTEX_IDおよびEDGE_ID演算子が使用されています。 SQLグラフ問合せの視覚化出力は次のようになります:



最後に、次のようにDROP PROPERTY GRAPH DDL文を使用して、SQLプロパティ・グラフを削除できます:

%sql
DROP PROPERTY GRAPH bank_sql_pg;

関連項目:

例: PGQLプロパティ・グラフのカスタム・データベース・ビューの作成と使用

もう1つの例として、SQLインタプリタを使用してカスタム・データベース・ビューを作成し、これを使用してプロパティ・グラフを作成します。 この例では、PGQLプロパティ・グラフにのみ適用されます。

SQL段落の次のシーケンスに示すように、データベース・ビューはSHスキーマのSALES表およびCUSTOMERS表に作成されます。 また、ビューの主キー制約および外部キー制約も定義されます。

%sql
CREATE VIEW sh_customers 
AS SELECT cust_id, cust_first_name, cust_last_name, country_id, cust_city, cust_state_province 
FROM sh.customers;
%sql
ALTER VIEW sh_customers
ADD CONSTRAINT shcustomers_id PRIMARY KEY (cust_id) 
DISABLE NOVALIDATE;
%sql
CREATE VIEW sh_sales 
AS SELECT rownum sale_id, cust_id, prod_id, channel_id, promo_id, quantity_sold, amount_sold 
FROM sh.sales;
%sql
ALTER VIEW sh_sales 
ADD CONSTRAINT shsales_id PRIMARY KEY (sale_id) 
DISABLE NOVALIDATE;
%sql
ALTER VIEW sh_sales 
ADD CONSTRAINT shsale_cust_fk FOREIGN KEY (cust_id) 
REFERENCES sh_customers DISABLE NOVALIDATE;

次に、次のデータベース・ビュー(「既存のリレーショナル表からのプロパティ・グラフの作成」を参照)を使用して「PGQLプロパティ・グラフ」グラフを作成し、次に示すようにPGQL (PGX)段落でグラフ・ビジュアライゼーションを実行できます:

例: 表ビジュアライゼーションでのXMLサポート

Graph Studioでは、XMLTypeおよびCLOBデータ型列を使用した表形式データのビジュアル化がサポートされています。 これらの列の結果は解析され、アイテムのツリーとしてレンダリングされます。 表のビジュアライゼーション設定で「XML拡張レベル」を変更することで、レンダリングを変更できます。 デフォルトは1です。