20
日揮情報システム株式会社 Embarcadero Rapid SQL Embarcadero Rapid SQL Embarcadero Rapid SQL Embarcadero Rapid SQL を使用した を使用した を使用した を使用した 再使用可能な 再使用可能な 再使用可能な 再使用可能な Oracle SQL Oracle SQL Oracle SQL Oracle SQL PL/SQL PL/SQL PL/SQL PL/SQL データベース データベース データベース データベース ユーティリティの構築 ユーティリティの構築 ユーティリティの構築 ユーティリティの構築

PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

日揮情報システム株式会社

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用したを使用したを使用したを使用した

再使用可能な再使用可能な再使用可能な再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL とととと

PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

Page 2: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL

とととと PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

Copyright © 2000 JGC Information Systems, Co., Ltd. All rights reserved.

DBArtisan、Rapid SQL は米国 Embarcadero Technologies, Inc.の登録商標です。

他の商標は各社の商標あるいは登録商標です。

Page 3: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

目次目次目次目次

Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................1111 より多くの作業を効率的に実行できるツール群 ..................................................................... 1 データベースの設計......................................................................................................... 1 データベースの開発......................................................................................................... 1 データベースの管理......................................................................................................... 2

SQLSQLSQLSQL データベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンス................................................................................................................................................................................................................................................................................................................3333 SQL とストアド プロシージャ .............................................................................................. 3 SQL とストアド プロシージャ コードの再利用 ....................................................................... 4 データベース アクセスのカプセル化 .................................................................................. 4 SQL 開発ツールの現状 .................................................................................................... 4 Rapid SQL - 特徴 ......................................................................................................... 5 SQL スクリプトの管理とストアド プロシージャ開発 ................................................................. 7

SQLSQLSQLSQL ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」 vs. vs. vs. vs.「スクリプティング」「スクリプティング」「スクリプティング」「スクリプティング」 ................................................................................................................................................................................................................................................................................................................8888 実用的な SQL、PL/SQL スクリプト、プロシージャの購入 ........................................................ 8 Rapid SQL の生産性向上機能 ........................................................................................... 9 オブジェクトをプロジェクトへリバース エンジニアリング..........................................................14 e-ビジネスに使用する再利用可能なコードの構築................................................................15 Rapid SQL と e-ビジネス ..................................................................................................15

まとめまとめまとめまとめ .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 16161616

参考文献参考文献参考文献参考文献 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 17171717

Page 4: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 1

Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.Embarcadero Technologies, Inc.

より多くの作業を効率的に実行できるツール群より多くの作業を効率的に実行できるツール群より多くの作業を効率的に実行できるツール群より多くの作業を効率的に実行できるツール群

Embarcadero 社は、DBA、設計者、開発者、プログラマーが、より多くの作業を、より短時間で行える、デ

ータベース生産性向上ツールを開発しています。すべての Embarcadero 社のソリューションは、直感的で

使いやすいインターフェイス、エンタープライズ レベル機能の追加、すべてのエンドユーザーのために

十分な有用性や測定可能な生産性の向上など、高い評価を受けている製品アーキテクチャを共有して

提供しています。Embarcadero 社が、現在提供しているソリューションは以下のとおりです。

データベースの設計データベースの設計データベースの設計データベースの設計

• ER/Studio:

高性能なデータベースやデータ ウェアハウスの設計、構築、メンテナンスを支援します。

データベースの開発データベースの開発データベースの開発データベースの開発

• Rapid SQL:

Oracle、SQL Server、Sybase、DB2UDB に存在しているデータベースの作成、デバッグ、バージョン

管理、チューニング、配備を支援します。

• Rapid SQL PL/SQL Debugger:

ストアド プロシージャ、ファンクション、パッケージ、トリガーなど Oracle のプログラム可能なオブジェ

クトをデバッグします。

• Rapid SQL PL/SQL Profiler:

PL/SQL コードのパフォーマンス障害を検出、分離します。

Page 5: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 2

データベースの管理データベースの管理データベースの管理データベースの管理

• DBArtisan:

分散型データベースのメンテナンス、パフォーマンス、有用性などの管理を支援します。

• DBArtisan Change Manager:

複数のプラットフォームにおいて、アプリケーションのデータベース スキーマをメンテナンスする際

の、複雑でエラーを起こしやすいタスクの自動化と合理化を行います。

現在、日本では販売しておりません。

• DBArtisan PL/SQL Debugger:

ストアド プロシージャ、ファンクション、パッケージ、トリガーなど Oracle のプログラム可能なオブジェ

クトのデバッグを支援します。

• DBArtisan PL/SQL Profiler:

PL/SQL コードのパフォーマンス障害を検出、分離します。

この白書では Rapid SQL を中心に扱いますが、Rapid SQL がどのように他の Embarcadero ツールと統合

するかについても説明します。この白書で使用する例は、別の Embarcadero 社の白書 『Embarcadero 製

品を使用したインターネット対応データマートの開発』 で説明されているデータマート データベースを基

にしています。

Page 6: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 3

SQLSQLSQLSQL データベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンスデータベースとアプリケーションの構築およびメンテナンス

SQLSQLSQLSQL とストアドとストアドとストアドとストアド プロシージャプロシージャプロシージャプロシージャ

Structured Query Language(SQL)は、データベース アクセスの中心であり、SQL RDBMS の定義、管

理、アクセスおよび操作を行う場合の定義言語です。しかし、各 RDMS ベンダーの SQL が同等に作成さ

れているわけではなく、ベンダーは ANSI 92 SQL 仕様から離れ、SQL の異なる「特色」をサポートする傾

向にあります。SQL はセット指向であり、1 度に 1 つのデータ セットを操作するように設定されています。

ストアド プロシージャは、ベンダー固有の手続き

型プログラミングかスクリプト言語を使用して開発

されます。このプロシージャを使用して、手続き

型プログラムに SQL コマンドを埋め込むことがで

きます。商取引はかなり複雑で様々な SQL ステ

ートメントを含む傾向があり、複雑な手続き型構

造やエラー処理が必要となるので、この手続き型

プログラムは重要です。現在のところ、ストアド

プロシージャには公式な仕様はないので、各ベ

ンダーに特化しているストアド プロシージャは異

なっています。新しい基準として浮上してきたの

は SQLJ で、SQL が埋め込まれた Java 言語の変

形です。すべての SQL RDBMS ベンダーがこの基準の採用や採用自体を検討しているわけではありませ

ん。しかし Embarcadero 社の製品は、各ベンダーの新しいストアド プロシージャの基準に対応するよう開

発が続けられています。

Rapid SQL を使用して、Oracle、Sybase、Microsoft SQL Server、IBM DB2UDB の全 SQL ストアド プロシ

ージャを、同じ開発 IDE 内で同時に作業できます。この白書では、例として Oracle PL/SQL を使用しま

す。

Page 7: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 4

SQLSQLSQLSQL とストアドとストアドとストアドとストアド プロシージャプロシージャプロシージャプロシージャ コードコードコードコードの再利用の再利用の再利用の再利用

SQL とストアド プロシージャ コードは本来オブジェクト指向でありませんが、オブジェクト指向の手法によ

り SQL とストアド プロシージャを記述することができます。ストアド プロシージャを使用してすべてのデー

タベース アクセス ルーチンをカプセル化し、作成したストアド プロシージャの入力/出力パラメータを発

行することができます。

Oracle PL/SQL は、パッケージの仕様と本体を共にサポートします。パッケージ仕様はインターフェイス

定義であり、実際のパッケージ プロシージャ コードはパッケージ本体に格納されています。無名

PL/SQL プロシージャを作成することはできますが、このドキュメントにおけるほとんどの例は、PL/SQL パ

ッケージ内のすべてのプロシージャを含んでいる 適なコーディング基準に従っています。JavaやC++の

プログラマーは、どのクラスでもストアド プロシージャにアクセスすることができます。Java を使用すれば、

JDBC Callable Statement クラスで同様のことができます。この場合、「カーソル変数」を使用して PL/SQL

ストアド プロシージャをコーディングしなければなりません。詳細については、この白書の「参考文献」に

記載の PL/SQL に関する著書の1つを参照してください。

データベースデータベースデータベースデータベース アクセスのカプセル化アクセスのカプセル化アクセスのカプセル化アクセスのカプセル化

カプセル化とは「隠す」という意味の間接的表現です。SQL とストアド プロシージャの場合、C++や Java

開発者からデータベース アクセスの詳細を隠すことができます。仕様(クラス定義)を発行し、既に使用さ

れている同じパラダイムを使用して開発者はデータベ-スにアクセスします。つまり、SQL 開発者を C++

や Java開発者にするのではなく、またC++や Java開発者を SQLデータベースのエキスパートにさせるの

でもありません。大きな利点は、データ アクセスのカプセル化によってセキュリティ モデルを改良するこ

とにあります。低レベルのすべての処理およびセキュリティの詳細を開発者から隠すことができます。

SQLSQLSQLSQL 開発ツールの現状開発ツールの現状開発ツールの現状開発ツールの現状

SQL リレーショナル データベース管理ソフトウェアの各ベンダーは、データベース サーバー ソフトウェ

アとともに、いわゆる基本的な SQL スクリプト ツールを提供しています。これらのほとんどは非常に基本

的なもので、1980 年代の Command Line Interpreters(CLI)と呼ばれる、ビルトインの機能が限定されたラ

イン モード エディタです。

CLI は SQL やストアド プロシージャ スクリプト、プログラムの実行には問題ありませんが、実際の SQL や

ストアド プロシージャの開発には適しません。また、SQL やストアド プロシージャ ファイル、一時出力ワ

ーク ファイルの混乱を招き、管理されない部分を広げることにもなります。通常これらの SQL ファイルは、

開発者のクライアント PC、LAN ベースのファイル サーバー、データベース サーバー上などの様々な場

所に点在してしまうことが多く、ソースコードの制御と管理は煩雑になりがちです。

Page 8: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 5

Rapid SQL Rapid SQL Rapid SQL Rapid SQL ---- 特徴特徴特徴特徴

Embarcadero 社は、SQL やストアド プロシージャのスクリプトとプログラミングを次のレベルへと導きます。

Rapid SQL は、プロフェッショナルな SQL やストアド プロシージャ開発者のための本格的な統合開発環

境(IDE)です。Rapid SQL の特徴は以下のとおりです。

• すべての SCS/RCCS システムと互換性のあるソースコード管理インターフェイス

• クエリー「停止」機能

• SQL とストアド プロシージャをサポート

• Oracle、Sybase、SQL Server、DB2 UDB5 のクロス データベース プラットフォーム

• RDBMS ネイティブ接続、または ODBC 接続を使用

• すべてのオブジェクト タイプの依存状態を分析

• マルチスレッド、マルチデスクトップ機能による同時作業セッションをサポート

• 複数のスクリプト ウィンドウ、ブラウザ ウィンドウ、結果ウィンドウ

• マウスまたはキーボードによるデスクトップの切り替え

• 作業環境のカスタマイズ

• ドラッグ アンド ドロップによるスクリプティング

• シングル クリックによるスクリプトの作成

• オブジェクト ブラウザ ウィンドウからの DDL の抽出

• 設定可能なコマンド再呼び出し機能

• 意図しない変更を防ぐための読み込み専用モード

• サポートするすべてのプラットフォームのオンライン リファレンスを提供する SQL 構文貼り付け機能

• クエリー実行計画のグラフィカルな表示

• Oracle DBMS_OUTPUT

• Sybase と Microsoft の Execute Option

• 20 億行に及ぶ大量の結果セットをサポート(クライアント ワークステーションのメモリ制約に依存しま

す)

• 設定可能/再使用可能な結果セット ウィンドウ

Page 9: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 6

• 結果セット ウィンドウの切り離し

• Undo/Redo 機能

• 結果セットをスクリプトに添付、または添付せずに、別のウィンドウに表示

• 検索と置換ウィンドウ

• ステップ実行 - ステップ、ステップ バック、ステップ オーバー、カーソル実行

• 自動エラー検出ポインタ

• 編集ウィンドウの分離

• 不一致なカッコの組み合わせを自動的に検索

• 複数のブックマークを設定

• 行番号付け

• 「Favorite スクリプト」の階層的ナビゲーション

• Excel、TAB、CSV、HTML へ結果セット データを保存

• MAPI の対応の E-mail システムを経由して、クエリー結果を送信

• Non-Model のインターフェイス

• オブジェクト モデルの発行

• データベース オブジェクトのプロジェクトへのリバース エンジニアリング

• SQL および PL/SQL の自動フォーマット

• HTML レポート

• オンライン HTML ベースのヘルプ システム

• 200 年問題対応

• ファイルの検索/正則表現

• ツールバー メニューのカスタマイズ

Page 10: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 7

SQLSQLSQLSQL スクリプトの管理とストアドスクリプトの管理とストアドスクリプトの管理とストアドスクリプトの管理とストアド プロシージャ開発プロシージャ開発プロシージャ開発プロシージャ開発

DBA やアプリケーション開発者は、これまで作成した物と同様の SQL やストアド プロシージャを何回も作

成してきました、これは驚くべき事です。つまり、今までは再利用可能な SQL とストアド プロシージャ コ

ードの開発プロセスの管理を手助けするツールはほとんど無かった為です。これは、データベース開発

のプロフェッショナルが、ソフトウェア エンジニアリングに相当する同一のコード管理を必要とする場合に

直面する非常に大きな問題点といえます。

Rapid SQL では、SQL とストアド プロシージャを含むプロジェクトを作成することができます。データベー

ス オブジェクトやファイル ベースのスクリプトを、Rapid SQL のプロジェクトにリバース エンジニアリング

することもできます。つまり、1 つのツールから、既に書き込んだすべてのストアド プロシージャの管理を

開始することができるのです。Rapid SQL は、Intersolv PVCS、Microsoft Visual Source Safe などのソース

コード管理システムと互換性を持っています、C++、Visual Basic、または Javaコードの管理と同じ方法で、

SQL とストアド プロシージャの管理を開始する事が可能になります。

Rapid SQL には、 適なコードを書き込んだかを

認識するためのコード アナライザがあります。し

かし、このような強力な機能を使用しても、Rapid

SQL は(それ自身では) 適なプログラミングの

方法をユーザーに提供し続けることはできませ

ん。 適な SQL とストアド プロシージャ コードを

記述する方法に関しては、多くの書籍がありま

す。詳細については、この白書の「参考文献」を

参照してください。たとえば、Oracle PL/SQL スト

アド プロシージャを 適に管理したい場合、統

一した命名基準とコーディング スタイルを採用

し、パッケージ内すべてのプロシージャの書き込

みから開始してください。O'Reilly 社発行の Steve Feuerstein による PL/SQL に関する書籍、または

Oracle Press 社発行の Scott Urman による書籍には、いくつかの役に立つヒントが収められています。

Page 11: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 8

SQLSQLSQLSQL ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」ユーティリティの構築と「ライブラリ」 vs. vs. vs. vs.「スクリプティング」「スクリプティング」「スクリプティング」「スクリプティング」

DBA またはアプリケーションの開発者/プログラマーであれば、SQL とストアド プロシージャのスクリプトを

現在は様々な場所に保存していると思います。また、ファイル システム全体に、おそらく様々な一時出力

ワーク ファイルがあり、これらのファイルについては、いつか削除/移動しようと考えていると思います。ま

た、記述しようとしている SQL スクリプトが、既に他人によって開発されているとという可能性があったのか

もしれません。また、何種類かのソースコード コントロール システムを使用するというアイデアを、真剣に

考えておらず、記述する SQL およびストアド プロシージャ スクリプトが「即席のスクリプト」であるので、い

つまでもその管理を引き延ばしていたのかもしれません。

データベース システムとアプリケーションのアーキテクチャにおいて、SQL とストアド プロシージャ スクリ

プトが価値のあるコンポーネントとして認識される必要があります。頻繁に使用するスクリプトとプロシージ

ャをすべて取り込み、それらを汎用化することにより再使用が可能になり、 終的には C++または Java ア

プリケーションの記述に戻り、クラス、メソッド、ファンクションのように SQL とストアド プロシージャを呼び出

すことを考慮するべきでしょう。また、SQLとストアド プロシージャ スクリプトからAPI、ユーティリティ、他の

コンポーネントを記述することも考慮しなければなりません。

実用的な実用的な実用的な実用的な SQLSQLSQLSQL、、、、PL/SQLPL/SQLPL/SQLPL/SQL スクリプト、プロシージャの購入スクリプト、プロシージャの購入スクリプト、プロシージャの購入スクリプト、プロシージャの購入

Rapid SQL には無償の SQL ライブラリが添付され

ており、ストアド プロシージャはそのライブラリを、

Rapid SQL インストール ディレクトリの中の

DBAScrpt サブディレクトリで検索します。たとえ

ば、embarcadero\dbascrpt\oracle\schema サブ

ディレクトリの中にある Tblspace.sql スクリプトなど

です。

SQL とストアド プロシージャ スクリプトやプログラ

ムが格納されている CD が添付されている書籍が

多く販売されています(詳細については、この白

書の「参考文献」を参照してください)。また、この

トピックについて詳細に、または簡単に説明している Web サイトやニュース グループも多くあります。つま

り、実行しようとしていることが、おそらく既にコード化され、テストされ、製品に使用されているなら、なぜ

再度考案する必要があるのでしょうか。これらのリソースを詳しく調べ、Rapid SQL を使用して頻繁に使用

するスクリプトの開発と管理を再考してみてください。

Page 12: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 9

Rapid SQLRapid SQLRapid SQLRapid SQL の生産性向上機能の生産性向上機能の生産性向上機能の生産性向上機能

Rapid SQLでコードを作成、管理する場合、プロフェッショナルなリレーショ

ナル データベース開発者が実際に必要なことは何でしょうか。簡単に言

えば、毎日直面する複雑なタスクを迅速に片付けるための生産性向上機

能が、開発者の開発環境に備わっていなければならないということです。

幸いにも、Rapid SQL には SQL 開発者の要望がすべて含まれています。

• プロジェクトへのリバース エンジニアリング:

すべてのファイル ベースのスクリプトを取り込み、スクリプトと DB からリバース エンジニアリングした

SQL スクリプトを組み合わせ、プロジェクトを構築します。マウスを数回クリックするだけで、拡散され

ている SQL および PL/SQL スクリプトを集中管理された 1 つの場所に格納します。これらのスクリプ

トは業界標準の SCCS プロジェクト(Embarcadero の.epj ファイル)に格納されるので、よく使われる

SCCSベースのソースコード管理ツールである Intersolv PVCS、Microsoft Visual Source Safeを使用

して、これらのスクリプトにアクセスし管理することができます。

• Favorite スクリプト:

頻繁に使用するスクリプト リストを 1 回のマウス クリックで自動的にオープン、編集、実行できます。

これは、ほとんどの Web ブラウザにあるブックマークとよく似た機能です。

• ファイル内の検索:

「grep」のようなユーティリティで、ファイル内の

指定した文字列を検索できます。

文字列が検索された場合、ステータス メッセ

ージをダブルクリックすれば、自動的にそのフ

ァイルの編集を開始できます。

• SQL 構文式ビルダ:

頻繁に使用する SQL の本から、SQL 文の検

索をときどき行う場合には、この機能が便利で

しょう。この機能は、本質的には正しい SQL

「テンプレート」で開始されるオンライン SQL リ

ファレンスです。

また、[新規]メニュー項目またはボタンをクリ

ックした場合に表示されるダイアログ ボックス

を使用して、新しいデータベース オブジェク

トを作成することもできます。

幸いにも、幸いにも、幸いにも、幸いにも、Rapid SQLRapid SQLRapid SQLRapid SQL

にはにはにはには SQLSQLSQLSQL 開発者の要開発者の要開発者の要開発者の要

望がすべて含まれてい望がすべて含まれてい望がすべて含まれてい望がすべて含まれてい

ますますますます

Page 13: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 10

• データソースの検索:

Rapid SQL は、接続するデータソースを自

動的に登録することができます。Rapid

SQL を起動するたびにデータソースに自

動的に接続することもできます。

• ブレーク ポイント デバッガ:

重要な PL/SQL コードのロジック上の問題

を発見するためには絶対に必要な機能で

す。

• セット オプション:

ユーザーのニーズに適した様々なオプショ

ンを設定することができます。たとえば、す

べての SQL コマンドをログ ファイルに記録

することができます。

また、出力結果ウィンドウの動作を設定する

ことができます。連結されたウィンドウに複数

結果のタブをつけるか、個別のウィンドウに

出力を表示します。

複数の連結されていないウィンドウ フォーマット

での例を左図に示します。

Page 14: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 11

• データベース検索:

データベース オブジェクトに存在す

る文字列を検索することができます。

• Visual Diff:

ファイルとファイルの比較、ファイルと

データベース オブジェクトの比較を

することができます。

Page 15: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 12

• コード分析:

コードについての有用な統計をリストしたレポートです。以下にその例を示します。

***MODULE BREAKDOWNDDL statements: N/AStand-alone procedure: 0Stand-alone functions: 0Package specifications: 0Package bodies: 1***PACKAGE BODY Contents:Functions: 0Procedures: 0Constants: 0Variables: 8Exceptions: 0TYPE statements: 0***SQL Content AnalysisImplicit (SELECT INTO) queries: 0DELETE statements: 0INSERT statements: 0UPDATE statements: 0Cursor FOR loops using defined cursor: 0Cursor FOR loops using immediate SELECT: 0Explicit cursor OPENs: 3Explicit cursor CLOSEs: 0Maximum number of items in a SELECT list: 2***BUILD-IN PACKAGES Utilized:DBMS_SQL, DBMS_OUTPUT***PROCEDURAL Content AnalysisMaximum number of nested IF levels: 0nested LOOP levels: 1GOTO statements: 0Maximum number of RETURN statements in a function: 0RETURN statements in all procedures: 0EXIT statements in FOR loops: 0EXIT statements in WHILE loops: 0RETURN statements in FOR loops: 0RETURN statements in WHILE loops: 0Functions with OUT or IN OUT Parameters: 0Cursors defined without parameters: 3Procedures declared without parameters: 0Functions declared without parameters: 0Maximum number of parameters in program units and cursors: 4Local procedures and functions: 0Exception initializations (EXCEPTION_INIT) : 0***PL/SQL VERSION Dependenciesv2.0 : 6v2.1 : 3v2.2 : 0v2.3 : 0

Page 16: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 13

• Rapid SQL の も興味深い特徴の 1 つは、単に SQL またはストアド プロシージャ コードを開発す

るためのツールではないということです。[ツール]メニューをカスタマイズし、Rapid SQL の機能を拡

張することができます。

実際、この例の Java アプレット コードは、

Embarcadero ER/Studio の「Appgen」機能

を使用して自動的に生成されたものです。

この機能では、データベースのデータモデ

ルから JavaBeans を使用する Java Applets

を生成します。

Rapid SQL のヘルプ システムは Java および HTML をベースにしています。また、ドキュメントなども

HTML で出力することができます。

• データベース内のオブジェクトまたはプロ

ジェクト内のファイルに使用する高品質の

HTML ドキュメントを自動的に生成すること

ができます。

• Intersolv PVCS、Microsoft Visual Source

Safe などの頻繁に使用する SCM(Source

Code Management:ソースコード管理)シス

テムと統合することができます。

• Lotus Notes、CC:Mail、または Microsoft

Exchange/Outlook などの MAPI に対応し

た E-mail システムを使用して、他の人にク

エリー結果を送信することができます。

HTMLHTMLHTMLHTML、、、、PerlPerlPerlPerl またはまたはまたはまたは JavaJavaJavaJava コードを編集すコードを編集すコードを編集すコードを編集す

る機能を追加し、自動的にそれらを実る機能を追加し、自動的にそれらを実る機能を追加し、自動的にそれらを実る機能を追加し、自動的にそれらを実

行またはコンパイル行またはコンパイル行またはコンパイル行またはコンパイル

Page 17: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 14

オオオオブジェクトをプロジェクトへリバースブジェクトをプロジェクトへリバースブジェクトをプロジェクトへリバースブジェクトをプロジェクトへリバース エンジニアリングエンジニアリングエンジニアリングエンジニアリング

データベースの変更を追跡することは容易なことではありませ

ん。データベースを修正する技術を持っている人と作業を行う場

合は特にそれが言えます。Rapid SQL を使用すれば、データベ

ースとすべてのデータベース オブジェクトをリバース エンジニ

アリングすることができます。また、データベースとデータベース

オブジェクトを再構築する必要があるスクリプトを、すべて生成す

ることができます。さらに重要なことは、オペレーティング システ

ムの SQL スクリプトを構築するのと同様に、すべてのデータベー

ス オブジェクトを含むプロジェクトを自動的に作成できるということです。まずは新規のプロジェクトを作成

することから始めてください。

プロジェクトが構築されると、Rapid SQL のナビゲータは、データベース オブジェクト ナビゲータからプロ

ジェクト オブジェクト ナビゲータへとその外観と操作感覚が変化することに気づくでしょう。

つまり、データベース オブジェクトの表示方

法(データベース内のオブジェクトとして、また

はプロジェクト内で管理されているデータベ

ース オブジェクトとして)を切り替えることがで

きるのです。ベンダーの開発ライフサイクル手

法を適用する必要はありません。ユーザーの

好む方法を使用し、柔軟性を維持しながら、

開発プロセスを管理することができます。

C++、Java、Visual Basic、HTML、Perl コード

を管理するのと同じ方法でデータベース オ

ブジェクトの管理が必要な場合、Intersolv

PVCS、Microsoft Visual Source Safe などの

SCCS 対応のソースコード管理システムと

Rapid SQL を統合できます。

Page 18: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 15

eeee----ビジネスに使用する再利ビジネスに使用する再利ビジネスに使用する再利ビジネスに使用する再利用可能なコードの構築用可能なコードの構築用可能なコードの構築用可能なコードの構築

今日のように、e-ビジネスが急増している状況では、再使用可能なコードの重

要性がかつてないほど重要になりつつあります。e-コマースの驚くべき成功は

インターネットの強力な支持者たちにショックを与えました。また、e-ビジネスの

成長がすぐに鈍るという兆候は見当たらないようです。ビジーな e-ビジネス サ

イトに使用する IT 基盤を構築することは容易な作業ではありません。テクノロジ

ーのプロフェッショナルたちは 大限の努力を傾け、大きな顧客ベースを満足させるような e-ビジネスを

迅速に構築し維持しています。e-コマースの開発グループでは、プロフェッショナルなサイト開発者が、

ビジネスの仕組みを稼動させるために使用する重要なコードを作成、管理するための洗練されたツール

を持っていなければなりません。つまり、重要な e-ビジネス サイトがデータベース主導であることからも判

るように、HTMLや Javaなどの標準的なインターネット言語だけではなく、さまざまな SQL言語をも処理で

きる統合した開発環境を用意する必要があるということです。すべての処理を実行できる適切なツール

セットが適切な場所になければ、これらのすべてが曖昧になり作業に滞りが起きるでしょう。

Rapid SQLRapid SQLRapid SQLRapid SQL とととと eeee----ビジネスビジネスビジネスビジネス

Embarcadero社では今日の e-ビジネスを協力にサポートする製品を豊富に取り揃えています。ER/Studio

を使用した複雑なデータベース設計の処理から、DBArtisan を使用した日常の管理業務の合理化まで、

Embarcadero 社は e-ビジネスのライフサイクルすべてをサポートします。

Embarcadero 社は、Rapid SQL という 1 つの環境のみでプロフェッショナルな e-ビジネスの開発者が、

SQL、HTML、ASP、および Java コードを記述できる開発環境を提供しています。Rapid SQL などの完全

に統合されたソリューションでは、Embarcadero 社は生産性を新しいレベルに押し上げ、e-ビジネスの開

発者に絶対的な便利さと限りないパワーを提供します。

EmbarcaderoEmbarcaderoEmbarcaderoEmbarcadero 社は社は社は社は

eeee----ビジネスのライビジネスのライビジネスのライビジネスのライ

フサイクルすべてフサイクルすべてフサイクルすべてフサイクルすべて

をサポートしますをサポートしますをサポートしますをサポートします

Page 19: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 16

まとめまとめまとめまとめ

Rapid SQL では以下の内容を支援することができます。

• SQL 開発プロセスをより効率的に管理します。

• SQL とストアド プロシージャの「ライブラリ」を設計します。

• SQL とストアド プロシージャを、モジュール性と再使用を根底に置いて作成します。

• SQL データベース アクセスの詳細をカプセル化し、Java や C++開発者が簡単にデータベースのア

クセスや操作を実行できるようにします。

• イントラネットやインターネット上でデータベースの情報を発行します。

• SQL や PL/SQL のパフォーマンスを向上させます。

• 今日のビジーな e-ビジネス開発に必要なすべてのコードを使用して作業を行います。

• 多くの作業を効率的に行えます。

Page 20: PL/SQL データベース ユーティリティの構築 - FujitsuEmbarcadero Rapid SQL を使用した再使用可能なOracle SQL およびPL/SQL データベース ユーティリティの構築

Embarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQLEmbarcadero Rapid SQL を使用した再使用可能なを使用した再使用可能なを使用した再使用可能なを使用した再使用可能な Oracle SQLOracle SQLOracle SQLOracle SQL およびおよびおよびおよび PL/SQLPL/SQLPL/SQLPL/SQL データベースデータベースデータベースデータベース ユーティリティの構築ユーティリティの構築ユーティリティの構築ユーティリティの構築

PAGE: 17

参考文献参考文献参考文献参考文献

ヒント:O'Reilly 社の 『Oracle Scripts』と Oracle Press 社の 『SQL & PL/SQL Annotated Archives』 に

は、Oracle PL/SQL データベース ユーティリティの構築に使用することができる多くの重要なスクリプトが

掲載されています。

発行元発行元発行元発行元 トピックトピックトピックトピック タイトルタイトルタイトルタイトル 著者著者著者著者 ISBNISBNISBNISBN コメントコメントコメントコメント

IDG Transact-SQL Transact-SQL William C. Amo 0-7645-8048

-5

T*SQL に関する優れた入

門書。

Oracle8 The

Complete

Reference

Koch/Loney 0-07-88-239

6-X

Oracle についての概説が

詳しい。

DBA Oracle8 DBA

Handbook

Loney 0-07-882406

-0

良書、特に 4 章。

PL/SQL Oracle8 PL/SQL

Programming

Urman 0-07-882305

-0

最高の PL/SQL 入門書。

初心者必読。

Oracle

Press

General

SQL and

PL/SQL scripts

SQL and PL/SQL

Annotated

Archives

Loney/

Carmichael

0-07-882536

-9

SQL と PL/SQL に関する

最適な説明書。

PL/SQL Oracle PL/SQL

Programming

Feuerstein 1-56592-142

-9

Urman 著 『PL/SQL』 の

次に読むべき。

Urman 著 『Built in

Package』、『Programming

with Packages』 も一読の

価値あり。

Oracle Database

Tuning

Oracle Database

Tuning

Corrigan/Gurry 1-56592237-

9

このテーマに関しては最適

な一冊。

Oracle SQL Harrison 0-13-614231

-1

Oracle 用 SQL チューニン

グの最高の解説書。

Oracle Design Ensor &

Stevenson

1-56592-268

-9

Oracle 固有のアプリケー

ション設計に関する最適な

本。

O'Reilly

SQL Tuning

Oracle Scripts Lomasky &

Kreines

1-56592-438

-X

SQL スクリプトの解説書。