SchemaSpy adalah penganalisis metadata basis data. Ini membantu administrator database dan pengembang Anda memvisualisasikan, menavigasi, dan memahami model data Anda. Dengan laporan berbasis HTML yang mudah digunakan, menjelajahi diagram hubungan entitas tidak pernah semudah ini. Pameran produk kami tersedia di http://schemaspy.org/sample/index.html.
Instalasi
SchemaSpy adalah aplikasi mandiri tanpa GUI. Cukup unduh file JAR atau image Docker terbaru dan Anda siap berangkat! Untuk menggunakan SchemaSpy dari Maven, silakan lihat bab Maven di bawah.
# 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
Untuk perbaikan bug dan fitur yang belum dirilis, unduh JAR snapshot kami atau gunakan snapshot
tag Docker
Maven
SchemaSpy merilis dua jenis file JAR: JAR bare-bone dan JAR gemuk termasuk semua dependensi. Kedua JAR dipublikasikan ke Maven Central. JAR yang gemuk juga dilampirkan pada rilis di GitHub. Lencana "maven central" di bagian atas halaman ini akan membawa Anda langsung ke versi terbaru di Maven Central.
Maven GAV dari kedua artefak tersebut adalah sebagai berikut:
- JAR tanpa tulang:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← perhatikan pengklasifikasi app
Mulai cepat
Anggaplah Anda menggunakan PostgreSQL (11 atau lebih baru). Pertama, unduh driver JDBC mereka.
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
Kemudian jalankan SchemaSpy pada database Anda dan Anda siap menjelajahinya di 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
Jika Anda tidak menggunakan PostgreSQL, jangan panik! SchemaSpy mendukung lebih dari selusin database berbeda. Daftarkan mereka dengan menggunakan -dbhelp
. Masih kurang? Selama database Anda memiliki driver JDBC, Anda dapat menyambungkannya ke SchemaSpy.
Dokumentasi dan FAQ
Kami menyimpan dokumentasi kami di Baca Dokumen. Pastikan untuk memeriksa bagian pemecahan masalah umum.
Kasus penggunaan utama
SchemaSpy mencakup banyak kasus penggunaan untuk analisis dan dokumentasi database. Pastikan untuk membaca panduan yang disediakan oleh komunitas nanti di README ini.
Dokumentasi database berdasarkan permintaan
Cara yang lebih disukai untuk mendokumentasikan database adalah melalui diagram hubungan entitas (ER). Namun, menggambar diagram ini secara manual merupakan proses yang memakan waktu dan rawan kesalahan sehingga kami hampir tidak pernah menggambarnya dalam praktik. Ketika diagram digambar , diagram tersebut jarang selalu up-to-date. Dengan SchemaSpy, hal ini tidak lagi menjadi masalah. Diagram dapat dibuat dengan cepat dan bahkan sebagai bagian dari alur kerja CI/CD Anda untuk memastikan diagram selalu diperbarui.
Basis data Anda dalam angka
SchemaSpy dapat mengumpulkan berbagai macam statistik menarik untuk menggambarkan bentuk dan bentuk struktur database Anda. Telusuri lebih dalam statistik ini langsung di laporan atau ekspor ke excel atau CSV untuk analisis QA lebih lanjut.
Jaga kerahasiaan datanya
Saat ini, data perusahaan dapat menjadi aset mereka yang paling berharga. Karena SchemaSpy hanya membaca informasi struktural, ia bekerja dengan baik pada replika database yang kosong. Artinya, laporan tersebut dapat dibagikan untuk analisis pihak ketiga tanpa rasa takut.
Deteksi konstruksi sub-optimal
SchemaSpy menggabungkan pengetahuan tentang praktik terbaik dalam desain basis data. Itu dapat menemukan dan melaporkan anomali seperti indeks yang hilang, hubungan tersirat, dan tabel yatim piatu.
Masyarakat
Selamat datang di komunitas SchemaSpy! Hanya dengan membaca file ini atau menggunakan alat ini berarti Anda adalah bagian dari komunitas kami dan berkontribusi terhadap masa depan proyek. Kami bersyukur Anda bersama kami!
Beberapa anggota komunitas kami telah melakukan upaya ekstra dalam berbagi SchemaSpy dengan lebih banyak orang, meminta perusahaan mereka untuk memberikan bantuan keuangan, atau memutuskan untuk meningkatkan perangkat lunak. Kami berharap kami memiliki ruang untuk berterima kasih kepada Anda masing-masing secara individu karena setiap bintang Github, tweet, atau aktivitas lainnya mengingatkan kami bahwa pekerjaan kami dihargai.
Terima kasih khusus
Untuk membuat lima versi pertama SchemaSpy:
Untuk mengabadikan SchemaSpy sejak:
- Rafał Kasa,
- Nils Petzäll, dan
- Jesper Olsson
Untuk membuat tutorial dan panduan bagi komunitas:
- ?? SQLite 可视化SQLite数据库Schemaspy oleh Geek Tutorial
- ?? Dokumentasi otomatis untuk database dan pengembangan SchemaSpy oleh Pavel Tišnovský
- ?? Analisis Datenbank dengan SchemaSpy oleh Michael Jentsch
- ?? Tip Singkat: Eine Datenbank Struktur verstehen mit Hilfe von Schespy oleh von Irving Tschepke
- ?? ▶️ Contoh Penggunaan skema oleh MGS Educación, Tecnología y Juventud
- ?? ▶️ Menghasilkan model dari basis data dengan skemaSpy oleh Inforgledys
- ?? Bagaimana mendokumentasikan basis data kami dengan SchemaSpy oleh Jesus Jimenez Herrera
- ?? Apakah Anda mendokumentasikan basis data? ... SchemaSpy telah dihidupkan kembali oleh Víctor Madrid
- ?? ▶️ Sebuah DOC OTOMATIS dengan SchemaSpy (dan SYMFONY dan GITLAB) oleh YoanDev
- ?? Dokumentasi otomatis dari Aplikasi Symfony dengan SchemaSpy dan GitLab! oleh YoanDev
- ?? Dokumentasikan dasar données dengan SchemaSpy oleh Data 4 Semuanya!
- ?? SchemaSpyでデータベースのドキュメントを生成してみた Oleh 坂井裕介
- ?? SchemaSpyでER図を生成する Oleh @onozaty
- ?? ▶️ SchemaSpy - mudah digunakan dan menyelamatkan pekerjaan saya! Oleh Dev Multitask
- ?? Documentando bancos com Schemaspy Oleh Krisnamourt Silva
- ?? แนะนำ SchemaSpy dan Database oleh @icegotcha
- ?? SchemaSpy oleh Pham Xuan Dung
- Perkakas Listrik Java oleh John Ferguson Smart
- Monolit ke Layanan Mikro: Mempertahankan Produktivitas Sambil Mengurai Sistem oleh Sam Newman
- Mendokumentasikan database Anda dengan SchemaSpy oleh Robin Tegg
- Mendokumentasikan database relasional Anda menggunakan SchemaSpy oleh Orlando L Otero
- Cara Membuat ERD (Entity Relationship Diagram) dengan teknologi Cybrosys
- Cara Mendokumentasikan Database Dengan SchemaSpy oleh Data 4 Semuanya!
- Cara menggunakan SchemaSpy untuk mendokumentasikan database Anda oleh Gustavo Ponce
- Cara memvisualisasikan skema PostgreSQL sebagai SVG dengan SchemaSpy oleh Willem van den Ende
- Menginstal SchemaSpy untuk mendokumentasikan database Anda dengan @SimonGoring
- Diagram skema database Netbox menggunakan skema oleh Jason Lavoie
- Dokumentasi PostgreSQL tingkat produksi dalam hitungan menit oleh Magnus Brun Falch
- Schemaspy – buat dokumentasi untuk database Anda oleh Petr Hnilica
- SchemaSpy-HOWTO oleh @dpapathanasiou
- Dokumentasi database sederhana dengan SchemaSpy oleh @rieckpil
- Kasus penggunaan data dan Skema: Manajemen Basis Data oleh Juilee Talele
Penggunaan ilmiah
Kami bangga mengetahui bahwa SchemaSpy membantu para peneliti dalam pekerjaan mereka.
- Ontologi dinamis berbasis data oleh Dhomas Hatta Fudholi dkk.
- Perbandingan empiris skala besar dari generator kasus uji berbasis pencarian yang canggih oleh Annibale Panichella dkk.
- Panduan ilmuwan untuk mengirimkan data ke ZFIN oleh Douglas G Howe
- Pembuatan pengujian unit otomatis untuk kelas dengan ketergantungan lingkungan oleh Andrea Arcuri dkk.
- BiG-SLiCE: Alat yang sangat skalabel memetakan keragaman 1,2 juta kluster gen biosintetik oleh Satria A Kautsar dkk.
- emrKBQA: Kumpulan Data Menjawab Pertanyaan Berbasis Pengetahuan Klinis oleh Preethi Raghavan dkk.
- EpiSurf: server pencarian berbasis metadata untuk menganalisis perubahan asam amino dalam epitop SARS-CoV-2 dan spesies virus lainnya oleh Anna Bernasconi dkk.
- Pengalaman melakukan evaluasi kualitas perangkat lunak melalui penggabungan analisis metrik berbasis benchmark, visualisasi perangkat lunak, dan penilaian ahli oleh Aiko Yamashita
- FOCUSPEARL versi 5.5.5 - deskripsi teknis database dan antarmuka oleh Maarten C Braakhekke dkk.
- Dari sistem monolitik hingga layanan mikro: Kerangka kerja dekomposisi berdasarkan proses penambangan oleh Davide Taibi dan Kari Systä
- PERMATA: Pemeta Entitas GAAIN oleh Naveen Ashish dkk.
- Lembar Kesehatan: Pengembangan Artefak Transparansi untuk Kumpulan Data Kesehatan oleh Negar Rostamzadeh dkk.
- Bagaimana Aphia—Platform di Balik Beberapa Database Online dan Berorientasi Taksonomi—Dapat Melayani Komunitas Taksonomi dan Bidang Informatika Keanekaragaman Hayati oleh Leen Vandepitte dkk.
- Eksplorasi Perbatasan Ketergantungan Kontrol Tambahan untuk Pembuatan Kasus Uji Banyak Kriteria oleh Annibale Panichella dkk.
- Mengintegrasikan Data Terapi Radiasi Multimodal ke i2b2 oleh Eric Zapletal dkk.
- Metodologi integrasi gudang data klinis dengan sistem informasi klinis: kasus HEGP oleh Eric Zapletal dkk.
- NakeDB: Visualisasi Skema Basis Data oleh Luis Miguel Cort ́es-Peña
- Basis data OCTOPUS (v.2) oleh Alexandru T. Codilean dkk.
- Tentang perkiraan pencocokan program untuk melindungi perangkat lunak gratis oleh Arnoldo José Müller Molina dan Takeshi Shinohara
- Tentang Kualitas Skema Database Relasional dalam Perangkat Lunak Sumber Terbuka oleh Fabien Coelho dkk.
- Memprediksi Penerimaan Kembali Rumah Sakit dengan Menganalisis Catatan EHR Pasien oleh Anshik
- Prediksi kolaborasi aktor menggunakan data IMDB oleh Vassilis Polychronopoulos dan Abhinav Venkateswar Venkataraman
- Pembuatan benchmark model relasional probabilistik: Prinsip dan penerapan oleh Mouna Ben Ishak dkk.
- Proses, Motivasi, dan Masalah Migrasi ke Arsitektur Layanan Mikro: Investigasi Empiris oleh Davide Taibi dkk.
- Menyadari Potensi ML dari Catatan Kesehatan Elektronik oleh Haoyuan Zhang dkk.
- Strategi penyemaian dalam pembuatan unit test berbasis pencarian oleh José Miguel Rojas dkk.
- Bukti empiris yang kuat dalam pengujian perangkat lunak oleh Gordon Fraser dan Andrea Arcuri
- Jaringan Informasi Zebrafish: halaman gen utama dan pembaruan halaman beranda oleh Douglas G Howe dkk
- Transformasi dan Evaluasi Database MIMIC dalam Model Common Data OMOP: Studi Pengembangan dan Kegunaan oleh Nicolas Paris et al.
- Dasar integrasi data khusus dalam Sistem Informasi Geografis untuk pengelolaan wilayah: sistem baru yang konsisten dan interaktif oleh Alberto Lázaro-López dkk.
- Menggunakan kombinasi alat pengukuran untuk mengekstrak metrik dari proyek sumber terbuka oleh Normi S Awang Abu Bakar dan Clive Boughton
- Menggunakan Tableau Dashboard sebagai Alat Visualisasi Data MIMIC-III oleh Karl Gottfried et al.
- Jaringan informasi Zebrafish, basis pengetahuan untuk penelitian Danio rerio oleh Yvonne M Bradford dkk.
Untuk mengutip SchemaSpy, silakan gunakan:
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
Entri BibTeX untuk pengguna LaTeX adalah:
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
Petunjuk Pembuatan
Aplikasi
SchemaSpy dibuat menggunakan maven dan kami menggunakan pembungkus maven.
mvnw.cmd package
Windows mvnw.cmd
./mvnw package
Linux ./mvnw
Aplikasi yang dihasilkan dapat ditemukan di target
Menganalisis
Anda memerlukan SonarQube Anda sendiri:
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
Saksikan hasilnya di:
Linux http://localhost:9000
Windows http://$(boot2docker ip):9000
Dokumentasi
Dibangun menggunakan Python
Buat venv
Instal dependensi pip install -r docs/requirements.txt
Navigasikan ke docs
Windows make.bat clean && make.bat html
Linux make clean html
Dokumentasi yang dihasilkan dapat ditemukan di docs/build/html