创建数据库模型(Visio2003的说明)

时间:2021-01-06 05:37:58

      使用“数据库模型图”模板以及关系建模概念或对象关系建模概念,可以创建新模型,也可以将现有数据库反向工程为模型。可以使用“实体关系”模具建立基于 SQL92 及以前标准的数据库模型。可以使用具有附加形状(用于类型)的“对象关系”模具建立基于 SQL99 及以后标准的数据库模型。

本文介绍如何创建数据库模型,创建模型后可对其执行哪些操作。要快速入门,可以在“文件”菜单上,依次指向“新建”“软件和数据库”,然后单击“数据库模型图”

创建数据库模型(Visio2003的说明)找不到数据库建模功能?

最有可能的情况是:您的 Microsoft Office Visio 版本不包含所查找的功能。要查明所用的 Visio 版本,请单击“帮助”菜单上的“关于 Microsoft Office Visio”。版本名称将显示在对话框中文本的首行。

  • Microsoft Office Visio Standard 不包含“数据库模型图”模板。
  • Microsoft Office Visio Professional 支持“数据库模型图”模板的反向工程功能(即在 Visio 中使用现有数据库创建模型),但它不支持正向工程(即使用 Visio 数据库模型生成 SQL 代码)。
  • 在 Visio for Enterprise Architects 中,您可以找到整套数据库建模功能,包括反向工程和正向工程功能。Visio for Enterprise Architects 包含在 MSDN Premium Subscription 中,随 Visual Studio Professional 和 Visual Studio Team System 基于角色的版本一起提供。
  1. 要开始创建数据库模型图,请执行下列操作之一:

创建数据库模型(Visio2003的说明)从头开始创建新模型图

如果没有所需的现有数据库作为起点,可以从一个空白数据库模型开始,将您的表和关系添加到这个空白模型中。

  1. “文件”菜单上,指向“新建”,指向“软件和数据库”,然后单击“数据库模型图”
  2. “数据库”菜单上,指向“选项”,然后单击“文档”
  3. “数据库文档选项”对话框中,选择要使用的符号集及其他表和关系选项,然后单击“确定”

创建数据库模型(Visio2003的说明)将现有数据库作为起点

如果有一个数据库,您要建立该数据库的模型以便更加了解该数据库,或者要将该数据库作为建立新模型的起点,则可以使用“反向工程向导”提取该数据库的架构或结构,然后建立新模型。

 注释   在启动该向导之前:

  • 如果要对一个 Microsoft Office Excel 工作簿进行反向工程,则在启动该向导之前,需要打开该工作簿,然后对包含列标题的单元格组(或区域)进行命名。如果要使用多个工作表,只需要命名每个工作表的列单元格组。这些区域在该向导中作为表来处理。有关如何对单元格区域进行命名的详细信息,请参阅您的 Microsoft Office Excel 帮助中的“定义命名单元格引用或区域”主题。
  • 为获得最佳效果,请在运行“反向工程向导”之前将您的默认驱动程序设置为要进行反向工程的目标数据库。此步骤可以确保该向导正确映射本地数据类型,并可以确保该向导提取的所有代码均正确显示在“代码”窗口中。
  1. “文件”菜单上,指向“新建”,指向“软件和数据库”,然后单击“数据库模型图”
  2. “数据库”菜单上,单击“反向工程”
  3. 在“反向工程向导”的第一个屏幕上,执行下列操作:
    1. 为您的数据库管理系统 (DBMS) 选择 Microsoft Office Visio 数据库驱动程序。如果您尚未将 Visio 数据库驱动程序与一个特定的 ODBC 数据源关联,请单击“设置”

 注释   如果是对 Excel 工作表进行反向工程,则选择“ODBC 通用驱动程序”。

  1. 选择所更新的数据库的数据源。如果尚未为现有数据库创建数据源,请单击“新建”以进行创建。

创建新数据源时,其名称会添加到“数据源”列表中。

  1. 对设置感到满意后,单击“下一步”
  1. 按照任何特定于驱动程序的对话框的指导执行操作。

例如,在“连接数据源”对话框中,键入用户名和密码,然后单击“确定”。如果您的数据源不受密码保护,只需单击“确定”

 注释   如果使用“ODBC 通用驱动程序”,您可能会收到一条指示反向工程信息可能不完整的错误消息。大多数情况下,这不是问题 - 只需单击“确定”并继续向导的操作。 

  1. 选中代表要提取的信息类型的复选框,然后单击“下一步”

 注释   有些项可能不可用(显示为灰色),因为不是所有的数据库管理系统都支持向导能够提取的所有元素类型。

  1. 选中代表要提取的表和视图(如果有)的复选框,或单击“全选”以全部提取,然后单击“下一步”

 注释   如果对一个 Excel 工作表进行反向工程,并且该列表中没有任何内容,很可能需要在工作表中命名包含列标题的单元格区域。

  1. 如果在步骤 5 中选中了“存储过程”复选框,则选中要提取的过程,或单击“全选”以全部提取,然后单击“下一步”
  2. 选择是否要将进行了反向工程的项自动添加到当前页面中。

 注释   除了在“表和视图”窗口中列出进行了反向工程的项外,还可以选择让向导自动创建绘图。如果决定不自动创建绘图,可以从“表和视图”窗口中将项拖到绘图页上以便手动组合数据库模型。

  1. 检查选择,验证所提取的信息是您需要的信息,然后单击“完成”

向导在“输出”窗口中提取出选定的信息并显示有关提取过程的说明。

创建数据库模型(Visio2003的说明)导入和优化现有模型

如果有一个现有 VisioModeler 或 PLATINUM ERwin 模型,您或许能够将其导入以创建一个 Visio 数据库模型图。该功能仅限于 VisioModeler 2.0 或更高版本的词典模型 (.imd) 文件以及 PLATINUM ERwin 2.6、3.0 和 3.52 .erx 文件。

  1. “文件”菜单上,指向“新建”,指向“软件和数据库”,然后单击“数据库模型图”
  2. “数据库”菜单上,指向“导入”,然后单击“导入 <模型类型>”
  3. 键入要导入模型的路径和名称,或单击“浏览”按钮定位模型文件,然后单击“打开”
  4. “导入”对话框中,单击“确定”

Visio 导入文件并在“输出”窗口中显示其导入进度。所导入的表显示在“表和视图”窗口中。

  1. 在“表和视图”窗口中,选择要建模的表,然后将其拖到绘图页上。
  1. 创建数据库模型图之后,就可以开始图的优化工作。可以添加和自定义表和视图,可以创建关系,还可以自定义列和数据类型。

创建数据库模型(Visio2003的说明)

使用“实体”形状在图中创建表。

  1. “实体关系”“对象关系”模具中,将一个“实体”形状拖到绘图上。
  2. 双击该形状以打开“数据库属性”窗口。
  3. “类别”下,单击“定义”,然后键入表的名称。
  4. “类别”下,单击“列”,键入名称并选择数据类型。
  5. 对于值不能为空的列,选中“必需的”复选框。
  6. 对于唯一标识数据库表中的每一行的列,选中“PK”(主关键字)复选框。
  7. “类别”下,单击“索引”“触发器”“检查”“扩展”以创建这些可选元素。

创建数据库模型(Visio2003的说明)

使用“数据库属性”窗口可添加或更改列的属性,包括数据类型和主关键字。

  1. 在您的图中双击表。
  2. 在“数据库属性”窗口的“类别”下,单击“列”
  3. 在第一个空的“物理名称”单元格中单击并键入一个名称。
  4. 若要更改列的数据类型,请单击列的“数据类型”域,然后从列表中选择一个数据类型或将数据类型键入列表中。例如,可以键入 decimal(8,2)char(30)
  5. 若要阻止空值,请选中“必需的”复选框。
  6. 若要将列指定为主关键字,请选中“PK”复选框。
  7. 若要在单击“列”类别时看到除显示的列以外的更多列属性,请选择该列然后单击“编辑”

创建数据库模型(Visio2003的说明)关系

关系使用主键和外键使数据库可以将一个表中的一行与一个相关表中的一行进行匹配。可以在图中显示这些关系。此外,还可以设置关系的基数(例如,一对多)并使用 Crow's Foot 表示法、关系表示法或 IDEF1X 表示法显示这个基数。但是,使用这三种表示法中的任何一种都不能在“数据库模型图”模板中显示多对多关系。

  1. 创建两个表之间的关系:
  1. 确保图中两个表均可见。如果对现有数据库中的模型进行了反向工程,则可能需要将一个或两个表从“表和视图”窗口拖到绘图页上。
  2. 双击要作为关系的主关键字方的表。
  3. 在“数据库属性”窗口的“类别”下,单击“列”
  4. 在网格中,单击要用来唯一标识表中每一行的列,然后选中“PK”复选框以将该列设置为主关键字。
  5. “对象关系”“实体关系”模具中,将一个“关系”形状拖放到该绘图页的一个空白区。
  6. 将高端连接到父表。
  7. 将低端连接到子表。

如果第二个表不包含与主关键字同名的列,建模器会将与主键同名的列作为外键添加到第二个表中。

 注释   如果关系线消失,请在“数据库”菜单上指向“选项”,然后单击“文档”。在“关系”选项卡的“显示”下,选中“关系”复选框。

  1. 设置关系的基数:
  1. 双击关系。
  2. 在“数据库属性”窗口的“类别”下,单击“杂项”
  3. “基数”下,选择最适合该关系的基数。对于一对多关系,最佳选择是“零或多”“一或多”。对于一对一关系,最佳选择是“零或一”“恰好为一”
  1. 要对图进行其他优化(如创建索引、检查子句和触发器),可以执行下列操作:

创建数据库模型(Visio2003的说明)创建索引

索引有助于提高运行查询时的数据库性能或速度。

  1. 打开数据库模型图。
  2. 双击要对其添加索引的表,然后在“数据库属性”窗口的“类别”列表中,单击“索引”
  3. 单击“新建”
  4. “创建索引”对话框中,键入索引的名称,然后单击“确定”
  5. “索引类型”列表中,选择一个选项以创建一个唯一或非唯一索引。
  6. “可用的列”列表中,选择要包含在此索引中的每一列的名称,然后单击“添加 >”
  7. “编入索引的列”列表中,选中“Asc”复选框以创建一个按升序排序的索引,或清除该复选框以创建一个降序排序的索引。

数据库模型图被更新。

创建数据库模型(Visio2003的说明)创建视图

您可以将视图视为保存的查询。如果需要重复访问来自多个表中的相同的信息,或者如果希望向用户公开数据又不允许他们更改实际的表时,视图尤其方便。

“实体关系”“对象关系”模具中,将一个“视图”形状拖到绘图页上。

创建数据库模型(Visio2003的说明)为表和视图设置扩展属性

根据您的数据库管理系统 (DBMS),您可以为表或视图设置扩展属性以确定它们的存储位置。

双击要为其设置扩展属性的表或视图,在“数据库属性”窗口的“类别”列表中,单击“扩展”

创建数据库模型(Visio2003的说明)创建检查子句

使用检查子句可确保输入列中的数据在特定的值范围内。例如,可以创建一个检查子句,它要求名称为“年龄”的列中的数据大于 65。

  1. 双击表以打开“数据库属性”窗口。
  2. “类别”下,单击“列”,然后单击要为其添加检查子句的列。
  3. 单击“编辑”
  4. “列属性”对话框的“检查”选项卡上,输入所需的约束。有关选项的详细信息,请参阅“列和域属性”对话框(“检查”选项卡)

检查子句添加到“代码”窗口的“局部代码”下。

创建数据库模型(Visio2003的说明)创建存储过程和用户定义的函数

使用存储过程和用户定义的函数创建可重复使用以重复执行相同操作的代码包。二者之间的主要区别是:用户定义的函数返回值,而存储过程执行代码但不返回值。

  1. “数据库”菜单上,指向“查看”,然后单击“代码”打开“代码”窗口。
  2. 单击“全局代码”,然后单击“新建”
  3. “代码编辑器”“属性”选项卡上,单击要创建的代码类型,然后为代码键入一个名称。
  4. “正文”选项卡上,键入代码,然后单击“确定”

创建数据库模型(Visio2003的说明)创建触发器

当数据库中出现特定的事件时,触发器会使您在触发器中指定的 SQL 代码运行。

  1. 双击表以打开“数据库属性”窗口。
  2. “类别”下,单击“触发器”,然后单击“添加”
  3. “属性”选项卡上,为触发器键入一个名称。
  4. “正文”选项卡上,键入代码,然后单击“确定”

触发器添加到“代码”窗口的“局部代码”下。