Visio画ER图

article/2025/8/21 18:04:00

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

        数据库模型有多重分类,通常所说的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脚本。

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


http://chatgpt.dhexx.cn/article/9SRewDon.shtml

相关文章

visio 教程-绘图技巧、快捷键大全

visio 绘图技巧、快捷键大全,一键对齐 前言一、常用快捷键二、使用技巧对象移动对象复制绘制直线一键对齐 自动排列(非常好用)辅助线对齐图像边缘空白消除word中visio图编辑技巧去掉直线交叉点增加连接点 前言 Visio 是Office软件系列中的负…

visio画太极图

步骤一 添加两个圆,且大圆的半径是小圆的2倍。 步骤二 往小圆添加一条直线作为直径 步骤三 选中小圆和直径,依次点击开发工具–操作–连接,然后选中连接后的小圆,再依次点击开发工具–操作–修建,可以分离出如下所示的两个…

visio拉动线条总是保持直线状态

** 有时候在visio中画图想画直线,但是线条总是会弯折,为了解决和个问题,如下做:鼠标拖住线条的一个端点,按住ctrlshift,线条就只能在水平或垂直方向上移动:** 1、鼠标选择一个端点: 2、按住ctr…

Visio 2013画直线问题总结(折线变直,交叉时产生的交叉桥)

问题1:我们画直线时画出来的是折线,折线变直的方法:选中线条,点击鼠标右键,选择“直线连接线”如下图: 问题2:直线交叉时产生的交叉桥,影响整体美观,去掉交叉桥的方法&am…

WinForm学习

文章目录 一、C#是什么?二、C#的特点三、了解C#、.NET、Winform的关系四、快速创建Winform程序五、Winform菜单和工具栏六、Form初始化、布局总结 一、C#是什么? C#是一个现代的、通用的、面向对象的、面向组件、结构化语言C#的构想十分接近C和C,是一门…

winform利用html开发,Winform开发框架之HTML编辑控件介绍

我们知道,在做Web开发的时候,很多控件可以用来做HTML内容编辑的,Winform开发就相对少很多,不过很多时候,我们在做Winform开发的时候,也是需要处理这样的场景的。例如发送HTML邮件内容的时候,在给客户编写内容丰富的反馈意见或者邮件的时候等等,因此有必要做一个支持好H…

Winform开发框架之框架演化

原文地址为: Winform开发框架之框架演化 国庆去了一趟北京,回来一直忙着各种各样的事情,有公司的,有个人的,就没停过来,所以很久没有写博客了,写博客要有一个好的心情及一个好的思路&#xff0…

Winform开发框架之介绍

winform开发框架,尽量减少程序员在界面中的代码量和工作量,Model自动生成,界面以及控件自动生成,简单的逻辑自动生成。自动生成的界面已经实现简单逻辑增删改查功能。 其他开发框架都已经或多火烧实现了这些功能,如果代…

C# winform开发的考试系统

C# winform开发的考试系统,数据库sql server2014,分为教师端和学生端,两端都采用经典的三层架构,压缩包里有数据库文件,可以直接附加使用,另外还有sql脚本,也可以还原数据库使用,每行…

C#之winform(软件开发)

C#之winform(软件开发) 1.MD5加密 (1)其实就是对数据库里面的密码进行再加密,不至于让数据库一攻就破。 从这个链接先简单了解一下:MD5在线加密链接 你只能把字符串变成MD5值,但是无法将MD5值变成字符串。 using S…

WinForm框架开发教程 - 如何实现简单化开发?

在Winform开发领域开发过十多年的项目中,见证着形形色色的架构和官方技术的应用,从最早类似Winform模式的WebForm技术,到接着的JQuery界面组件,再到Asp.net Core的技术应用,以及后来的纯前端技术出现,Angul…

Winform开发框架之终极应用

原文地址为: Winform开发框架之终极应用 在前面两篇随笔,都围绕着我的Winform开发框架介绍一些重要的组件,如字典模块封装《Winform开发框架之字典数据管理》和权限管理系统模块封装《Winform开发框架之权限管理系统》。本框架主要的功能如下…

Visual Studio C# WinForm开发入门(4):概述

目录 一.Winform入门1.WinForm项目结构2.窗口设计与控件布局3.窗口事件4.时间显示器小练习 二.WinForm布局开发1.手动布局解决自适应问题2.WinForm布局属性3.WinForm布局器 三.WinForm常用控件1.界面展示2.实体类 Student(封装信息)3.逻辑事件代码Form.cs 四.图片框与项目资源1…

WinForm(一) WinForm入门与基本控件使用

一.Winform入门 WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。在VS2019中,C# WinForm 编程需要创建「Windows窗体应用程序」项目。Windows 窗体应用程序是 …

C# WinForm开发——窗体问题

本文讨论了C# WinForm开发中关于 窗体 的一些问题,如:单文档与多文档程序、避免同一窗体多次打开、多文档程序子窗体显示、跨窗体传值、高分屏(125%)下控件字体变模糊等,下面一一阐述。 目录 1 单文档与多文档程序1.1…

winform开发框架介绍

winform开发框架,尽量减少程序员在界面中的代码量和工作量,Model自动生成,界面以及控件自动生成,简单的逻辑自动生成。自动生成的界面已经实现简单逻辑增删改查功能。 其他开发框架都已经或多火烧实现了这些功能,如果…

C# Winform应用系统如何快速开发?看完这篇文章就懂了

在实际的业务中,往往还有很多需要使用Winform来开发应用系统的,如一些HIS、MIS、MES等系统,由于Winform开发出来的系统界面友好,响应快速,开发效率高等各方面原因,还有一些原因是独立的WInform应用系统方便…

C# winform 开发总结 -- 【持续更新】

此文章将记录我在C# Winform 开发过程中遇到的问题及相关知识技术点 ,方便自己以后查阅..... 博客列表: https://blog.csdn.net/column/details/winfrom-aps-net.html C# 在多线程中如何调用Winform 问题的产生:   我的WinForm程序中有一个用于更新主…

C#WinForm开发笔记——基本控件(一)

C#学习笔记——WinForm开发 一、WinForm应用程序1、VS创建WinForm桌面应用程序1>新建窗体2>添加新的窗体3>窗体 2、VS各图标表示的含义3、VS各种细节 二、控件1、Button1>属性2>事件 2、Label3、TextBox1>属性2>事件 4、Timer1>属性 5、RadioButton1&g…

C# WinForm开发框架

自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类 里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去读取这个D…