Hướng dẫn sử dụng SchemaSpy
1. Mục đích Khi bạn cần trình bày thiết kế của 1 cơ sở dữ liệu của 1 hệ thống cho khách hàng 1 cách trực quan, thân thiện thay vì xem câu sql, hay phải mất công vẽ lược đồ quan hê (diagram entity relationship) Hoặc chia sẻ kiến trúc bảng, cột của database hiện tại cho các thành viên khác ...
1. Mục đích
-
Khi bạn cần trình bày thiết kế của 1 cơ sở dữ liệu của 1 hệ thống cho khách hàng 1 cách trực quan, thân thiện thay vì xem câu sql, hay phải mất công vẽ lược đồ quan hê (diagram entity relationship) Hoặc chia sẻ kiến trúc bảng, cột của database hiện tại cho các thành viên khác như: tester, team nhập liệu... SchemaSpy chính là tool bạn cần. SchemaSpy là java tools cho phép chúng ta phân tích các metadata của 1 cơ sở dữ liệu (mysql, postgreSql, oracle, db2..) sau đó tự động sinh ra các thống kê: bảng, cột, đồng thời vẽ lược đồ quan hệ dựa trên các quan hệ khóa chính, khóa ngoại dưới dạng các file html. Sau đó người dùng có thể truy cập như 1 web html tĩnh bình thường. SchemaSpy sinh ra file html hỗ trợ view 360: tức là trên lược đồ quan hệ bạn có thể chỉ vào 1 bảng để xem chi tiết bảng đó, từ bảng đó lại có thể xem thông tin của nó hoặc xem thông tin bảng khác. 1 tính năng đơn giản nhưng rất tiện lợi.
-
SchemaSpy vô cùng đơn giản chỉ với 1 dòng lệnh, support nhiều loại cơ sở dữ liệu khác nhau. Example link: http://schemaspy.sourceforge.net/sample/
-
Feature mockup:
2. Yêu cầu
- Java 5 trở lên để run file Jar
- Thư viện đồ họa Graphviz cho vẽ, tạo lược đồ quan hệ. Nếu thiếu thư viện này tool vẫn có thể chạy nhưng sẽ không tạo ra được lược đồ quan hệ
- jdbc connector: tùy vào sử dụng với database nào sẽ sử dụng connector của database tương ứng
3. Hướng dẫn
-
Cài đặt JDK, nếu chưa có bạn có thể down tại link: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
-
Download và cài đặt Graphviz, tùy vào hệ điều hành mà bạn chọn gói cài đặt tương ứng http://www.graphviz.org/Download..php Hoặc http://download.cnet.com/Graphviz-for-Windows/3000-20418_4-75548132.html http://download.cnet.com/Graphviz-for-Ubuntu/3000-20418_4-75711167.html Nếu trên windown, sau khi download Graphviz xong, bạn cần thiết lập biến môi trường để trỏ đến Graphviz. Trên ubuntu, quá trình cài đặt đã setup luôn biến môi trường cho Graphviz.
-
Download jdbc connector:
- MySQL connector : https://www.mysql.com/products/connector/
- PostgreSql driver: https://jdbc.postgresql.org/
-
Chạy lệnh:
-
cd đến thư mục chứa file schemaSpy.jar. Ví dụ: "cd /home/dungpx/diagram"
-
dùng lệnh java để chạy schemaSpy.jar "java -jar schemaSpy.jar -t mysql -host 10.0.1.19 -db attendance -u system -p system -o /home/dungpx/diagram/attendanceDiagram/ -dp /home/dungpx/diagram/library/mysql-connector-java-5.1.38-bin.jar "
-
Hưởng thụ thành quả
-
4. Ý nghĩa 1 vài tham số phổ biến
-t : databaseType. Ví dụ ở trên là mysql -host: địa chỉ IP hoặc đường dẫn server chứa database -db: tên của database muốn tạo thống kê, lược đồ quan hệ -u : username để truy cập database -p : passworde để truy cập database -o : đường dẫn của thư mục sẽ được chọn để sinh ra file html -dp: đường dẫn trỏ đến thư mục chứa file driver của database
5. Danh sách giá trị của param -t support cho 1 vài cơ sở dữ liệu phổ biến
db2: IBM DB2 with 'app' Driver mssql: Microsoft SQL Server pgsql: PostgreSQL sqlite: SQLite ora: Oracle with OCI8 Driver mysql: MySQL
6. References: http://schemaspy.sourceforge.net/