web-dev-qa-db-ja.com

Oracle ERダイアグラムとデータディクショナリの作成

私はOracleデータベースを初めて使用し、既存のデータベース用のデータディクショナリとERダイアグラムを開発したいと考えています。そのためのヒント、スクリプト、ツールはありますか?

19
Scott

Oracleの Data Modeller は、既存のデータベースからリバースエンジニアリングできます。彼らは一度にそれを請求していましたが、現在は無料で使用できます。

21
Gary

私たちは SybaseのPowerDesigner を使用しています。私たちは、要件収集のユースケースの図解、それらの要件のキャプチャ、概念モデルと物理モデル(データベース、オブジェクト指向コード、インフラストラクチャなど)、要件/機能検証マトリックスなど、ソフトウェアエンジニアリングの取り組み全体をサポートするために使用しています...

基本的に、ITの観点からビジネスソリューションを発見、設計、追跡、および実装するのに役立つUML指向のあらゆるもの。

「Sybase」という名前にだまされないでください。多くの主要なRDBMSとUMLダイアグラム形式をサポートし、それらすべてのテンプレートがあります。そのとてもクールなツールです。

9
ScottCher

無料のOracle SQL開発者データモデラーがうまく機能します。これは、SQL開発者にバンドルされているダウンロードとは別のダウンロードであることに注意してください。 SQL開発者のデータモデルツールには、それほど多くの機能はありません。

http://www.Oracle.com/technetwork/developer-tools/datamodeler/overview/index.html

いくつかのビデオウォークスルーがあります。

ファイル->インポート->データ辞書。データベースへの接続を追加し、リバースエンジニアリングする対象を決定します。

モデルパーツはごちゃごちゃしているので、読みやすくするには時間がかかることに注意してください。 Oracleがリバースエンジニアリングを行うと、ERDではなく物理モデルが提供されます。物理モデルをERDに変更できます。ただし、ほとんどの人はERDが何であるかを知らず、ERDは物理モデルであると考えています。データモデルが存在する段階では、ERDの価値は最小限です。物理モデル(開発者にとって読みやすい)とERDを保持する正当な理由はありません。

データディクショナリまで...これは通常、データモデルに関するドキュメントを意味します。そのための最良の方法は、ツールを使用して「コメント」コマンドを使用することです。 Oracleでは、すべてのテーブル、列、オブジェクトのコメントを作成し、データベースに保存できます。このようにして、クエリ可能なデータベースにドキュメントを含めることができます。 SQL Developer Data Modellerはこれをクエリできます。

これはGUIで行うことができますが、「コメント」コマンドを使用してSQLスクリプトからデータベースに配置し、各オブジェクトをクリックする代わりにプルする方が速いと思います。これがどのように機能するかの詳細については、Googleの「Oracle SQLコメント」。

6
user918

SQLServerはVisioで動作することを知っています。 Oracleがそうであるかどうかはわかりませんが、試したことはありませんが、Visioにはたくさんのトリックがあります。

また、かなり大規模なビジネスをしている場合でも、Visioのコピーをこするのはそれほど難しいことではありませんが、ライセンスは少々豊富です。しかし、かなり大規模な企業の専門チームは通常Visioをすでに持っているため、それほど大きな問題ではありません。

誰かがSqlServerと同じようにVisioがOracleに対してこれを行うことを拒否または確認できる場合、それは素晴らしいことです。

5
jcolebrand

https://stackoverflow.com/questions/8140387/Oracle-extract-graphical-database-representation/8149947#8149947 で同じ質問に答えました.

無料のツールとして、スキーマスパイ http://schemaspy.sourceforge.net/ をお勧めします。 Javaランタイム。生成する図を見るには http://schemaspy.sourceforge.net/sample/relationships.html を参照してください。

oracle hrテンプレートでの簡単な使用法を以下に示します。

SET JDBC_Oracle_JAR=C:\Oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.jar
SET CONNECTION_USERNAME=hr
SET CONNECTION_PASSWORD=hr
SET TNS_DATABASE_NAME=orcl
SET SCHEMA_NAME=HR
SET TABLE_NAME='EMP'
SET OUTPUT_NAME=HR_EMP

Java -jar schemaSpy_5.0.0.jar -dp %JDBC_Oracle_JAR% -db %TNS_DATABASE_NAME% -o     schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD% -i %TABLE_NAME%.* -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe

Java -jar schemaSpy_5.0.0.jar -dp %JDBC_Oracle_JAR% -db %TNS_DATABASE_NAME% -o     schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD%  -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe

最初に、EMPで始まるテーブルの図を示します。 2つ目は、hrスキーマのすべてのテーブルを含む図を示します。

2
Atilla Ozgur

すべてのデータベース(OralceとSQL Server)のデータディクショナリとERDを生成するために Dataedo を使用します。データベースに接続するだけで、スキーマがリポジトリにインポートされ、UIを使用して各要素を記述できます。このツールを使用すると、大規模なデータベースを論理モジュールに分割し、不足しているFKとUKを定義し、リッチテキストを使用して画像を貼り付けることができます。物理および論理FKツールを使用すると、単純なERDが作成されます。

データベーススキーマが変更されるたびに、それらの変更をインポートでき、自動的にリポジトリに反映されます。

ERDを含むデータディクショナリは、PDFまたはインタラクティブHTMLにエクスポートされます。

私はDataedoの製品マネージャーです。

1
Bad Pitt