Visio2010建立ER图并直接导出为SQL语句

2013年08月20日 ⁄ 综合 ⁄ 共 2581字 ⁄ 字号    ⁄ 评论关闭

建立数据库时我们需要考虑数据之间的关系,为了理清数据之间的关系我们需要对数据进行统一的整理。对于较复杂的数据库我们需要建立数据库模型,具体可分为两步:首先对数据库进行结构分析并使用树、表等描述数据,然后分析数据库的操作方法,规定数据库的增删改查操作,这两个步骤就构成了我们通常所说的数据库模型。

数据库模型有多重分类,通常所说的ER图是图模型,除此之外还有层次模型、网状模型、关系模型等。这其中比较简单的当数ER图,也称实体-联系图(Entity RelationshipDiagram),它提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。一般的ER图画法是采用圆、正方形、菱形来描述实体及他们之间的关系,这三者在图中分别代表了属性、实体、联系,如下图为一般ER图。

对ER图进行建模时提倡使用PowerDesigner(功能强大,形式多样),因为PowerDesigner能够直接将ER图导出为T-SQL代码。PowerDesigner能够做到Visio就不能吗?其实Visio本身没有太大的毛病,而且操作简单,但是功能相对较少和其他开发程序交互较弱。

一、Visio绘制ER图

1、Visio绘制一般的ER图

Visio没有提供专门的模板来绘制一般的ER图,有一种比较折中的办法:先在“更多形状”-->“流程图”-->“基本流程图”中找到长方形和菱形,分别右键“添加到我的形状”-->“添加到新模具”在弹出的对话框中填入“ER图”,这样我们就把菱形和方块添加到了新模具“ER图”中。用同样的思路,在“数据库”-->“ORM图表”找到椭圆和直线,添加到模具“ER图”中。

添加完成后,我们就可以在画ER图时打开该模具(文件->形状->打开模具),ER图所有的元素都会在一个模具中显示出来了。

2、用Visio自带的数据库模型模型图画ER图

Visio提供了两种形式绘制ER图,一种是通过数据库选项卡内的反向工程,它通过Visio和其他数据库驱动器进行交互,将已有的数据库架构转换为ER图;另一种是通过图形工具自己创建ER图。下面以一个收费系统的数据库的ER图为例,为大家介绍visio绘制ER图的方法。

打开Visio后选择“文件”-->“新建”-->“软件和数据库”,然后双击创建数据库模型图。创建后的控制面板左边分别有三个针对数据库ER模型的七个专用工具,最常用的是最上面的两个分别代表了数据库表及外键关系。操作简单在使用时只需将实体拖到页面上,随后会在下面出现数据库属性,在其中添加或修改数据表的一些属性。

可以通过更改实体的属性进行增加列、设置列数据类型、设置主键等功能。下图创建了一个名为T_Admin的实体,主键为chSerial。

       提示:如果想实体图显示实体的数据类型,可以通过数据库----管理----显示选项----表----数据类型---显示物理的,进行设置

实体间的关系,在visio中有两种表示表示方法;分别为下图所示:

visio默认为第一种形式,箭头的指向为实体的父表。可以通过数据库----管理----显示选项----文档----同时选中关系和鱼尾纹进行设置改变为第二种显示方式。

使用关系连接线连接后,会自动生成外键。生成的外键会在从表中自动创建父表中的主键列,可通过“数据库属性”----“定义”----选中两表中相互关联的列----“断开连接”来断开列,同样也可以使用该方法来连接两表中的列作为外键。效果图如下图所示:

使用Visio画的ER图基本的操作步骤已介绍完毕,在使用Visio建模时一定要细心,在画图前期一定要分析好每个实体及实体属性的命名规范。

上面的方法是通过使用图形工具来自己创建ER图,另外一种方法是通过“数据库”----“反响工程”自动生成某个数据库的ER图,操作简单、方便,建议大家使用下并和自己创建的ER图进行比较来纠正自己的使用误区。

二、Visio数据库模型图导出成SQL脚本

Visio没有提供直接的导出方法,想要将画好的ER图导出为SQL脚本只依赖Visio是远远不够的,而要使用其他工具。一种方法是使用Visio的导入/导出功能,将模型图导出为ERwin文件,然后使用PowerDesigner或者ERwin打开,最后转换为SQL即可,但是这种方法在Visio2010中已不存在,Visio2010不支持将ER图导出为ERwin格式,只支持导入。这就需要我们的第二种方法。

另外一种方法是使用OrthogonalToolBox小工具,它是专门负责VisioER转出的小工具,這個工具会通过XSLT模板来产生对应的SQLScript。

使用方法:

1.下载并安装OrthogonalToolBox(注:需要先安裝.Net Framework 1.1.4322,下载地址http://download.csdn.net/detail/zhang_xinxiu/5788193);

2.把下载下来的xslt文档Copy到:C:\Program Files(X86)\OrthogonalSoftware Corporation\Orthogonal Toolbox\StyleSheets;

3.若在Visio工具列沒有看到OrthogonalToolbox,在目前的工具列上检视 - 工具列 – OrthogonalToolbox 打勾,便可看到;

4. 选择“加载项”-->“OrthogonalToolbox”-->选中需要导出的ER图-->“Export XML”-->选中Set StyleSheet-->并选中OTERtoSQL.xslt模板

5.按下 Export会产生一个xml文件,使用IE打开该XML文件即可看见我们创建数据库的SQL脚本。

有问题就会有解决方法,我们需要耐心去找到它,有时几分钟,有时甚至几小时又或者几天,解决问题的关键在于是否有耐心,在这个过程中学到的知识比结果更重要。

最新文章

  1. 编程轶事-java中的null-遁地龙卷风
  2. php环境搭建wampserver、Apache、Mysql和php
  3. noi题库(noi.openjudge.cn) 1.9编程基础之顺序查找T01——T05
  4. .NET Remoting学习笔记(三)信道
  5. C++中static用法总结
  6. 每天学一点-Jquery判断checkbox是否为选中状态
  7. NDK(15)在ndk代码中注册和注销native函数
  8. dragsort拖动排序
  9. LINQ查询操作符 LINQ学习第二篇[转]
  10. 咬碎STL空间配置器
  11. 深入浅出seesion和cookie
  12. Swift 结构体的使用
  13. sentinel-dashboard安装、运行(ubuntu)
  14. 深度神经网络tricks and tips
  15. Linux 获取设备树源文件(DTS)里描述的资源【转】
  16. Windows Server 2008 R2之二从介质安装 AD DS
  17. lmdb数据格式
  18. PHP | 别家网站都有的登录功能,你的网站也可以有!
  19. django模板{%for%}中的forloop的应用
  20. 【linux】netstat 详解

热门文章

  1. [py][mx]django实现根据城市和课程机构类别过滤
  2. 如何确定selenium ID元素是否查找正确
  3. surface知识点
  4. [one day one question] 部分ios版本 在display: inline-block时候不支持flex
  5. PHP搞笑注释代码-佛祖配美女
  6. Docker 版本升级
  7. 20145311 《Java程序设计》第2周学习总结
  8. Xilinx Uboot网卡驱动分析
  9. 利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
  10. 从0开始学习 GITHUB 系列之「团队合作利器 BRANCH」【转】