SchemaSpy es un analizador de metadatos de bases de datos. Ayuda a los administradores y desarrolladores de su base de datos a visualizar, navegar y comprender su modelo de datos. Con un informe basado en HTML fácil de usar, recorrer el diagrama entidad-relación nunca ha sido tan sencillo. Nuestra muestra de productos está disponible en http://schemaspy.org/sample/index.html.
Instalación
SchemaSpy es una aplicación independiente sin GUI. ¡Simplemente descargue el archivo JAR o la imagen de Docker más reciente y estará listo para comenzar! Para utilizar SchemaSpy de Maven, consulte el capítulo de Maven a continuación.
# 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 correcciones de errores inéditos y funciones en progreso, descargue nuestro JAR de instantánea o use snapshot
de etiqueta de Docker
experto
SchemaSpy lanza dos tipos de archivos JAR: un JAR básico y un JAR completo que incluye todas las dependencias. Ambos JAR se publican en Maven Central. El JAR gordo también se adjunta a las versiones en GitHub. La insignia "maven central" en la parte superior de esta página lo llevará directamente a la última versión de Maven Central.
El Maven GAV de los dos artefactos es el siguiente:
- JAR básico:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← tenga en cuenta el clasificador de app
Inicio rápido
Supongamos que está utilizando PostgreSQL (11 o posterior). Primero, descargue su controlador JDBC.
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
Luego ejecute SchemaSpy en su base de datos y estará listo para explorarla en 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
Si no estás usando PostgreSQL, ¡no entres en pánico! SchemaSpy, listo para usar, admite más de una docena de bases de datos diferentes. Enumerelos usando -dbhelp
. ¿Aún no es suficiente? Siempre que su base de datos tenga un controlador JDBC, puede conectarlo a SchemaSpy.
Documentación y preguntas frecuentes
Alojamos nuestra documentación en Read the Docs. Asegúrese de consultar la sección sobre solución de problemas comunes.
Casos de uso principales
SchemaSpy cubre muchos casos de uso para el análisis y la documentación de bases de datos. Asegúrese de consultar las guías proporcionadas por la comunidad más adelante en este README.
Documentación de base de datos bajo demanda
La forma preferida de documentar bases de datos es mediante diagramas entidad-relación (ER). Sin embargo, dibujar estos diagramas manualmente es un proceso tan lento y propenso a errores que casi nunca los dibujamos en la práctica. Cuando se dibujan los diagramas, rara vez se mantienen actualizados. Con SchemaSpy, esto ya no es un problema. Los diagramas se pueden generar rápidamente e incluso como parte de su flujo de trabajo de CI/CD para garantizar que esté siempre actualizado.
Tu base de datos en números
SchemaSpy puede recopilar varios tipos de estadísticas interesantes para describir la forma de la estructura de su base de datos. Profundice en estas estadísticas directamente en el informe o expórtelas a Excel o CSV para realizar más análisis de control de calidad.
Mantenga los datos confidenciales
Hoy en día, los datos de una empresa pueden ser su activo más valioso. Dado que SchemaSpy sólo lee información estructural, funciona igual de bien en una réplica de base de datos vacía. Esto significa que el informe se puede compartir para que terceros lo analicen sin miedo.
Detectar construcciones subóptimas
SchemaSpy incorpora conocimientos sobre las mejores prácticas en el diseño de bases de datos. Puede localizar e informar anomalías como índices faltantes, relaciones implícitas y tablas huérfanas.
Comunidad
¡Bienvenido a la comunidad SchemaSpy! Simplemente leer este archivo o usar la herramienta significa que eres parte de nuestra comunidad y contribuyes al futuro del proyecto. ¡Estamos agradecidos de tenerte con nosotros!
Algunos de los miembros de nuestra comunidad han hecho un esfuerzo adicional para compartir SchemaSpy con más personas, han pedido a sus empresas que brinden ayuda financiera o han decidido mejorar el software. Deseamos tener el espacio para agradecer a cada uno de ustedes individualmente porque cada estrella, tweet u otra actividad de Github nos recuerda que nuestro trabajo es apreciado.
agradecimiento especial
Para crear las primeras cinco versiones de SchemaSpy:
Por perpetuar SchemaSpy desde entonces:
- Rafael Kasa,
- Nils Petzäll y
- Jesper Olsson
Para crear tutoriales y guías para la comunidad:
- ?? SQLite 可视化SQLite数据库Schemaspy de Geek Tutorial
- ?? Documentación automática de la base de datos de la memoria SchemaSpy de Pavel Tišnovský
- ?? Análisis de banco de datos con SchemaSpy de Michael Jentsch
- ?? Consejo rápido: Eine Datenbank Struktur verstehen mit Hilfe von esquemaspy por von Irving Tschepke
- ?? ▶️ Ejemplo de Uso de esquemaspy por MGS Educación, Tecnología y Juventud
- ?? ▶️ Generar modelo desde una base de datos con SchemaSpy by Inforgledys
- ?? Cómo documentar tus bases de datos con SchemaSpy por Jesús Jiménez Herrera
- ?? ¿Y si documentamos la base de datos? ... SchemaSpy al rescate por Víctor Madrid
- ?? ▶️ Un DOC AUTOMÁTICO con SchemaSpy (y SYMFONY y GITLAB) de YoanDev
- ?? Documentación automática de una aplicación Symfony con SchemaSpy y GitLab. por YoanDev
- ?? Documente una base de datos con SchemaSpy de Data 4 Everyone.
- ?? SchemaSpyでデータベースのドキュメントを生成してみた Por 坂井裕介
- ?? SchemaSpyでER図を生成する Por @onozaty
- ?? ▶️ SchemaSpy: ¡fácil de usar y ya salvo mi emprego! Por desarrollador multitarea
- ?? Documentando bancos con Schemaspy Por Krisnamourt Silva
- ?? Más información SchemaSpy Base de datos de @icegotcha
- ?? Hướng dẫn sử dụng SchemaSpy de Pham Xuan Dung
- Herramientas eléctricas de Java de John Ferguson Smart
- Del monolito a los microservicios: mantener la productividad mientras se desenreda el sistema por Sam Newman
- Documentando su base de datos con SchemaSpy por Robin Tegg
- Documentando su base de datos relacional usando SchemaSpy por Orlando L Otero
- Cómo crear ERD (diagrama de relación de entidad) mediante tecnologías Cybrosys
- ¡Cómo documentar una base de datos con SchemaSpy de Data 4 Everyone!
- Cómo utilizar SchemaSpy para documentar tu base de datos por Gustavo Ponce
- Cómo visualizar un esquema PostgreSQL como SVG con SchemaSpy por Willem van den Ende
- Instalación de SchemaSpy para documentar su base de datos por @SimonGoring
- Diagrama de esquema de base de datos de Netbox usando esquemaspy por Jason Lavoie
- Documentación de PostgreSQL de nivel de producción en minutos por Magnus Brun Falch
- Schemaspy: cree documentación para su base de datos por Petr Hnilica
- SchemaSpy-CÓMO por @dpapathanasiou
- Documentación de base de datos simple con SchemaSpy por @rieckpil
- Casos de uso de datos y Schemaspy: gestión de bases de datos por Juilee Talele
Uso científico
Estamos orgullosos de señalar que SchemaSpy ayuda a los investigadores en su trabajo.
- Una ontología dinámica basada en datos de Dhomas Hatta Fudholi et al.
- Una comparación empírica a gran escala de generadores de casos de prueba basados en búsquedas de última generación realizada por Annibale Panichella et al.
- Una guía científica para enviar datos a ZFIN por Douglas G Howe
- Generación automatizada de pruebas unitarias para clases con dependencias ambientales por Andrea Arcuri et al.
- BiG-SLiCE: una herramienta altamente escalable mapea la diversidad de 1,2 millones de grupos de genes biosintéticos por Satria A Kautsar et al.
- emrKBQA: un conjunto de datos de respuesta a preguntas de la base de conocimientos clínicos de Preethi Raghavan et al.
- EpiSurf: servidor de búsqueda basado en metadatos para analizar cambios de aminoácidos dentro de epítopos del SARS-CoV-2 y otras especies virales por Anna Bernasconi et al.
- Experiencias en la realización de evaluaciones de calidad de software mediante la combinación de análisis de métricas basadas en puntos de referencia, visualización de software y evaluación de expertos por parte de Aiko Yamashita.
- FOCUSPEARL versión 5.5.5: descripción técnica de la base de datos y la interfaz por Maarten C Braakhekke et al.
- De sistemas monolíticos a microservicios: un marco de descomposición basado en minería de procesos por Davide Taibi y Kari Systä
- GEM: El mapeador de entidades GAAIN de Naveen Ashish et al.
- Hoja de salud: Desarrollo de un artefacto de transparencia para conjuntos de datos de salud por Negar Rostamzadeh et al.
- Cómo Aphia, la plataforma detrás de varias bases de datos en línea orientadas taxonómicamente, puede servir tanto a la comunidad taxonómica como al campo de la informática de la biodiversidad por Leen Vandepitte et al.
- Exploración de fronteras de dependencia de control incremental para la generación de casos de prueba con muchos criterios por Annibale Panichella et al.
- Integración de datos de radioterapia multimodal en i2b2 por Eric Zapletal et al.
- Metodología de integración de un almacén de datos clínicos con un sistema de información clínica: el caso HEGP de Eric Zapletal et al.
- NakeDB: Visualización de esquemas de bases de datos por Luis Miguel Cort ́es-Peña
- Base de datos OCTOPUS (v.2) de Alexandru T. Codilean et al.
- Sobre la correspondencia aproximada de programas para proteger el software libre por Arnoldo José Müller Molina y Takeshi Shinohara
- Sobre la calidad de los esquemas de bases de datos relacionales en software de código abierto por Fabien Coelho et al.
- Predecir el reingreso hospitalario mediante el análisis de los registros EHR de los pacientes por Anshik
- Predicción de colaboraciones de actores utilizando datos de IMDB por Vassilis Polychronopoulos y Abhinav Venkateswar Venkataraman
- Generación de puntos de referencia de modelos relacionales probabilísticos: principio y aplicación por Mouna Ben Ishak et al.
- Procesos, motivaciones y cuestiones para la migración a arquitecturas de microservicios: una investigación empírica por Davide Taibi et al.
- Descubriendo el potencial del aprendizaje automático a partir de registros médicos electrónicos por Haoyuan Zhang et al.
- Estrategias de siembra en la generación de pruebas unitarias basadas en búsquedas por José Miguel Rojas et al.
- Evidencia empírica sólida en pruebas de software por Gordon Fraser y Andrea Arcuri
- The Zebrafish Information Network: página de genes principales y actualizaciones de la página de inicio por Douglas G Howe et al
- Transformación y evaluación de la base de datos MIMIC en el modelo de datos común OMOP: estudio de desarrollo y usabilidad de Nicolas Paris et al.
- Una base de datos espaciales integrada en un Sistema de Información Geográfica para la gestión del terroir: un nuevo sistema consistente e interactivo por Alberto Lázaro-López et al.
- Uso de una combinación de herramientas de medición para extraer métricas de proyectos de código abierto por Normi S Awang Abu Bakar y Clive Boughton
- Uso de Tableau Dashboards como herramienta de visualización para datos MIMIC-III por Karl Gottfried et al.
- Red de información sobre el pez cebra, la base de conocimientos para la investigación de Danio rerio realizada por Yvonne M Bradford et al.
Para citar SchemaSpy, utilice:
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
La entrada de BibTeX para usuarios de LaTeX es:
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
Instrucciones de construcción
Solicitud
SchemaSpy está construido usando maven y utilizamos el contenedor maven.
mvnw.cmd package
de Windows
./mvnw package
Linux ./mvnw
La aplicación resultante se puede encontrar en target
analizando
Necesitas tu propio 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
Mira los resultados en:
Linuxhttp http://localhost:9000
Windows http://$(boot2docker ip):9000
Documentación
Construido usando Python
crear venv
Instalar dependencias pip install -r docs/requirements.txt
Navegar a docs
Windows make.bat clean && make.bat html
Linux make clean html
La documentación resultante se puede encontrar en docs/build/html