SchemaSpy เป็นตัววิเคราะห์ข้อมูลเมตาของฐานข้อมูล ช่วยให้ผู้ดูแลระบบฐานข้อมูลและนักพัฒนาของคุณเห็นภาพ นำทาง และทำความเข้าใจโมเดลข้อมูลของคุณ ด้วยรายงานที่ใช้ HTML ที่ใช้งานง่าย การสำรวจแผนภาพความสัมพันธ์เอนทิตีไม่เคยง่ายขนาดนี้มาก่อน การแสดงผลิตภัณฑ์ของเรามีอยู่ที่ http://schemaspy.org/sample/index.html
การติดตั้ง
SchemaSpy เป็นแอปพลิเคชันแบบสแตนด์อโลนที่ไม่มี GUI เพียงดาวน์โหลดไฟล์ 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 เพื่อการวิเคราะห์ QA เพิ่มเติม
เก็บข้อมูลไว้เป็นความลับ
ปัจจุบัน ข้อมูลของบริษัทสามารถเป็นทรัพย์สินที่มีค่าที่สุดได้ เนื่องจาก SchemaSpy อ่านเฉพาะข้อมูลเชิงโครงสร้าง จึงทำงานได้ดีบนแบบจำลองฐานข้อมูลเปล่า ซึ่งหมายความว่าสามารถแชร์รายงานเพื่อการวิเคราะห์ของบุคคลที่สามได้โดยไม่ต้องกลัว
ตรวจจับโครงสร้างที่ไม่เหมาะสมที่สุด
SchemaSpy รวมเอาความรู้เกี่ยวกับแนวปฏิบัติที่ดีที่สุดในการออกแบบฐานข้อมูล สามารถค้นหาและรายงานความผิดปกติ เช่น ดัชนีที่หายไป ความสัมพันธ์โดยนัย และตารางที่ไม่เกี่ยวข้อง
ชุมชน
ยินดีต้อนรับสู่ชุมชน SchemaSpy! เพียงอ่านไฟล์นี้หรือใช้เครื่องมือก็หมายความว่าคุณเป็นส่วนหนึ่งของชุมชนของเราและมีส่วนร่วมในอนาคตของโครงการ เรารู้สึกขอบคุณที่มีคุณอยู่กับเรา!
สมาชิกชุมชนของเราบางคนได้ใช้ความพยายามเป็นพิเศษในการแบ่งปัน SchemaSpy กับผู้คนจำนวนมากขึ้น ขอให้บริษัทของพวกเขาให้ความช่วยเหลือทางการเงิน หรือตัดสินใจปรับปรุงซอฟต์แวร์ เราหวังว่าเราจะมีพื้นที่ขอบคุณพวกคุณแต่ละคนเป็นรายบุคคล เพราะดารา Github ทุกคน ทวีต หรือกิจกรรมอื่นๆ คอยเตือนเราว่างานของเราได้รับการชื่นชม
ขอขอบคุณเป็นพิเศษ
สำหรับการสร้าง SchemaSpy ห้าเวอร์ชันแรก:
เพื่อขยาย SchemaSpy นับตั้งแต่:
- ราฟาล คาซา,
- นีลส์ เพ็ทเซล และ
- เจสเปอร์ โอลส์สัน
สำหรับการสร้างบทช่วยสอนและคำแนะนำสำหรับชุมชน:
- - SQLite และ SQLite 数据库Schemaspy โดย Geek Tutorial
- - อัตโนมัติké vytvoření dokumentace k databázi s využitím nástroje SchemaSpy by Pavel Tišnovský
- - Datenbank-วิเคราะห์ด้วย SchemaSpy โดย Michael Jentsch
- - เคล็ดลับด่วน: Eine Datenbank Struktur เทียบกับ Hilfe von schemaspy โดย von Irving Tschepke
- - ตัวอย่าง Uso de schemaspy โดย MGS Educación, Tecnología y Juventud
- - โมเดลทั่วไปและฐานข้อมูลพร้อม schemaSpy โดย Inforgledys
- - สารคดีชุดนี้ประกอบด้วยข้อมูล SchemaSpy โดย Jesus Jimenez Herrera
- - ¿Y si documentamos la base de datos? ... SchemaSpy อัล rescate โดย Víctor Madrid
- - Une DOC AUTOMATIQUE พร้อม SchemaSpy (และ SYMFONY และ GITLAB) โดย YoanDev
- - เอกสารประกอบอัตโนมัติใน App Symfony และ SchemaSpy และ GitLab! โดย YoanDev
- - ผู้ทำเอกสารไม่มีฐานและ SchemaSpy โดย Data 4 ทุกคน!
- - SchemaSpyでデーTAベースのドキュメントを生成してみた By 坂井裕介
- - SchemaSpy でER図を生成した โดย @onozaty
- - SchemaSpy - ช่วยเหลือและช่วยเหลือคุณ! โดย Dev Multitask
- - เอกสาร bancos com Schemaspy By Krisnamourt Silva
- - แนะนำ SchemaSpy เครื่องมือทำฐานข้อมูลเอกสารโดย @icegotcha
- - Hớng dẫn dụng SchemaSpy โดย Pham Xuan Dung
- เครื่องมือไฟฟ้า Java โดย John Ferguson Smart
- Monolith to Microservices: การรักษาประสิทธิภาพการทำงานในขณะที่ระบบแยกส่วน โดย Sam Newman
- การจัดทำเอกสารฐานข้อมูลของคุณด้วย SchemaSpy โดย Robin Tegg
- การจัดทำเอกสารฐานข้อมูลเชิงสัมพันธ์ของคุณโดยใช้ SchemaSpy โดย Orlando L Otero
- วิธีสร้าง ERD (แผนภาพความสัมพันธ์เอนทิตี) โดยเทคโนโลยี Cybrosys
- วิธีการจัดทำเอกสารฐานข้อมูลด้วย SchemaSpy ด้วย Data 4 ทุกคน!
- วิธีใช้ SchemaSpy เพื่อจัดทำเอกสารฐานข้อมูลของคุณ โดย Gustavo Ponce
- วิธีแสดงภาพสคีมา PostgreSQL เป็น SVG ด้วย SchemaSpy โดย Willem van den Ende
- การติดตั้ง SchemaSpy เพื่อจัดทำเอกสารฐานข้อมูลของคุณโดย @SimonGoring
- แผนภาพสคีมาฐานข้อมูล Netbox โดยใช้ schemaspy โดย Jason Lavoie
- เอกสาร PostgreSQL ระดับการผลิตในไม่กี่นาทีโดย Magnus Brun Falch
- Schemaspy – สร้างเอกสารสำหรับฐานข้อมูลของคุณโดย Petr Hnilica
- SchemaSpy-HOWTO โดย @dpapathanasiou
- เอกสารฐานข้อมูลอย่างง่ายด้วย SchemaSpy โดย @rieckpil
- กรณีการใช้งานข้อมูลและ Schemaspy: การจัดการฐานข้อมูล โดย Juilee Talele
การใช้งานทางวิทยาศาสตร์
เราภูมิใจที่จะทราบว่า SchemaSpy ช่วยเหลือนักวิจัยในการทำงานของพวกเขา
- ภววิทยาแบบไดนามิกที่ขับเคลื่อนด้วยข้อมูลโดย Dhomas Hatta Fudholi และคณะ
- การเปรียบเทียบเชิงประจักษ์ขนาดใหญ่ของเครื่องกำเนิดกรณีทดสอบที่ใช้การค้นหาที่ล้ำสมัยโดย Annibale Panichella และคณะ
- คู่มือนักวิทยาศาสตร์สำหรับการส่งข้อมูลไปยัง ZFIN โดย Douglas G Howe
- การสร้างการทดสอบหน่วยอัตโนมัติสำหรับคลาสที่มีการพึ่งพาสภาพแวดล้อมโดย Andrea Arcuri และคณะ
- BiG-SLiCE: เครื่องมือที่ปรับขนาดได้สูงจะแมปความหลากหลายของกลุ่มยีนสังเคราะห์ทางชีวภาพ 1.2 ล้านกลุ่มโดย Satria A Kautsar และคณะ
- emrKBQA: ชุดข้อมูลตอบคำถามฐานความรู้ทางคลินิกโดย Preethi Raghavan และคณะ
- EpiSurf: เซิร์ฟเวอร์การค้นหาที่ขับเคลื่อนด้วยข้อมูลเมตาสำหรับการวิเคราะห์การเปลี่ยนแปลงของกรดอะมิโนภายในเอพิโทปของโรค SARS-CoV-2 และไวรัสสายพันธุ์อื่น ๆ โดย Anna Bernasconi และคณะ
- ประสบการณ์จากการประเมินคุณภาพซอฟต์แวร์ผ่านการผสมผสานการวิเคราะห์ตัวชี้วัดตามเกณฑ์มาตรฐาน การแสดงภาพซอฟต์แวร์ และการประเมินโดยผู้เชี่ยวชาญโดย Aiko Yamashita
- FOCUSPEARL เวอร์ชัน 5.5.5 - คำอธิบายทางเทคนิคของฐานข้อมูลและอินเทอร์เฟซโดย Maarten C Braakhekke และคณะ
- จากระบบขนาดใหญ่ไปจนถึงไมโครเซอร์วิส: กรอบการทำงานการสลายตัวตามกระบวนการขุดโดย Davide Taibi และ Kari Systä
- GEM: ผู้ทำแผนที่เอนทิตี GAAIN โดย Naveen Ashish และคณะ
- เอกสารสุขภาพ: การพัฒนาสิ่งประดิษฐ์ที่โปร่งใสสำหรับชุดข้อมูลด้านสุขภาพโดย Negar Rostamzadeh และคณะ
- Aphia ซึ่งเป็นแพลตฟอร์มที่อยู่เบื้องหลังฐานข้อมูลออนไลน์และฐานข้อมูลเชิงอนุกรมวิธานหลายแห่ง สามารถรองรับทั้งชุมชนอนุกรมวิธานและสาขาสารสนเทศความหลากหลายทางชีวภาพ โดย Leen Vandepitte และคณะได้อย่างไร
- การสำรวจชายแดนพึ่งพาการควบคุมที่เพิ่มขึ้นสำหรับการสร้างกรณีทดสอบหลายเกณฑ์โดย Annibale Panichella และคณะ
- การรวมข้อมูลการบำบัดด้วยรังสีหลายรูปแบบเข้ากับ i2b2 โดย Eric Zapletal และคณะ
- วิธีการรวมคลังข้อมูลทางคลินิกเข้ากับระบบข้อมูลทางคลินิก: กรณี HEGP โดย Eric Zapletal และคณะ
- NakeDB: การสร้างภาพสคีมาฐานข้อมูลโดย Luis Miguel Cort ́es-Peña
- ฐานข้อมูล OCTOPUS (v.2) โดย Alexandru T. Codilean และคณะ
- การจับคู่โดยประมาณของโปรแกรมสำหรับการปกป้องซอฟต์แวร์เสรีโดย Arnoldo José Müller Molina และ Takeshi Shinohara
- เกี่ยวกับคุณภาพของ Schemas ฐานข้อมูลเชิงสัมพันธ์ในซอฟต์แวร์โอเพ่นซอร์สโดย Fabien Coelho และคณะ
- การทำนายการกลับเข้ารับการรักษาในโรงพยาบาลโดยการวิเคราะห์บันทึก EHR ของผู้ป่วยโดย Anshik
- การทำนายการทำงานร่วมกันของนักแสดงโดยใช้ข้อมูล IMDB โดย Vassilis Polychronopoulos และ Abhinav Venkateswar Venkataraman
- การสร้างเกณฑ์มาตรฐานแบบจำลองเชิงสัมพันธ์ที่น่าจะเป็น: หลักการและการประยุกต์โดย Mouna Ben Ishak และคณะ
- กระบวนการ แรงจูงใจ และปัญหาในการย้ายไปสู่สถาปัตยกรรมไมโครเซอร์วิส: การตรวจสอบเชิงประจักษ์โดย Davide Taibi และคณะ
- การตระหนักถึงศักยภาพของ ML จาก Electronic Health Records โดย Haoyuan Zhang และคณะ
- การเพาะกลยุทธ์ในการสร้างการทดสอบหน่วยตามการค้นหาโดย José Miguel Rojas และคณะ
- หลักฐานเชิงประจักษ์ในการทดสอบซอฟต์แวร์โดย Gordon Fraser และ Andrea Arcuri
- เครือข่ายข้อมูล Zebrafish: หน้ายีนหลักและการอัปเดตโฮมเพจโดย Douglas G Howe และคณะ
- การเปลี่ยนแปลงและการประเมินฐานข้อมูล MIMIC ในแบบจำลองข้อมูลทั่วไปของ OMOP: การศึกษาการพัฒนาและการใช้งานโดย Nicolas Paris และคณะ
- Una base de datos espacial integrada en un Sistema de Información Geográfica para la gestión del terroir: ระบบใหม่ที่สอดคล้องกันและโต้ตอบโดย Alberto Lázaro-López et al.
- การใช้เครื่องมือวัดร่วมกันเพื่อแยกหน่วยเมตริกจากโครงการโอเพ่นซอร์สโดย Normi S Awang Abu Bakar และ Clive Boughton
- การใช้ Tableau Dashboards เป็นเครื่องมือสร้างภาพสำหรับข้อมูล MIMIC-III โดย Karl Gottfried และคณะ
- เครือข่ายข้อมูล Zebrafish ฐานความรู้สำหรับการวิจัย Danio rerio โดย Yvonne M Bradford และคณะ
หากต้องการอ้างอิง 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 wrapper
mvnw.cmd package
Windows mvnw.cmd
แพ็คเกจ 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
ติดตามผลได้ที่:
ลินุกซ์ http://localhost:9000
วินโดวส์ 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