位置: 编程技术 - 正文

MySQL结合使用数据库分析工具SchemaSpy的方法(mysql使用技巧)

编辑:rootadmin

推荐整理分享MySQL结合使用数据库分析工具SchemaSpy的方法(mysql使用技巧),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql数量用什么数据类型,mysql 使用,使用mysql数据库,mysql用法,mysql使用数据库语句,mysql 使用,使用mysql数据库,使用mysql数据库,内容如对您有帮助,希望把文章链接给更多的朋友!

近来,我和一帮老客户一起工作,他们让花时间给他们说一下在他们新环境中使用的新工具。其中,我发现的一个非常有用的工具是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.沙箱所使用的属性文件:

Schema的例子:

请注意,在表child_A里有一个隐含的通过parent_id作为外键关联到parent的关系,但在表child_B中建立了一个显式的外键parent_id。这会影响SchemaSpy如何辨别关系,以及你是否需要提供一个提示。 运行SchemaSpy(有外键)

如果没有元数据文件,你运行SchemaSpy,你将能看到parent 表和child_B表的关系如下图所示:

MySQL结合使用数据库分析工具SchemaSpy的方法(mysql使用技巧)

表child_A也能被加进来显示,如果你的标签指出了他们关系框,但是这个通常只能在你的子表和父表使用完全一样的名字(本例中parent_id)时候才能起作用。你的环境看起里就像是许多商店,在父表中名字是id,在他其的子表他们代表为parent_id——这情景对开发者可能比较熟悉,但是对SchemaSpy根本没有任何的帮助。那就是需要元数据文件来大显身手的时候。

配置元数据文件

元数据文件是一个XML格式的。下面的配置实例是用来把child_A表链接到parent表。

更多的复杂配置例子的可以 访问。运行SchemaSpy

下面的语法是连接MySQL数据库,SchemaSy同时对其他大多数流行的关系数据有很好支持。

-o选项,标识SchemaSpy的输出文件目录,要确定这个目录可以被web服务器所操作。需要提及的是,我通过在jar包所在目录建立一个mysql.properties文件,这样我可以不用输入任何的服务器:端口以及数据库名称的信息。浏览SchemaSpy输出

三个表的完整的关系视图如下图所示:

收尾感想

尽管我提及到了关系栏,SchemaSpy最有用的功能。为了避免SchemaSpy只有这个功能这样的假象,我要提及一下更多的功能栏:

表——名称,子表数量,父表,列计数,行计数,还有注解--大量用于高层次预览表大小以及一种快捷的方法是,用浏览的搜索属性定位到特定的表。 限制——列出数据库中明确的外键限制(这不包括通过元数据文件配置的限制!)。 异常——基于名字指出可能的字段/表的关系,没有索引的表,标识为可空的字段和唯一字段(吐了!),单列表,子增长字段的名称;空字符而不是实际sqlnull值的表;在发生重大错误时候,这可以作为一个大体的数据库检查项,或者细节需求的浏览。 字段——库总所有字段的列表,很方便通过名称筛选来查看是否有忽略的明确限制,然后把它们写到你的元数据文件中。 贡献——这是一个自由软件,John Currier请求得到你的捐献,一般它能有更多的理由来花费更多的精力和时间来维护这个软件,而不仅仅是他老婆的抱怨。

最后,你不要忘了,把配置好的SchemaSpy写到crontab来实现自动化。

如果正在使用其他的ERD工具,和SchemaSpy相比较怎么样?请通过评论畅所欲言。谢谢你有耐心读完本文。

在VB.NET应用中使用MySQL的方法 绪言在VisualStudio中使用向导连接到MySQL数据库是一件相当棘手的事情。因为MySQL并不在VS默认支持的数据库中(比如SQLServer)。在本文中我将介绍如何

创建一个实现Disqus评论模版的MySQL模型 在很长一段时间内,PostgreSQL都被认为是MySQL的替代品。但是,在那段时间里,根本没有办法使他达到MySQL所能达到的水平。最近几年里,这些问题都无法

在MySQL中创建带有IN和OUT参数的存储过程的方法 在MySQL中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话。如果你通过命令行控制MySQL,你需要记住准确

标签: mysql使用技巧

本文链接地址:https://www.jiuchutong.com/biancheng/347645.html 转载请保留说明!

上一篇:12个优化MySQL的技巧小整理(mysql的优化有哪几种)

下一篇:在VB.NET应用中使用MySQL的方法(vb.net invoke)

  • 一般纳税人缴纳增值税会计科目
  • 企业缴纳季度所得税
  • 有两处收入的怎么报个税汇算清缴
  • 单位购牙膏牙刷卫生纸怎么做账
  • 网上报税需要准备什么资料
  • 主营业务收入属于资产
  • 负数增长到正数的例子
  • 小规模免增值税的账务处理
  • 金税盘全额抵扣分录
  • 售后回购的增值税税率
  • 银行手续费跨月怎么计算
  • 小微企业几个人
  • 防伪税控技术维护费是进项还是销项
  • 劳保用品增值税税率是多少
  • 签发空头支票的赔偿金
  • 其他应收款的二级科目有备用金和老板名可以吗?
  • 资产负债表结构是什么
  • 质权的成立时间为
  • 企业与企业之间进行的电子商务模式是
  • 土建工程成本核算怎么做
  • 营改增餐饮行业纳税规则
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • 财务费用利息收入怎么结转
  • debian更换国内源教程
  • 房开企业增值税扣除土地价款包括契税吗
  • 萤火虫发光器的用途
  • 诉讼费属于什么费用
  • php实现base64图片上传方式实例代码
  • ruoyi框架快速入门
  • php生成唯一id
  • 销售返利的会计处理方法
  • 建筑工地仓库管理流程
  • 帝国cms工作流
  • 员工洗衣机使用制度
  • 转让土地使用权会计分录
  • Switch Between Gnome And KDE Desktops In Ubuntu Or Kubuntu
  • 购固定资产怎么入账
  • 企业分配的股票股利宣告发放
  • 宣告分配现金股利和股票股利的区别
  • 资产负债表中应收账款的计算公式
  • 汇算清缴补缴所得税的报税利润表怎么报
  • 企业购买随时准备出售的债券
  • 小公司财务做内账流程
  • 办理税务登记需要多久
  • 行政单位汽车加油无明细怎么办
  • 管理人员工资属于酌量性固定成本
  • 员工在异地缴纳社保,公司还能上吗
  • 车费报销记入哪个账户
  • 同一个客户有应收也有应付怎么办
  • 代收第三方补偿什么意思
  • 水利税费会计分录
  • 销售产品收取的价款
  • 未开票收入如何记账
  • 党委费用支出需要什么票据
  • 企业所得税退税怎么操作
  • 外汇申报国家代码表
  • 商贸公司会计成本核算方法
  • 私人公司盈利怎么把钱拿出来
  • MySQL索引背后的数据结构及算法原理
  • linux下mysql的root密码忘记的解决方法
  • xp系统许多网页打不开
  • 注册表的命令
  • 微软今天正式停产了吗
  • Win7 SP1补丁32/64位 2015年1月汇总篇(内附下载)
  • OS X10.10.5 Yosemite beta2发布 os x10.10.5yosemite beta2官网下载地址
  • win8怎么设置ip地址
  • win10系统怎么关闭病毒防护
  • win7系统连接蓝牙音箱
  • win10预览版绿屏重启解决
  • vmware怎么配置网络
  • dos命令行怎么打开
  • 自动监测和在线监测一样吗
  • vue router详解
  • webservice规范
  • js实现简单排列的方法
  • unity3d颜色
  • python flask 路由
  • jquery插件库怎么导入
  • 盐城城南新区的邮政编码是多少号
  • 纳税服务理念创新不足
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设