SchemaSpy はデータベース メタデータ アナライザーです。これは、データベース管理者や開発者がデータ モデルを視覚化し、操作し、理解するのに役立ちます。使いやすい HTML ベースのレポートにより、エンティティ関係図の参照がかつてないほど簡単になりました。当社の製品ショーケースは http://schemaspy.org/sample/index.html でご覧いただけます。
インストール
SchemaSpy は、GUI を持たないスタンドアロン アプリケーションです。最新の JAR ファイルまたは Docker イメージをダウンロードするだけで準備完了です。 Maven から SchemaSpy を使用するには、以下の Maven の章を参照してください。
# replace '6.2.4' with latest version
curl -L https://github.com/schemaspy/schemaspy/releases/download/v6.2.4/schemaspy-6.2.4.jar
--output ~/Downloads/schemaspy.jar
未リリースのバグ修正や開発中の機能については、スナップショット JAR をダウンロードするか、Docker タグのsnapshot
を使用してください。
メイビン
SchemaSpy は、ベアボーン JAR とすべての依存関係を含むファット JAR の 2 種類の JAR ファイルをリリースします。どちらの JAR も Maven Central に公開されます。ファット JAR は、GitHub 上のリリースにも添付されています。このページの上部にある「maven Central」バッジを使用すると、Maven Central の最新バージョンに直接アクセスできます。
2 つのアーティファクトの Maven GAV は次のとおりです。
- ベアボーン JAR:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← app
分類子に注意してください
クイックスタート
PostgreSQL (11 以降) を使用していると仮定します。まず、JDBC ドライバーをダウンロードします。
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
次に、データベースに対して SchemaSpy を実行すると、 DIRECTORY/index.html
でデータベースを参照できるようになります。
java -jar ~/Downloads/schemaspy.jar
-t pgsql11
-dp ~/Downloads/jdbc-driver.jar
-db DATABASE
-host SERVER
-port 5432
-u USER
-p PASSWORD
-o DIRECTORY
PostgreSQL を使用していない場合でも、慌てる必要はありません。 SchemaSpy は、すぐに使用できる、十数種類のデータベースをサポートしています。 -dbhelp
使用してそれらをリストします。まだ十分ではありませんか?データベースに JDBC ドライバーがある限り、それを SchemaSpy にプラグインできます。
ドキュメントとよくある質問
私たちはドキュメントを Read the Docs でホストしています。一般的な問題のトラブルシューティングに関するセクションを必ず確認してください。
主な使用例
SchemaSpy は、データベース分析と文書化のための多くのユースケースをカバーしています。この README の後半でコミュニティが提供するガイドを必ず確認してください。
オンデマンドデータベースのドキュメント
データベースを文書化するための推奨される方法は、エンティティ関係 (ER) 図を使用することです。ただし、これらの図を手動で描くのは非常に時間がかかり、間違いが発生しやすいプロセスであるため、実際に図を描くことはほとんどありません。描画された図が最新の状態に保たれることはほとんどありません。 SchemaSpy を使用すると、これはもう問題ありません。図は、CI/CD ワークフローの一部として迅速に生成でき、常に最新の状態を保つことができます。
数字で見るデータベース
SchemaSpy は、データベースの構造の形状や形式を説明するために、さまざまな種類の興味深い統計を収集できます。これらの統計をレポート内で直接掘り下げたり、Excel または CSV にエクスポートしてさらに QA 分析を行ったりできます。
データの機密性を保つ
今日、企業のデータは最も貴重な資産となり得ます。 SchemaSpy は構造情報のみを読み取るため、空のデータベース レプリカでも同様に機能します。これは、レポートを第三者による分析のために恐れることなく共有できることを意味します。
最適化されていない構成を検出する
SchemaSpy には、データベース設計のベスト プラクティスに関する知識が組み込まれています。インデックスの欠落、暗黙の関係、孤立テーブルなどの異常を特定して報告できます。
コミュニティ
SchemaSpy コミュニティへようこそ!このファイルを読んだり、ツールを使用したりするだけで、あなたはコミュニティの一員となり、プロジェクトの将来に貢献することになります。よろしくお願いします!
私たちのコミュニティ メンバーの中には、SchemaSpy をより多くの人々と共有するために特別な努力を払ったり、会社に資金援助を依頼したり、ソフトウェアの改善を決意したりする人もいます。 Github のスター、ツイート、その他の活動はすべて、私たちの仕事が評価されているということを思い出させるので、皆さんに個別に感謝する機会があればよかったと思います。
特別な感謝
SchemaSpy の最初の 5 つのバージョンを作成するには:
それ以来、SchemaSpy を永続させてきました。
- ラファウ・カサ
- ニルス・ペツァルと
- ジェスパー・オルソン
コミュニティ向けのチュートリアルとガイドを作成するには:
- ?? SQLite 可視化SQLiteデータベース库Schemaspy by Geek Tutorial
- ??自動データベージのドキュメントを作成する SchemaSpy by Pavel Tišnovský
- ?? Datenbank-Analyse mit SchemaSpy by Michael Jentsch
- ??クイックヒント: Eine Datenbank Struktur verstehen mit Hilfe von schemaspy by von Irving Tschepke
- ?? ▶️ MGS Educación、Tecnología、Juventud によるスキームの使用法
- ?? ▶️ Inforgledys によるスキーマの基本データを作成する一般的なモデル Spy
- ??ヘスス・ヒメネス・エレーラによるスキーマスパイに関するデータを記録したドキュメンタリー
- ?? ¿データをベースにしたドキュメントを作成しますか? ... SchemaSpy al rescate by Víctor Madroid
- ?? ▶️ DOC AUTOMATIQUE avec SchemaSpy (および SYMFONY および GITLAB) by YoanDev
- ?? App Symfony による SchemaSpy と GitLab の自動ドキュメント! by ヨアンデヴ
- ?? Data 4 による SchemaSpy のドキュメントを作成します。
- ?? SchemaSpyでデータベースのドキュメントを生成してみた By 坂井裕介
- ?? SchemaSpyでER図を生成する @onozaty
- ?? ▶️ SchemaSpy - 簡単にユーザーを救援できます!開発マルチタスク別
- ?? Documentando bancos com Schemaspy By Krisnamourt Silva
- ?? @icegotcha による SchemaSpy データベース
- ?? Hướng dẫn sử dụng SchemaSpy by Pham Xuan Dung
- Java Power Tools by John Ferguson Smart
- モノリスからマイクロサービスへ: システムのもつれを解きながら生産性を維持する by Sam Newman
- SchemaSpy を使用したデータベースの文書化 (Robin Tegg 著)
- SchemaSpy を使用したリレーショナル データベースの文書化 (Orlando L Otero 著)
- CybrosysテクノロジーによるERD(Entity Relationship Diagram)の作成方法
- SchemaSpy を使用してデータごとにデータベースを文書化する方法 4 みなさん!
- SchemaSpy を使用してデータベースを文書化する方法 by Gustavo Ponce
- SchemaSpy を使用して PostgreSQL スキーマを SVG として視覚化する方法 (Willem van den Ende 著)
- @SimonGoring による SchemaSpy のインストールによるデータベースの文書化
- Jason Lavoie による schemaspy を使用した Netbox データベース スキーマ図
- Magnus Brun Falch による数分でわかるプロダクション グレードの PostgreSQL ドキュメント
- Schemaspy – Petr Hnilica によるデータベースのドキュメントの作成
- SchemaSpy-HOWTO by @dpapathanasiou
- @rieckpil による SchemaSpy を使用したシンプルなデータベース ドキュメント
- データと Schemaspy の使用例: データベース管理 (Juilee Talele 著)
科学的利用
SchemaSpy が研究者の研究を支援していることを誇りに思います。
- Dhomas Hatta Fudholi らによるデータ駆動型の動的オントロジー。
- Annibale Panichella らによる、最先端の検索ベースのテスト ケース ジェネレーターの大規模な実証的比較。
- ZFIN にデータを送信するための科学者向けガイド (Douglas G Howe 著)
- Andrea Arcuri らによる、環境依存関係のあるクラスの単体テストの自動生成。
- BiG-SLiCE: Satria A Kautsar らによる、120 万個の生合成遺伝子クラスターの多様性をマッピングする拡張性の高いツール。
- emrKBQA: Preethi Raghavan らによる臨床知識ベースの質問応答データセット。
- EpiSurf: SARS-CoV-2 および他のウイルス種のエピトープ内のアミノ酸変化を分析するためのメタデータ駆動型検索サーバー (Anna Bernasconi らによる)
- ベンチマークベースのメトリクス分析、ソフトウェアの視覚化、専門家による評価を組み合わせたソフトウェア品質評価の実行経験 (山下愛子氏)
- FOCUSPEARL バージョン 5.5.5 - Maarten C Braakhekke らによるデータベースとインターフェイスの技術説明。
- モノリシック システムからマイクロサービスへ: Davide Taibi と Kari Systä によるプロセス マイニングに基づく分解フレームワーク
- GEM: Naveen Ashish らによる GAAIN エンティティ マッパー
- Healthsheet: Negar Rostamzadeh らによる健康データセットの透明性アーティファクトの開発。
- いくつかのオンラインの分類学的指向データベースの背後にあるプラットフォームである Aphia が分類学コミュニティと生物多様性情報学の分野の両方にどのように役立つか (Leen Vandepitte et al.)
- Annibale Panichella らによる多基準テスト ケース生成のための増分制御依存性フロンティア探索
- Eric Zapletal らによるマルチモーダル放射線治療データの i2b2 への統合。
- 臨床データ ウェアハウスと臨床情報システムの統合方法: Eric Zapletal らによる HEGP ケース。
- NakeDB: データベース スキーマの視覚化 (Luis Miguel Cort ́es-Peña 著)
- OCTOPUS データベース (v.2)、Alexandru T. Codilean らによる。
- リブレソフトウェアを保護するためのプログラムのおおよその一致について、Arnoldo José Müller Molina 氏と篠原毅氏による
- オープンソース ソフトウェアにおけるリレーショナル データベース スキーマの品質について、Fabien Coelho et al.
- 患者の EHR 記録を分析して再入院を予測する by Anshik
- Vassilis Polychronopoulos と Abhinav Venkateswar Venkataraman による IMDB データを使用した俳優のコラボレーションの予測
- 確率的リレーショナル モデルのベンチマーク生成: 原理と応用、Mouna Ben Ishak et al.
- マイクロサービス アーキテクチャへの移行のプロセス、動機、および問題: Davide Taibi らによる実証的調査。
- Haoyuan Zhang らによる電子医療記録からの ML の可能性の実現
- José Miguel Rojas らによる検索ベースの単体テスト生成におけるシード戦略。
- ゴードン・フレイザーとアンドレア・アルクリによるソフトウェアテストにおける確かな実証的証拠
- ゼブラフィッシュ情報ネットワーク: Douglas G Howe らによる主要な遺伝子ページとホームページの更新
- OMOP 共通データ モデルにおける MIMIC データベースの変換と評価: Nicolas Paris らによる開発とユーザビリティの研究。
- Alberto Lázaro-López らによる、地理情報システムの基礎とテロワールの地理情報システム: 新しいシステムの一貫性と相互作用。
- Normi S Awang Abu Bakar と Clive Boughton による、測定ツールの組み合わせを使用したオープンソース プロジェクトからメトリクスの抽出
- MIMIC-III データの視覚化ツールとしての Tableau ダッシュボードの使用 (Karl Gottfried ら)
- ゼブラフィッシュ情報ネットワーク、Yvonne M Bradford らによるダニオ レリオ研究の知識ベース。
SchemaSpy を引用するには、次を使用してください。
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
LaTeX ユーザー向けの BibTeX エントリは次のとおりです。
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
組み立て説明書
応用
SchemaSpy は Maven を使用して構築されており、Maven ラッパーを利用します。
Windows mvnw.cmd package
Linux ./mvnw package
結果として得られるアプリケーションはtarget
にあります。
分析中
独自の SonarQube が必要です。
https://hub.docker.com/_/sonarqube/
Windows mvnw.cmd -P sonar clean verify -Dsonar.host.url=http://$(boot2docker ip):9000 -Dsonar.jdbc.url="jdbc:h2:tcp://$(boot2docker ip)/sonar"
Linux ./mvnw -P sonar clean verify
結果は次の場所でご覧ください。
Linux http://localhost:9000
Windows http://$(boot2docker ip):9000
ドキュメント
Python を使用して構築
venv の作成
依存関係をインストールしますpip install -r docs/requirements.txt
docs
に移動する
Windows make.bat clean && make.bat html
Linux でmake clean html
作成されたドキュメントはdocs/build/html
にあります。