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 和包含所有依赖项的胖 JAR。这两个 JAR 均发布到 Maven Central。 fat JAR 还附加到 GitHub 上的版本中。本页顶部的“Maven Central”徽章将带您直接进入 Maven Central 的最新版本。
两个工件的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。
文档和常见问题解答
我们在“阅读文档”上托管我们的文档。请务必查看有关解决常见问题的部分。
主要用例
SchemaSpy 涵盖了许多数据库分析和文档的用例。请务必查看本自述文件后面社区提供的指南。
按需数据库文档
记录数据库的首选方法是通过实体关系 (ER) 图。然而,手动绘制这些图表是一个非常耗时且容易出错的过程,因此我们在实践中几乎不会绘制它们。当绘制图表时,它们很少保持最新状态。有了 SchemaSpy,这不再是问题。这些图表可以快速生成,甚至可以作为 CI/CD 工作流程的一部分,以确保其始终保持最新状态。
您的数据库的数字
SchemaSpy 可以收集各种有趣的统计数据来描述数据库结构的形状和形式。直接在报告中深入了解这些统计数据,或将其导出到 Excel 或 CSV 以进行进一步的 QA 分析。
数据保密
如今,公司的数据可能是他们最有价值的资产。由于 SchemaSpy 仅读取结构信息,因此它在空数据库副本上也能正常工作。这意味着可以毫无顾虑地共享该报告以供第三方分析。
检测次优结构
SchemaSpy 融合了有关数据库设计最佳实践的知识。它可以定位并报告异常情况,例如丢失索引、隐含关系和孤立表。
社区
欢迎来到 SchemaSpy 社区!只要阅读此文件或使用该工具,就意味着您是我们社区的一部分,并为项目的未来做出贡献。我们很高兴有你和我们在一起!
我们的一些社区成员付出了额外的努力与更多人共享 SchemaSpy,要求他们的公司提供经济援助,或者决定改进该软件。我们希望有足够的空间来单独感谢你们每一个人,因为每一个 Github 明星、推文或其他活动都提醒我们,我们的工作受到赞赏。
特别感谢
用于创建 SchemaSpy 的前五个版本:
从那时起,为了使 SchemaSpy 永久存在:
用于为社区创建教程和指南:
- ?? SQLite 可视化SQLite 数据库Schemaspy by Geek 教程
- ??自动保存文档和数据并查看 SchemaSpy,作者:Pavel Tišnovský
- ??通过 SchemaSpy 进行数据银行分析,作者:Michael Jentsch
- ??快速提示:Eine Datenbank Struktur verstehen mit Hilfe von schemaspy 作者:von Irving Tschepke
- ?? ▶️ MGS Educación、Tecnología y Juventud 的 Ejemplo de Uso de schemaspy
- ?? ▶️ Inforgledys 提供的数据和 schemaSpy 基础的通用模型
- ?? Jesus Jimenez Herrera 的 SchemaSpy 数据基础纪录片
- ?? ¿Y si documentamos la base de datos? ... SchemaSpy al rescate 作者:Víctor Madrid
- ?? ▶️ Une DOC AUTOMATIQUE avec SchemaSpy (et SYMFONY et GITLAB) by YoanDev
- ??自动文档 d'une 应用程序 Symfony 和 SchemaSpy 和 GitLab !通过 YoanDev
- ?? Data 4 提供的 SchemaSpy 文档记录器!
- ?? SchemaSpyでデータベースのドキュメントを生成してみた 作者:坂井裕介
- ?? SchemaSpyでER図を生成する 作者:@onozaty
- ?? ▶️ SchemaSpy - 方便使用和使用!作者:Dev 多任务
- ?? Documentando bancos com Schemaspy 作者:Krisnamourt Silva
- ?? แนะนำ SchemaSpy 和 @icegotcha 的数据库
- ?? Hướng dẫn sử dụng SchemaSpy by Pham Xu Dung
- John Ferguson Smart 的 Java Power Tools
- 从整体到微服务:在理清系统的同时保持生产力作者:Sam Newman
- Robin Tegg 使用 SchemaSpy 记录数据库
- 使用 Orlando L Otero 的 SchemaSpy 记录您的关系数据库
- 如何利用Cybrosys技术创建ERD(实体关系图)
- 如何使用 Data 4 的 SchemaSpy 记录数据库!
- 如何使用 SchemaSpy 记录数据库 作者:Gustavo Ponce
- 如何使用 SchemaSpy 将 PostgreSQL 模式可视化为 SVG,作者:Willem van den Ende
- 安装 SchemaSpy 来记录数据库,作者:@SimonGoring
- 使用 schemaspy 绘制的 Netbox 数据库架构图,作者:Jason Lavoie
- Magnus Brun Falch 在几分钟内完成生产级 PostgreSQL 文档
- Schemaspy – 为您的数据库创建文档,作者:Petr Hnilica
- SchemaSpy-HOWTO 作者:@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 等人。
- Aiko Yamashita 结合基于基准的指标分析、软件可视化和专家评估进行软件质量评估的经验
- FOCUSPEARL 版本 5.5.5 - Maarten C Braakhekke 等人对数据库和界面的技术描述。
- 从整体系统到微服务:Davide Taibi 和 Kari Systä 基于流程挖掘的分解框架
- GEM:Naveen Ashish 等人的 GAAIN 实体映射器。
- Healthsheet:Negar Rostamzadeh 等人开发的健康数据集透明度工件。
- Aphia——多个在线和分类学导向数据库背后的平台——如何为分类学界和生物多样性信息学领域服务,作者:Leen Vandepette 等人。
- 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 和 Takeshi Shinohara 论保护自由软件程序的近似匹配
- 关于开源软件中关系数据库模式的质量,作者:Fabien Coelho 等人。
- 通过分析患者 EHR 记录来预测再入院(Anshik)
- Vassilis Polychronopoulos 和 Abhinav Venkateswar Venkataraman 使用 IMDB 数据预测演员合作
- 概率关系模型基准生成:Mouna Ben Ishak 等人的原理和应用。
- 迁移到微服务架构的流程、动机和问题:Davide Taibi 等人的实证调查
- 从电子健康记录中实现机器学习的潜力,作者:Haoyuan Zhang 等人。
- José Miguel Rojas 等人提出的基于搜索的单元测试生成中的播种策略。
- Gordon Fraser 和 Andrea Arcuri 在软件测试中提供了可靠的经验证据
- 斑马鱼信息网络:Douglas G Howe 等人的主要基因页面和主页更新
- OMOP 通用数据模型中 MIMIC 数据库的转换和评估:Nicolas Paris 等人的开发和可用性研究。
- Una base de datos espacial integrada en un Sistema de Información Geográfica para la gestión del terroir: un nuevo sistema concente e Interactiveivo by Alberto Lázaro-López 等人。
- Normi S Awang Abu Bakar 和 Clive Boughton 使用测量工具组合从开源项目中提取指标
- Karl Gottfried 等人使用 Tableau 仪表板作为 MIMIC-III 数据的可视化工具。
- 斑马鱼信息网络,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
中找到