SchemaSpy é um analisador de metadados de banco de dados. Ajuda os administradores e desenvolvedores de banco de dados a visualizar, navegar e compreender seu modelo de dados. Com um relatório baseado em HTML fácil de usar, percorrer o diagrama entidade-relacionamento nunca foi tão simples. Nossa vitrine de produtos está disponível em http://schemaspy.org/sample/index.html.
Instalação
SchemaSpy é um aplicativo independente sem GUI. Basta baixar o arquivo JAR ou a imagem Docker mais recente e você estará pronto para começar! Para usar o SchemaSpy do Maven, consulte o capítulo Maven abaixo.
# 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
Para correções de bugs não lançadas e recursos em andamento, baixe nosso snapshot JAR ou use snapshot
da tag Docker
Maven
SchemaSpy libera dois tipos de arquivos JAR: um JAR básico e um JAR gordo incluindo todas as dependências. Ambos os JARs são publicados no Maven Central. O JAR gordo também está anexado aos lançamentos no GitHub. O emblema “maven central” no topo desta página o levará diretamente para a versão mais recente do Maven Central.
O Maven GAV dos dois artefatos é o seguinte:
- JAR básico:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← observe o classificador app
Início rápido
Vamos supor que você esteja usando PostgreSQL (11 ou posterior). Primeiro, baixe o driver JDBC.
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
Em seguida, execute o SchemaSpy em seu banco de dados e você estará pronto para navegar nele em 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
Se você não estiver usando PostgreSQL, não entre em pânico! Pronto para uso, o SchemaSpy oferece suporte a mais de uma dúzia de bancos de dados diferentes. Liste-os usando -dbhelp
. Ainda não é suficiente? Contanto que seu banco de dados tenha um driver JDBC, você pode conectá-lo ao SchemaSpy.
Documentação e perguntas frequentes
Hospedamos nossa documentação em Read the Docs. Certifique-se de verificar a seção sobre solução de problemas comuns.
Principais casos de uso
SchemaSpy cobre muitos casos de uso para análise e documentação de banco de dados. Certifique-se de verificar os guias fornecidos pela comunidade posteriormente neste README.
Documentação de banco de dados sob demanda
A maneira preferida de documentar bancos de dados é por meio de diagramas de relacionamento entre entidades (ER). No entanto, desenhar esses diagramas manualmente é um processo tão demorado e sujeito a erros que quase nunca os desenhamos na prática. Quando os diagramas são desenhados, raramente permanecem atualizados. Com o SchemaSpy, isso não é mais um problema. Os diagramas podem ser gerados rapidamente e até mesmo como parte do seu fluxo de trabalho de CI/CD para garantir que estejam sempre atualizados.
Seu banco de dados em números
SchemaSpy pode coletar vários tipos de estatísticas interessantes para descrever o formato da estrutura do seu banco de dados. Aprofunde-se nessas estatísticas diretamente no relatório ou exporte-as para Excel ou CSV para análise adicional de controle de qualidade.
Mantenha os dados confidenciais
Hoje em dia, os dados de uma empresa podem ser o seu ativo mais valioso. Como o SchemaSpy lê apenas informações estruturais, ele funciona igualmente bem em uma réplica de banco de dados vazia. Isso significa que o relatório pode ser compartilhado para análise de terceiros sem medo.
Detectar construções abaixo do ideal
SchemaSpy incorpora conhecimento sobre as melhores práticas em design de banco de dados. Ele pode localizar e relatar anomalias como índices ausentes, relacionamentos implícitos e tabelas órfãs.
Comunidade
Bem-vindo à comunidade SchemaSpy! Apenas ler este arquivo ou usar a ferramenta significa que você faz parte da nossa comunidade e contribui para o futuro do projeto. Somos gratos por ter você conosco!
Alguns membros da nossa comunidade fizeram um esforço extra para compartilhar o SchemaSpy com mais pessoas, pediram ajuda financeira às suas empresas ou decidiram melhorar o software. Gostaríamos de ter espaço para agradecer a cada um de vocês individualmente, porque cada estrela, tweet ou outra atividade do Github nos lembra que nosso trabalho é apreciado.
Agradecimentos especiais
Para criar as primeiras cinco versões do SchemaSpy:
Para perpetuar o SchemaSpy desde então:
- Rafael Kasa,
- Nils Petzäll e
- Jesper Olsson
Para criar tutoriais e guias para a comunidade:
- ?? SQLite 可视化SQLite数据库Schemaspy by Geek Tutorial
- ?? Documentação automática de dados para banco de dados e verificação do SchemaSpy por Pavel Tišnovský
- ?? Análise de Datenbank com SchemaSpy por Michael Jentsch
- ?? Dica rápida: Eine Datenbank Struktur verstehen mit Hilfe von schemaspy por von Irving Tschepke
- ?? ▶️ Exemplo de uso de schemaspy por MGS Educación, Tecnología y Juventud
- ?? ▶️ Gerar modelo a partir de uma base de dados com schemaSpy da Inforgledys
- ?? Como documentar suas bases de dados com SchemaSpy por Jesus Jimenez Herrera
- ?? E você documenta a base de dados? ... SchemaSpy al rescate por Víctor Madrid
- ?? ▶️ Um DOC AUTOMÁTICO com SchemaSpy (e SYMFONY e GITLAB) por YoanDev
- ?? Documentação automática de um aplicativo Symfony com SchemaSpy e GitLab! por YoanDev
- ?? Documente uma base de dados com SchemaSpy da Data 4 Everyone!
- ?? SchemaSpy
- ?? SchemaSpyでER図を生成する Por @onozaty
- ?? ▶️ SchemaSpy - fácil de usar e já salvou meu trabalho! Por Dev Multitarefa
- ?? Documentando bancos com Schemaspy By Krisnamourt Silva
- ?? Usando SchemaSpy e banco de dados por @icegotcha
- ?? Configuração do SchemaSpy por Pham Xuan Dung
- Ferramentas elétricas Java por John Ferguson Smart
- Monolith para microsserviços: sustentando a produtividade enquanto desembaraça o sistema por Sam Newman
- Documentando seu banco de dados com SchemaSpy por Robin Tegg
- Documentando seu banco de dados relacional usando SchemaSpy por Orlando L Otero
- Como criar ERD (Diagrama de Entidade-Relacionamento) por tecnologias Cybrosys
- Como documentar um banco de dados com SchemaSpy por Data 4 Todos!
- Como usar o SchemaSpy para documentar seu banco de dados por Gustavo Ponce
- Como visualizar um esquema PostgreSQL como SVG com SchemaSpy por Willem van den Ende
- Instalando o SchemaSpy para documentar seu banco de dados por @SimonGoring
- Diagrama de esquema de banco de dados Netbox usando schemaspy por Jason Lavoie
- Documentação PostgreSQL de nível de produção em minutos por Magnus Brun Falch
- Schemaspy – crie documentação para seu banco de dados por Petr Hnilica
- SchemaSpy-HOWTO por @dpapathanasiou
- Documentação simples de banco de dados com SchemaSpy por @rieckpil
- Casos de uso de dados e Schemaspy: Database Management por Juilee Talele
Uso científico
Temos orgulho de observar que o SchemaSpy auxilia os pesquisadores em seu trabalho.
- Uma ontologia dinâmica baseada em dados de Dhomas Hatta Fudholi et al.
- Uma comparação empírica em larga escala de geradores de casos de teste baseados em pesquisa de última geração por Annibale Panichella et al.
- Guia do cientista para enviar dados ao ZFIN por Douglas G Howe
- Geração automatizada de testes unitários para classes com dependências de ambiente por Andrea Arcuri et al.
- BiG-SLiCE: Uma ferramenta altamente escalonável mapeia a diversidade de 1,2 milhão de clusters de genes biossintéticos por Satria A Kautsar et al.
- emrKBQA: Um conjunto de dados de resposta a perguntas com base em conhecimento clínico por Preethi Raghavan et al.
- EpiSurf: servidor de pesquisa baseado em metadados para analisar alterações de aminoácidos em epítopos de SARS-CoV-2 e outras espécies virais por Anna Bernasconi et al.
- Experiências na realização de avaliações de qualidade de software combinando análise de métricas baseadas em benchmark, visualização de software e avaliação especializada por Aiko Yamashita
- FOCUSPEARL versão 5.5.5 - descrição técnica do banco de dados e interface por Maarten C Braakhekke et al.
- De sistemas monolíticos a microsserviços: uma estrutura de decomposição baseada em mineração de processos por Davide Taibi e Kari Systä
- GEM: O mapeador de entidades GAAIN por Naveen Ashish et al.
- Healthsheet: Desenvolvimento de um artefato de transparência para conjuntos de dados de saúde por Negar Rostamzadeh et al.
- Como Aphia – a plataforma por trás de vários bancos de dados on-line e orientados taxonomicamente – pode servir tanto a comunidade taxonômica quanto o campo da informática sobre biodiversidade por Leen Vandepitte et al.
- Exploração de fronteira de dependência de controle incremental para geração de casos de teste de muitos critérios por Annibale Panichella et al.
- Integrando dados de radioterapia multimodal em i2b2 por Eric Zapletal et al.
- Metodologia de integração de um data warehouse clínico com um sistema de informação clínica: o caso HEGP de Eric Zapletal et al.
- NakeDB: Visualização do esquema do banco de dados por Luis Miguel Cortès-Peña
- Banco de dados OCTOPUS (v.2) por Alexandru T. Codilean et al.
- Sobre a correspondência aproximada de programas para proteção de software livre por Arnoldo José Müller Molina e Takeshi Shinohara
- Sobre a qualidade de esquemas de banco de dados relacionais em software de código aberto por Fabien Coelho et al.
- Prevendo a readmissão hospitalar analisando os registros EHR dos pacientes por Anshik
- Previsão de colaborações de atores usando dados do IMDB por Vassilis Polychronopoulos e Abhinav Venkateswar Venkataraman
- Geração de benchmark de modelo relacional probabilístico: Princípio e aplicação por Mouna Ben Ishak et al.
- Processos, motivações e questões para migração para arquiteturas de microsserviços: uma investigação empírica por Davide Taibi et al.
- Percebendo o potencial para ML a partir de registros eletrônicos de saúde por Haoyuan Zhang et al.
- Estratégias de propagação na geração de testes unitários baseados em busca por José Miguel Rojas et al.
- Evidência empírica sólida em testes de software por Gordon Fraser e Andrea Arcuri
- The Zebrafish Information Network: principais atualizações da página genética e da página inicial por Douglas G Howe et al
- Transformação e Avaliação da Base de Dados MIMIC no Modelo de Dados Comuns OMOP: Estudo de Desenvolvimento e Usabilidade por Nicolas Paris et al.
- Uma base de dados espaciais integrada em um Sistema de Informação Geográfica para a gestão do terroir: um novo sistema consistente e interativo por Alberto Lázaro-López et al.
- Usando uma combinação de ferramentas de medição para extrair métricas de projetos de código aberto por Normi S Awang Abu Bakar e Clive Boughton
- Usando painéis do Tableau como ferramenta de visualização para dados MIMIC-III por Karl Gottfried et al.
- Rede de informações Zebrafish, a base de conhecimento para a pesquisa de Danio rerio por Yvonne M Bradford et al.
Para citar o SchemaSpy, use:
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
A entrada do BibTeX para usuários do LaTeX é:
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
Instruções de construção
Aplicativo
SchemaSpy é construído usando maven e utilizamos o wrapper maven.
mvnw.cmd package
do Windows
./mvnw package
Linux ./mvnw
O aplicativo resultante pode ser encontrado em target
Analisando
Você precisa do seu próprio 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
Veja os resultados em:
Linux http://localhost:9000
Windows http://$(boot2docker ip):9000
Documentação
Construído usando Python
Criar ambiente
Instalar dependências pip install -r docs/requirements.txt
Navegue até docs
Windows make.bat clean && make.bat html
Linux make clean html
A documentação resultante pode ser encontrada em docs/build/html