国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL結合使用數據庫分析工具SchemaSpy的方法

2024-07-24 12:45:52
字體:
來源:轉載
供稿:網友

 近來,我和一幫老客戶一起工作,他們讓花時間給他們說一下在他們新環境中使用的新工具。其中,我發現的一個非常有用的工具是SchemaSpy。

SchemaSpy是Java開發的的工具(要求java 5或更高版本的支持),主要用來分析數據庫中數據模型的元數據,并且能生成基于瀏覽器可視化的顯示。通過點擊就可了解數據表的層次結構,父子表關系等,主要通過HTML 鏈接或者實體關系圖來表達。它也被設計成用來幫助解決由于約束而導致的數據庫關聯失敗的遲鈍錯誤。

我所喜歡ERD工具所能做的一件事是能快速的生成一個圖形表達,來展現數據庫那個表被引用最多,那些表已經被代替了是可以刪除的(為什么要保存你不需要的的數據呢?)。通過了解數據庫表關系而不是僅僅看查詢語句,這可以加快的開始步伐,并且還促進開發的過程使其更有效。SchemaSpy的另一個優點是,他是一個命令行工具,在每次執行后才生成html頁面,所以特別適合用于crontab中,使得模型改變后能自動調整頁面。很不錯,是吧?

這個工具使用起來簡單明了,可以幫你做很多的事。主要是,如果你的數據庫有一個外鍵,你就偷著樂吧,如果沒有,也不要太絕境,你還有更多的工作等著你。絕大多數情況下,SchemSpy可以出色的完成任務,但是有時候你需要以元數據文件的形式給它一點點的信息。

安裝SchemaSpy及其相關

    下載 SchemaSpy最新版的jar文件(書寫本文時的版本是5.0.0)
    確認你有一個能運行于你的操作平臺的Java JRE
    你需要一個你所用數據庫的Java驅動——我在使用 MySQL Connector/J
    安裝graphiz 包

創建 mysql.properties文件

當需求尚不明確時,我喜歡這樣建立一下,以便讓命令行能又短又整潔。這是我為我的Percona Server 5.6.10沙箱所使用的屬性文件:

復制代碼 代碼如下:
description=MySQL
driver=com.mysql.jdbc.Driver
connectionSpec=jdbc:mysql://127.0.0.1:5610/schemaspy
driverPath=/usr/share/java/mysql-connector-java.jar

Schema的例子:

CREATE TABLE `parent` ( `parent_id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`parent_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1CREATE TABLE `child_A` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `parent_id` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1CREATE TABLE `child_B` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `parent_id` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `parent_id` (`parent_id`), CONSTRAINT `child_B_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`parent_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东阿县| 正阳县| 钟山县| 宜昌市| 闻喜县| 镇赉县| 乐陵市| 上饶市| 山东省| 分宜县| 鄢陵县| 县级市| 汝城县| 京山县| 正阳县| 耿马| 清远市| 墨竹工卡县| 桃源县| 台东市| 大邑县| 宁德市| 马关县| 南昌县| 修武县| 株洲市| 华容县| 天峨县| 罗山县| 兴业县| 新余市| 丽水市| 洞口县| 兴安盟| 科尔| 万年县| 大冶市| 利川市| 西华县| 诏安县| 芜湖县|