+1

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 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:

entity relationship.jpg

column_list.jpg

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

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
orathin: Oracle Thin
mysql: MySQL

6. References: http://schemaspy.sourceforge.net/


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.