を出すにはどうしたらいいんです図の非常に大きなデータベースのスキーマ(SQLサーバー)

StackOverflow https://stackoverflow.com/questions/3503223

質問

私は非常に大きなデータベースが必要です。このデータベースは、SQL Server2008年にx64.できることがあり、数百の関連テーブルは、2000年までの分野(sparse)、複数の関係にテーブル(数百テーブルごとの、実際には、複数のシステムの主要なテーマは...のアイデアです。

また、データベース図の特徴はSQLサーバー管理スタジオで砕とWin32Exception:"不十分での保管はこのコマンド..."

また用紙の逆工学特別機で接続すると図ので、それは数時間のないます。

のスクリプトをこの巨大スキーマは、ステークホルダーへの充実した内蔵の仕事です。ながらのツールはいつもの仕事は、イブレア城、イブレアでトリッキーを視覚的にその出力に出力します。

私た後、ツールを蹴り出す図データベースでございました。ご意見募集

編集:うことを強調を図があるように想定していない使用のために実際に参考となる。このクライアントとの関係マネージメント-デバイスを発揮する複雑性-規模のシステム。

役に立ちましたか?

解決

生成画像のためのデータベースのサイズだけでな目菓こだわった壁にするのgasps、正していない本来の目的以外に時折顔を見合わせた。なぜなツールを使う 赤ゲートのドキュメントツール する実際の目的は?ご理解いただきたいと思い、ということではありませんことを嘲笑うがってこの道を増やしてからお試しください図は、巨大なデータベースから継承したことを機に、なか良いアウトレットでも利用します。

他のヒント

私は数百のテーブル(1k近く)がある場所で働いていましたが、システムで何が起こっているのか誰も本当に知りませんでした。男は図を作成することを任され、彼はさまざまなテーブルを接続するラインを含むすべてのテーブルを含む巨大なタイル張りのポスターを自動的に作成しました(あちこちに進みます)。彼が何を使ったかはわかりませんが、それは何年も前にUnixとOracleでした(LinuxとOpen Sourceの前)。彼の図のテーブルのレイアウトには、本当の韻や理由はありませんでした。彼はすべてのテーブルの図を正常に作成しました。 「ポスター」は共通のエリアの壁に置かれ、いくつかのルックスを手に入れましたが、誰も実際にそれを使用したことはありませんでした。その結果、MS-WORDを使用して、各外部キーと各テーブルが論理的に配置されたラインを使用して、20のメインテーブル(新しいメインテーブルを「発見」したときにいくつかの反復を通過した)を含む単一のページ図を作成しました。 。列名、データ型、Nullability、PK、およびすべてのFKを示しました。モニターで図を壁に置きました。最終的には、「ポスター」を作った人を含む私の図のコピーを誰もが望んでいました。私がその仕事を辞めたとき、彼らはまだ私の図を新規採用者に与えていました。

エクスプローラーのように作業し、キーテーブルを見つけてマッピングすることをお勧めします。巨大な「ポスター」を自動的に作成しようとすると、あまりうまく機能しません。

複数のスキーマがあるので、代わりにスキーマごとに図を生成することは良い考えです

GraphVizを使用します。いくつかのSQLステートメントを使用してDIGRAMを生成し、dot.exeを介して実行してPDFまたはPNGを生成します。

SQL Serverテーブル内でDigramsのデータを生成するために使用しました。テーブルにも使用できる理由はありません。

http://www.graphviz.org/

PDFは1ページのみであるため、追加の大きなグラフをナビゲートするためのJava、Silverlight、およびAjaxユーティリティもあります。

1つの図ですべてを行うことを避けます。あなたが言ったように、ツールはクラッシュします。おそらく、テーブルごとに数千のレコードを備えた数百のテーブルを備えた図を簡単に理解することはできません。他の論理領域に重複して、より小さな論理領域の図を生成できますか?

あるいは、GraphVizのようなものを使用してDDLステートメントを解析し、グラフを作成してみてください。それはおそらくしばらくの間解散するでしょうが、私は大学のポスターサイズの図で、おそらくあなたと同じ複雑さだった小さな印刷のある図で見たことを覚えています。幸運を!

FWIW、これを進めたいと仮定すると、Visual Studio 2010データベースモデラーがこれまでに出会った最も素晴らしい図を実行することを個人的に発見しました。

SchemaspyGraphVizをバックエンドとして使用して複数のスキーマにまたがるインタラクティブな図を生成する便利なインターフェイスを提供します。しかし、私はこのサイズでそれを試したことはありません。

Intellij(特にこれで試したばかりのアイデアですが、他のIDEがこの機能を提供すると思います https://www.jetbrains.com/)組み込みのデータベースクライアント機能があり、ここからデータベースに接続して、個々のテーブル、特定の組み合わせまたはテーブルを分析し、目的のテーブルを強調表示し、「右クリック」し、「図」オプションを選択することができます。後で参照するために保存して、印刷することもできます。私はこれを500以上のテーブルの大きなDBで試しましたが、それは数秒でレンダリングされました。ベクトル図は、データベース構造を視覚的に消化する代替方法として機能し、特定のテーブル間の関係と制約を印刷には推奨しません。

enter image description here

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top