機械翻訳について

3 ケース・スタディ

次のTeradataのケース・スタディでは、Oracle Databaseゲートウェイの機能の一部が示されています。 ゲートウェイが配布メディアに含まれているデモンストレーション・ファイルを使用して正しくインストールされ、正しく動作していることを確認できます。

デモンストレーション・ファイルは、ゲートウェイのインストール時に自動的にディスクにコピーされます。

トピック:

3.1 ケースの内容

ケースの内容は次のとおりです。

  • 単純な問合せ(ケース1)

  • より複雑な問合せ(ケース2)

  • Teradata表の結合(ケース3)

  • 書込み機能(ケース4)

  • データ・ディクショナリの問合せ(ケース5)

  • パススルー機能(ケース6)

3.2 インストール・メディアの内容

配布メディアには次のものが含まれています:

  • デモンストレーション・ファイル

  • Teradataデータベースにデモ表を作成する1つのSQLスクリプト・ファイル。

  • Teradataデータベースからデモ表を削除する1つのSQLスクリプト・ファイル。

3.3 デモンストレーション・ファイル

ゲートウェイが正常にインストールされたら、$ORACLE_HOME/dg4tera/demoディレクトリに格納されているデモンストレーション・ファイルを使用します。$ORACLE_HOMEは、ゲートウェイがインストールされているディレクトリです。 このディレクトリには、次のデモンストレーション・ファイルが含まれています:

  • bldtera.sql

  • case1.sql

  • case2.sql

  • case3.sql

  • case4a.sql

  • case4b.sql

  • case4c.sql

  • case5.sql

  • case6a.sql

  • case6b.sql

  • droptera.sql

3.4 デモンストレーションの要件

ケース・スタディでは、次の要件が満たされていることを前提にしています。

  • ゲートウェイ・デモンストレーション表は、Teradataデータベースにインストールされます。

  • Oracleデータベースには、TIGERのパスワードを持つSCOTTという名前のアカウントがあります。

  • Oracleデータベースには、GTWLINKというデータベース・リンクがあり(SCOTTにpublicまたはprivateとして設定されています)、ゲートウェイをTeradataデータベースにパスワードTIGER2SCOTTとして接続します。

    たとえば、次のようなデータベース・リンクを作成できます。

    SQL> CREATE DATABASE LINK GTWLINK CONNECT TO SCOTT
      2    IDENTIFIED BY TIGER2 USING 'GTWSID';
    
  • Oracle Net Servicesが正常に構成され、稼働していること

3.5 デモンストレーション表の作成

ケース・スタディは、GTW_EMPGTW_DEPT、およびGTW_SALGRADE表に基づいています。 デモ表がTeradataデータベースに作成されていない場合は、 bldtera.sqlスクリプトを使用して作成します。

このスクリプトは、Teradataデータベースにデモ表を適宜作成します:

CREATE TABLE GTW_EMP (
EMPNO      SMALLINT NOT NULL 
ENAME      VARCHAR(10),
JOB        VARCHAR(9),
MGR        SMALLINT,
HIREDATE   DATETIME,
SAL        NUMERIC(7,2),
COMM       NUMERIC(7,2),
DEPTNO     SMALLINT)
CREATE TABLE GTW_DEPT (
DEPTNO     SMALLINT NOT NULL,
DNAME      VARCHAR(14),
LOC        VARCHAR(13)) 
CREATE TABLE GTW_SALGRADE (
GRADE      REAL,
LOSAL      NUMERIC(9,4),
HISAL      NUMERIC(9,4))

3.5.1 デモンストレーション表の定義

表の定義は、SQL*PLUSのDESCRIBEコマンドで取得した情報を使用してここにリストされています:

GTW_EMP

Name                            Null?    Type
------------------------------- -------- ----
EMPNO                           NOT NULL NUMBER(5)
ENAME                                    VARCHAR2(10)
JOB                                      VARCHAR2(9)
MGR                                      NUMBER(5)
HIREDATE                                 DATE
SAL                                      NUMBER(7,2)
COMM                                     NUMBER(7,2)
DEPTNO                                   NUMBER(5)

GTW_DEPT

Name                            Null?    Type
------------------------------- -------- ----
DEPTNO                          NOT NULL NUMBER(5)
DNAME                                    VARCHAR2(14)
LOC                                      VARCHAR2(13)

GTW_SALGRADE

Name                            Null?    Type
------------------------------- -------- ----
GRADE                                    FLOAT(53)
LOSAL                                    NUMBER(9,4)
HISAL                                    NUMBER(9,4)

3.5.2 デモンストレーション表の内容

Teradata表の内容は次のとおりです:

GTW_EMP

EMPNO ENAME   JOB         MGR   HIREDATE   SAL   COMM   DEPTNO
----- -----   ---         ---   --------   ---   ----   ------
7369  SMITH   CLERK       7902  17-DEC-80   800             20
7499  ALLEN   SALESMAN    7698  20-FEB-81  1600   300       30
7521  WARD    SALESMAN    7698  22-FEB-81  1250   500       30
7566  JONES   MANAGER     7839  02-APR-81  2975             20
7654  MARTIN  SALESMAN    7698  28-SEP-81  1250  1400       30
7698  BLAKE   MANAGER     7839  01-MAY-81  2850             30
7782  CLARK   MANAGER     7839  09-JUN-81  2450             10
7788  SCOTT   ANALYST     7566  09-DEC-82  3000             20
7839  KING    PRESIDENT         17-NOV-81  5000             10
7844  TURNER  SALESMAN    7698  08-SEP-81  1500     0       30
7876  ADAMS   CLERK       7788  12-JAN-83  1100             20
7900  JAMES   CLERK       7698  03-DEC-81   950             30
7902  FORD    ANALYST     7566  03-DEC-81  3000             20
7934  MILLER  CLERK       7782  23-JAN-82  1300             10

GTW_DEPT

DEPTNO DNAME          LOC 
----- -------------- --------
   10 ACCOUNTING     NEW YORK
   20 RESEARCH       DALLAS
   30 SALES          CHICAGO
   40 OPERATIONS     BOSTON 

GTW_SALGRADE

GRADE      LOSAL      HISAL
------     ------     -----
    1        700      1200
    2       1201      1400
    3       1401      2000
    4       2001      3000
    5       3001      9999

3.6 ケース1: 単純な問合せ

ケース1では、次の内容について説明します。

  • 単純な問合せ

  • 日付情報をすべて取り出す単純な問合せ

最初の問合せはGTW_DEPTからすべてのデータを取得し、ゲートウェイが正常に動作していることを確認します。

3.7 ケース2: より複雑な問合せ

ケース2では、次の内容について説明します。

  • SELECTリスト内の SUM( expression )および NVL( expr1, expr2 ) の機能。

  • GROUP BYHAVING句。

この問合せは、月間総経費が$10,000よりも高いGTW_EMPから部門を取得します。

3.8 ケース3: Teradata表の結合

ケース3では、次の内容について説明します。

  • Teradata表間を結合します。

  • サブセレクト

問合せは3つのTeradata表から情報を取得し、従業員を部門名と給与グレードに関連付けますが、平均給与を超える従業員にのみ関連します。

3.9 ケース4: 書込み機能

ケース4は、3つのケースに分かれており、次の内容について説明します。

3.9.1 DELETE文

ケース4aでは、バインド値とサブセレクトについて説明します。 部門20内のすべての従業員と部門30内の1人の従業員WARDが削除されます。

3.9.2 UPDATE文

ケース4bは、単純なUPDATE文の例を示しています。 この例では、従業員に月給が$100与えられています。

3.9.3 INSERT文

ケース4cでは、すべての列について情報を指定しない単純なINSERT文の例を示します。

3.10 ケース5: データ・ディクショナリの問合せ

ケース5はデータ辞書のマッピングを示しています。 "GTW"で始まるTeradataデータベースに存在するすべての表とビューを取得します。

3.11 ケース6: パススルー機能

ケース6は、アプリケーションがTeradataにコマンドまたは文を送信するためのゲートウェイ・パススルー機能を示しています。

このケースでは次の内容について説明します。

  • バインド変数を使用するパススルーUPDATE文。

  • パススルーSELECT文。

3.11.1 UPDATE文

ケース6aは、バインド変数を含むパススルーUPDATE文の例を示しています。 この例では、EMPNO 7934の給与は4000に設定されています。

3.11.2 SELECT文

ケース6bは、パススルーSELECT文の例を示しています。 SELECT文から戻されるデータは、Oracleデータベースのローカル表に挿入されます。