SchemaSpy — анализатор метаданных базы данных. Это помогает администраторам и разработчикам баз данных визуализировать, перемещаться и понимать вашу модель данных. Благодаря простому в использовании отчету на основе HTML перемещение по диаграмме «сущность-связь» стало еще проще. Демонстрация нашей продукции доступна по адресу http://schemaspy.org/sample/index.html.
Установка
SchemaSpy — это автономное приложение без графического интерфейса. Просто загрузите последнюю версию JAR-файла или образа Docker, и все готово! Чтобы использовать SchemaSpy из Maven, см. главу 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-файл моментального снимка или используйте snapshot
тега Docker.
Мавен
SchemaSpy выпускает два типа файлов JAR: простой JAR и толстый JAR, включая все зависимости. Оба JAR-файла публикуются в Maven Central. Толстый 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.
Документация и часто задаваемые вопросы
Мы размещаем нашу документацию на сайте Read the Docs. Обязательно ознакомьтесь с разделом об устранении распространенных проблем.
Основные варианты использования
SchemaSpy охватывает множество вариантов использования для анализа и документирования базы данных. Обязательно ознакомьтесь с руководствами, предоставленными сообществом далее в этом README.
Документация по базе данных по требованию
Предпочтительным способом документирования баз данных является использование диаграмм сущностей-связей (ER). Однако рисование этих диаграмм вручную — настолько трудоемкий и чреватый ошибками процесс, что на практике мы их почти никогда не рисуем. Когда диаграммы нарисованы , они редко остаются актуальными. С SchemaSpy это больше не проблема. Диаграммы можно создавать быстро и даже в рамках рабочего процесса CI/CD, чтобы обеспечить их постоянную актуальность.
Ваша база данных в цифрах
SchemaSpy может собирать различные виды интересной статистики для описания формы и формы структуры вашей базы данных. Детализируйте эту статистику прямо в отчете или экспортируйте ее в Excel или CSV для дальнейшего анализа качества.
Сохраняйте конфиденциальность данных
В настоящее время данные компании могут быть ее самым ценным активом. Поскольку SchemaSpy считывает только структурную информацию, он работает так же хорошо и с пустой репликой базы данных. Это означает, что отчет можно без опасений передать для анализа третьей стороне.
Обнаружение неоптимальных конструкций
SchemaSpy включает в себя знания о лучших практиках проектирования баз данных. Он может обнаруживать и сообщать об аномалиях, таких как отсутствующие индексы, подразумеваемые связи и потерянные таблицы.
Сообщество
Добро пожаловать в сообщество SchemaSpy! Простое чтение этого файла или использование этого инструмента означает, что вы являетесь частью нашего сообщества и вносите свой вклад в будущее проекта. Мы благодарны, что вы с нами!
Некоторые из членов нашего сообщества приложили дополнительные усилия, чтобы поделиться SchemaSpy с большим количеством людей, попросили свои компании предоставить финансовую помощь или решили улучшить программное обеспечение. Нам бы хотелось, чтобы у нас было место, чтобы поблагодарить каждого из вас индивидуально, потому что каждая звезда Github, твит или другое действие напоминает нам, что наша работа ценится.
Особая благодарность
Для создания первых пяти версий SchemaSpy:
За сохранение SchemaSpy с тех пор:
- Рафал Каса,
- Нильс Петцелл и
- Йеспер Олссон
Для создания учебных пособий и руководств для сообщества:
- ?? SQLite SQLite Руководство по Schemaspy от Geek Tutorial
- ?? Автоматическое создание документов в базе данных с созданием собственного SchemaSpy от Павла Тишновского
- ?? Datenbank-Analyse mit SchemaSpy от Майкла Йентша
- ?? Быстрый совет: Eine Datenbank Struktur verstehen mit Hilfe von Schepke, автор: Ирвинг Чепке
- ?? ▶️ Пример использования схем от MGS Educación, Tecnologia y Juventud
- ?? ▶️ Создать модель на основе базы данных со схемой Spy от Inforgledys
- ?? Как документировать ваши базы данных с SchemaSpy от Хесуса Хименеса Эрреры
- ?? ¿Y si documentamos la base de datas? ... Восстановление SchemaSpy от Виктора Мадрида
- ?? ▶️ АВТОМАТИЧЕСКИЙ DOC с SchemaSpy (et SYMFONY и GITLAB) от YoanDev
- ?? Автоматическая документация для приложения Symfony с SchemaSpy и GitLab! от ЙоанДев
- ?? Документатор с базой данных с SchemaSpy от Data 4. Все!
- ?? SchemaSpyでデータベースのドキュメントを生成してみた Автор: 坂井裕介
- ?? SchemaSpyでER図を生成する Автор @onozaty
- ?? ▶️ SchemaSpy — легко использовать и спасти меня! Автор: Многозадачность
- ?? Documentando Bancos com Schemaspy Автор: Криснамурт Сильва
- ?? База данных SchemaSpy от @icegotcha
- ?? Hướng dẫn sử dụng SchemaSpy от Фам Суан Зунг
- Java Power Tools от Джона Фергюсона Смарт
- От монолита к микросервисам: поддержание производительности при распутывании системы Сэм Ньюман
- Документирование вашей базы данных с помощью SchemaSpy от Робина Тегга
- Документирование вашей реляционной базы данных с помощью SchemaSpy, Орландо Л. Отеро.
- Как создать ERD (диаграмму отношений сущностей) с помощью технологий Cybrosys
- Как документировать базу данных с помощью SchemaSpy по данным 4
- Как использовать SchemaSpy для документирования вашей базы данных Густаво Понсе
- Как визуализировать схему PostgreSQL в формате SVG с помощью SchemaSpy, Виллем ван ден Энде
- Установка SchemaSpy для документирования вашей базы данных от @SimonGoring
- Схема схемы базы данных Netbox с использованием Schemaspy Джейсона Лавуа
- Документация по PostgreSQL производственного уровня за считанные минуты Магнуса Бруна Фалча
- Schemaspy – создайте документацию для вашей базы данных Петра Хнилицы
- SchemaSpy-HOWTO от @dpapathanasiou
- Простая документация по базе данных с помощью SchemaSpy от @rieckpil
- Варианты использования данных и Schemaspy: Управление базами данных, Джули Талеле
Научное использование
Мы с гордостью отмечаем, что SchemaSpy помогает исследователям в их работе.
- Динамическая онтология, управляемая данными, разработанная Дхомасом Хаттой Фудхоли и др.
- Крупномасштабное эмпирическое сравнение современных генераторов тестовых примеров на основе поиска, проведенное Аннибале Паничеллой и др.
- Руководство для учёных по отправке данных в ZFIN, Дуглас Дж. Хоу.
- Автоматизированное создание модульных тестов для классов с зависимостями от среды Андреа Аркури и др.
- BiG-SLiCE: масштабируемый инструмент, картирующий разнообразие 1,2 миллиона кластеров биосинтетических генов, автор: Satria A. Kautsar et al.
- emrKBQA: Набор данных с ответами на вопросы из базы клинических знаний, автор Прити Рагхаван и др.
- EpiSurf: поисковый сервер на основе метаданных для анализа аминокислотных изменений в эпитопах SARS-CoV-2 и других видов вирусов, автор: Анна Бернаскони и др.
- Опыт проведения оценок качества программного обеспечения путем сочетания анализа метрик на основе эталонных показателей, визуализации программного обеспечения и экспертной оценки, Айко Ямасита.
- FOCUSPEARL версия 5.5.5 — техническое описание базы данных и интерфейса, автор: Maarten C Braakhekke et al.
- От монолитных систем к микросервисам: структура декомпозиции, основанная на интеллектуальном анализе процессов, Давиде Тайби и Кари Систя.
- GEM: GAAIN Entity Mapper, автор Навин Ашиш и др.
- Healthsheet: Разработка артефакта прозрачности для наборов данных о здоровье, автор Негар Ростамзаде и др.
- Как Aphia — платформа, лежащая в основе нескольких онлайновых и таксономически ориентированных баз данных — может служить как таксономическому сообществу, так и области информатики биоразнообразия, Лин Вандепитт и др.
- Исследование границы постепенной зависимости управления для создания многокритериальных тестовых примеров, авторы Аннибале Паничелла и др.
- Интеграция данных мультимодальной лучевой терапии в i2b2 Эрика Заплетала и др.
- Методология интеграции хранилища клинических данных с клинической информационной системой: пример HEGP, Эрик Заплетал и др.
- NakeDB: Визуализация схемы базы данных, Луис Мигель Кортэс-Пенья
- База данных OCTOPUS (версия 2), автор Александру Т. Кодилян и др.
- О приблизительном совпадении программ для защиты свободного программного обеспечения Арнольдо Хосе Мюллер Молина и Такеши Синохара
- О качестве схем реляционных баз данных в программном обеспечении с открытым исходным кодом Фабьен Коэльо и др.
- Прогнозирование повторной госпитализации путем анализа записей EHR пациентов от Anshik
- Прогноз сотрудничества актеров с использованием данных IMDB Василиса Полихронопулоса и Абхинава Венкатешвара Венкатарамана
- Генерация тестов вероятностной реляционной модели: принцип и применение, Моуна Бен Ишак и др.
- Процессы, мотивы и проблемы перехода на микросервисные архитектуры: эмпирическое исследование Давида Тайби и др.
- «Реализация потенциала ОД с помощью электронных медицинских карт», Хаоюань Чжан и др.
- Стратегии заполнения при генерации модульных тестов на основе поиска Хосе Мигель Рохас и др.
- Солидные эмпирические данные по тестированию программного обеспечения Гордона Фрейзера и Андреа Аркури.
- Информационная сеть рыбок данио: основная страница генов и обновления домашней страницы, авторы Дуглас Дж. Хоу и др.
- Преобразование и оценка базы данных MIMIC в общей модели данных OMOP: исследование разработки и удобства использования, Николя Пэрис и др.
- База данных, интегрированная в географическую систему информации для изучения терруара: новая система, последовательная и интерактивная, автор Альберто Лазаро-Лопес и др.
- Использование комбинации инструментов измерения для извлечения показателей из проектов с открытым исходным кодом, Норми С. Аванг Абу Бакар и Клайв Боутон
- Использование информационных панелей Tableau в качестве инструмента визуализации данных MIMIC-III, автор Карл Готфрид и др.
- Информационная сеть о рыбках данио, база знаний для исследований данио рерио, проведенная Ивонн М. Брэдфорд и др.
Чтобы цитировать SchemaSpy, используйте:
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
Запись BibTeX для пользователей LaTeX:
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
Инструкции по сборке
Приложение
SchemaSpy построен с использованием maven, и мы используем оболочку maven.
mvnw.cmd package
Windows mvnw.cmd
./mvnw package
Linux ./mvnw
Полученное приложение можно найти в 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
Создать венв
Установить зависимости pip install -r docs/requirements.txt
Перейти в docs
Windows make.bat clean && make.bat html
Linux make clean html
Итоговую документацию можно найти в docs/build/html