,

CRUD Explorer サポートページ

subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link
subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link
subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link
subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link

CRUD Explorerマニュアル

はじめに

このマニュアルは、CRUD Explorer バージョン 2.0.0.0について記しています。
CRUD Explorerは、PL/SQLや2WaySQLのSQLファイルからCRUDマトリックスを生成する機能を核とし、データベースアクセスを含むソースコードを分析するための 支援機能を多数提供します。
大規模なシステムでは、数百にも及ぶのテーブル、プログラムから構成されており、煩雑なデータベースアクセス処理となりがちです。
CRUD Explorerを利用すると、テーブルのライフサイクル(CRUD)に着目した分析が行え、仕様変更時の影響調査・問題発生時の原因箇所の特定等、通常時間がかかる作業を効率的に行うことが可能になります。
100%の解析結果を保証するものではありませんので、ご注意ください。

CRUD Explorerでできること

CRUD Explorerが提供する主な機能は以下の通りです。
・CRUDマトリックスの自動生成(テーブル単位及びカラム単位)
・テキストエディタとの連携(テーブルアクセス処理の該当箇所を開く)
・クエリ分析機能(クエリ構造をツリー表示、クエリ(SQL)の整形機能)
・クエリ内Grep
・CRUDサーチ(テーブル、カラムに対するアクセス処理の抽出)
・テーブル定義参照(Oracleからエクスポート可能)

動作環境

項目 説明
OS 現時点で動作確認がとれているオペレーティングシステムは、以下の通りです。
・Windows 7 (64bit)
・Windows XP (32bit)
その他のOSについては、現時点では未検証ですが、.NET Framework4.0の要件を満たしているOSであれば動作するものと思います。
ぜひ掲示板に動作報告をお願いします。
.NET Framework CRUD Explorerの動作には、.NET Framework 4.0が組み込まれている必要があります 。
必要に応じて.NET Framework 4.0を組み込んでください。Microsoftの以下のページより入手することができます。
http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7
ODP.NET

データベース接続機能を利用する場合に必須です。
Oracleクライアントを通常インストールすることで利用可能となります。
ODAC with Oracle Developer Tools for Visual Studioを組み込んだ環境でも
動作実績があります。
ODAC入手先:http://www.oracle.com/technetwork/jp/topics/utilsoft-086879.html
※ダウンロードするにはOTNのアカウントが必要です。

解像度

1024x768以上
解像度が高ければ高いほど快適に使用できます。

メモリ Windows7 2G以上推奨
WindowsXP 1G以上推奨

 

動的SQLについて

CRUD Explorerでは、動的SQL部分についても解析対象とします。
シングルクォート(')で囲まれた文字列部分を連結し、SQLと識別された場合、解析対象としています。
動的SQLについては完全に解析することが難しいため、動作保証外とさせていただきます。

動作保証について

SQLの全ての構文に対応しているわけではなく、一般的な構文のみに対応しています。(ご要望が多い構文から順次対応していきます)
そのため、完全な解析結果を保証するものではありません。
事前に評価版とし試用していただき、解析精度について十分ご納得頂いた上でご利用・ご購入頂けますようお願い致します。
一度に解析するソースファイル数は、300以下とさせて頂きます。また、表示可能なマトリックスは、100列以下とさせて頂きます。(システム的な制限は設けていませんが、概ね1000列を超えると、マトリックス表示でエラーが発生します。)
カラムCRUD(カラム粒度のCRUDマトリックス)は動作保証外とさせていただきます。
データベース接続機能(「テーブル定義インポート機能」、 「ストアドプロシージャエクスポート機能」)は、ODP.NETを使用してOracleデータベース と接続します。 Oracleクライアント及びODP.NETがインストールされたコンピュータから使用することが 可能な機能となりますが、TNSの接続設定が必要等、クライアント環境に依存する部分が 多いことから、サポート対象外とさせて頂きます。 一般的な利用方法については、別途説明致します。)

サポートするソースファイルについて

・PL/SQL
・VIEWのDDL (VIEW単独のDDLファイルとして配置要)
・Oracle Forms Developer(テキストとしてエクスポート要)
・SeasarプロジェクトのS2DaoやS2JDBCのSQLファイル(2WaySQL)

OracleのPL/SQL言語に準じたソースファイルをサポートします。
対応するSQLのバージョンはSQL92を基本としますが、全ての構文に対応しているわけではありません。
文字コードはShift-JIS固定となりますので、Shift-JIS以外の場合は予めコード変換しておいてください。
テーブル名・カラム名・予約後について、大文字小文字の区別は致しません。
Oracle Forms Developerのソースコードは、内部的にはPL/SQLと同様となっているため、テキストファイルとしてエクスポートすることで、解析することが可能となります。
VIEWのDDLについても解析可能であり、CREATE (OR REPLACE) VIEWで始まる構文は、VIEWとして識別されます。
尚、正常にコンパイル可能なソースコードを前提としています。
2WaySQLのSQLファイルは、全てリテラルが指定されていることを前提とします。リテラルが省略されている場合、正しく解析できない場合があります。

SQL解析の詳細

この仕様は、テーブルCRUD解析のみについての説明です。
解析対象のSQL文は、SELECT、INSERT、UPDATE、DELETE、TRUNCATE文です。
CREATE (OR REPLACE) VIEWで始まるものは、ビューとして識別します。
ソースファイルから、SQLの開始位置を検索します。
SQL文の開始からセミコロン(;)まで を1つのSQL文として解釈します。(ビューの場合は、スラッシュ(/) までをSQL文として解釈します)
ソースファイル中のSQLが無くなるまで繰り返します。
ソースファイル中のコメント部分、文字列部分のSQLは、解析対象とはしません。

SQLの解析処理は、
・ 集合演算子(UNION / UNION ALL / MINUS / INTERSECT)で分解
・サブクエリ(副問い合わせ)で分解
を再帰的に繰り返し、サブクエリ単位で構文解析・CRUD分析を行います。

サブクエリ単位の構文解析は以下の処理となっています。
句で分解します。句として識別するものは、DELETE、FROM、GROUP BY、HAVING、INTO、INSERT、ORDER BY、SELECT、SET、TABLE、UPDATE、VALUES、WITH、WHERE句です。
句と句の間の文字列を、解析要素として識別します。例えば、SELECT DUMMY FROM DUAL D WHERE DUMMY = 'x' というSQLの場合、
「SELECT」、「DUMMY」、「FROM」、「DUAL D」、「WHERE」、「DUMMY = 'x'」の6要素に分解されます。
分解した要素を先頭から処理し、句によって次の要素を再解析します。

FROM句の場合、当該サブクエリがSELECT文、DELETE文によって処理が異なります。さらにSELECT文の場合、文字列中にJOINを含む場合はSQL92形式の表結合として解釈します。

FROM句・SELECT文・SQL92形式の場合、INNER JOIN、LEFT OUTER JOIN、LEFT JOIN、RIGHT OUTER JOIN、RIGHT JOIN、FULL OUTER JOIN、FULL JOIN、CROSS JOIN、NATURAL JOIN、ON、JOINで分解します。例えば、TABLEA TA INNER JOIN TABLEB TB ON TA.COLX = TA.COLY というFROM句の場合、
「TABLEA TA」、「INNER JOIN」、「TABLEB TB」、「ON」、「TA.COLX = TA.COLY」の5要素に分解されます。
先頭の要素は、テーブル参照【R】としてみなします。残りの要素を順次処理し、ON句がみつかった場合、一つ前の要素をテーブル参照【R】とみなします。

FROM句・SELECT文・SQL92形式以外の場合、カンマ(,)で分解します。各要素をテーブル参照【R】とみなします。

FROM句・DELETE文の場合、次の要素をテーブル削除【D】とみなします。

TABLE句の場合、次の要素をテーブル削除【D】とみなします。(TRUNCATE文)

INTO句の場合、次の要素をテーブル追加【C】とみなします。

UPDATE句の場合、次の要素をテーブル更新【U】とみなします。

ユーザサポートについて

平日は本業(サラリーマン)が忙しいため、迅速なユーザサポートは期待しないでください。ご要望等には最大限お答えしたいと思いますので、掲示板・メールまでご意見をお寄せください。

掲示板
サポートメール:crudexplorer@gmail.com

 

 




MailTo:WebMaster