5

さて、私が働いているOracleデータベースのデータベース設計にだまされました。問題は、私があまりDB好きではないことです:-)。現在、Rational Application Developer (RAD) を使用して、データベース スキーマのモデリングを行っています。私が理想的にやりたいことは、DB スキーマからの情報 (主にテーブル/列情報、制約、およびトリガーを Word ドキュメントのテーブルとして含む) を含む一連の Word ドキュメントを生成することです。

RADでこれを行う方法が見つからないようです.SQL DDLスクリプトファイル(スキーマのCREATEコマンドを含む)を取り、Wordタイプのレポートを生成できるツールを誰か知っているかどうか疑問に思っていました.

どんなポインタでも大歓迎です。

ありがとう...

4

2 に答える 2

4

create ステートメントを含む SQL ファイルを解析しようとするよりも、Oracle データ ディクショナリ テーブル自体に対してコマンドを直接実行する方がおそらく最も簡単です。

たとえば、スキーマ X のすべてのテーブルを取得するには、次のようにします。

SELECT table_name FROM all_tables  WHERE owner = 'X'

テーブル「T」、所有者「U」のすべての列を取得するには、次のようにします。

SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U'

完全な例

「所有者」が所有するすべてのテーブルのすべてのテーブルとその列を取得できる完全な例を次に示します。単一の SQL ステートメントで実行できます。

SELECT t.table_name
     , c.column_name
  FROM all_tables t
     , all_tab_columns c
 WHERE t.TABLE_NAME = c.TABLE_NAME
   AND t.OWNER      = c.OWNER
   AND t.OWNER      = 'owner'
ORDER BY t.TABLE_NAME
       , c.COLUMN_NAME

データを Word 文書に取り込む場合は、最初にデータをテキスト ファイルに取り込むことから始めます。その後、必要に応じて他の手段を使用して Word に取り込むことができます。それをテキスト ファイルに入れるには、上記のコマンドを で実行し、SQL ステートメントを実行する前にsql*plusテキスト ファイルにスプールします (つまり、 でspool file.txtコマンドを発行します)。sql*plus次に、出力がファイルに書き込まれます。

于 2010-07-21T19:17:16.713 に答える
1

特にテーブルレポートは、Oracle SQL Developer から取得できます。ただし、関連情報を取得するには、スキーマへのアクセスが必要です。

データベースをモデル化しているため、作業中のスキーマにアクセスできない場合は、Oracle Data Modelerによって管理されているモデルに DDL ファイルをロードして(最初にこのライセンスを確認することをお勧めします)、リレーショナル モデル レポート (ほとんどの部分で物理データベース モデルを反映するレポート)。

于 2010-07-21T19:23:25.460 に答える