前页 后页

链接参考数据

如果您有许多使用相同参考数据的项目,则可以使用包含所有公共数据的中央存储库,并配置其他存储库以直接链接到该数据。此数据包括系统资源,例如安全用户和组,权限,脚本,词汇表术语或数据类型。在存储库之间共享公共数据使从事多个项目的团队可以利用一组公共且一致的系统资源,从而促进或执行公共用法和标准。

共享公共数据既可以应用于现有项目也可以应用于新项目,但是可以将每个单独的存储库配置为使用必要的大量公共数据。

链接到中央存储库中的通用数据的能力使用了各种数据库管理系统(DBMS),MySQL,SQL Server和Oracle提供的本机功能。这意味着它是在数据库级别配置的。这样做的好处是, Enterprise Architect可以正常运行而无需进行任何修改即可访问数据,实际上,它甚至不知道公用数据实际上位于另一个存储库中。

访问

色带

配置>模型>传输>共享存储库

配置存储库以使用共享数据

“共享存储库”屏幕使管理员能够生成可以在当前存储库的数据库上运行的SQL脚本,并将其配置为共享集中式存储库的通用数据。根据用户选择和当前存储库的DBMS定制生成的脚本。

配置当前存储库以共享集中式存储库数据的过程为:

行动

也可以看看

1个

在“脚本文件”字段中,输入脚本的完整文件名和路径,或单击Browse.按钮并进行搜索。

2

在“外部存储库”字段中,输入集中存储库的数据库名称。仅当输入的数据库名称在托管当前存储库的数据库服务器上存在时, Enterprise Architect才会继续。

3

选择将共享的表组,如本表所述。

4

单击生成按钮创建脚本并将其保存到指定位置。

5

打开您选择的SQL控制台并执行生成的SQL脚本。由于数据库的架构正在更新,因此需要较高的权限级别才能执行这些语句。

选择表组

存储库之间大约可以共享30个表,“共享存储库”屏幕将这些表组织成逻辑组。一些表组仅包含1个表,而其他表组则包含多个表。

您可以选择所有表组,也可以选择适合当前存储库的表组。

选项

行动

也可以看看

安全用户和组

该表组包含许多表,这些表定义了模型用户,安全组和每个模型用户所属的安全组。

安全权限

该表组包含分配给每个模型用户和安全组的安全权限。乍一看,“安全用户和组”不包含“安全权限”可能看起来很奇怪,但由于将其提供更大的灵活性,因此有意将两者分开是一个明智的决定。

这组表包含存储库中所有人员/资源的定义。

词汇表

该组包含词汇表表,该表定义了存储库的词汇表术语。

种类

这组表包含引用类型的定义,这些引用类型通常用于填充Enterprise Architect屏幕中的下拉列表。诸如复杂性,约束,工作量,问题,财产,风险等类型。

复杂性因素

这组表包含复杂度因子的定义,例如ECF和TCF。

剧本

该组包含定义所有自定义JSScript,JavaScript和VBScript的脚本表。

编辑源代码

资料类型

该组包含“数据类型”表,该表定义了所有代码语言和DBMS的数据类型。

这个怎么运作

该屏幕生成的脚本通过重命名已选择的每个Enterprise Architect表,然后创建引用同名集中式数据库表的同义词(或视图)来工作。

考虑以下示例,当前配置为EA1的存储库/数据库应配置为共享EAMAIN的T_GLOSSARY表。

该脚本将:

-将表EA1.T_GLOSSARY重命名为EA1.T_GLOSSARY_BAK

-创建一个新的同义词(或视图)调用EA1.T_GLOSSARY引用EAMAIN.T_GLOSSARY

Microsoft SQL Server和Oracle都支持数据库同义词,这是一种为另一个数据库对象提供备用名称的机制,在共享数据的情况下,另一个数据库对象是另一个数据库中的表。 MySQL不支持同义词,但是可以使用View实现相同的行为。

删除共享数据

如“工作原理”部分中所述,由于此屏幕生成的脚本仅通过在原始表名后附加“ _BAK”来重命名原始表,因此重命名(或删除)同义词(或视图)是相对容易的过程然后将表重命名为其原始名称。

笔记

  • Enterprise Architect只能为基于MySQL,SQL Server和Oracle的DBMS存储库生成共享存储库脚本
  • 为了共享公共数据,所有存储库必须使用相同的DBMS,并且必须位于同一网络上,最好在同一数据库服务器上(出于性能原因);也就是说,如果中央存储库是MySQL,则所有将使用公共数据的存储库都必须是MySQL,并且可以直接访问网络
  • 当前连接正在使用Cloud连接时,无法打开Shared Repository屏幕,因为基于Cloud的连接未提供生成有效的SQL脚本所需的必要数据库信息。但是,一旦生成了脚本(通过直接ODBC连接进行连接)并执行了脚本,基于云的连接将以与其直接连接对应部分相同的方式读取共享数据