EntityModelStudio系列教程3--静态建模之数据库设计

在本系列教程的前一篇:静态建模之实体模型设计中已经涉及了一小部分数据库设计相关的内容,比如在实体设计器中设计索引和触发器。本篇的内容将继续介绍其它与数据库设计相关的内容和操作。在前一篇使用到的工程在这里也会被用到,如果读者是直接开始阅读文本,那么最好是能重新创建该工程文件。好,现在请打开之前创建的工程文件MyProject,开始数据库设计的介绍。

一.存储过程,视图及函数

选择主菜单DatabaseàStored Procedures…菜单项,打开存储过程管理器界面,如下图所示:

左边是显示当前所有存储过程的列表,右侧是存储过程编辑区。点击New按钮创建一个新的存储过程,然后在左侧列表中选中该新创建的存储过程,如下图所示:

现在右侧的编辑区可以使用了,当前显示的内容是自动生成的,是一个新建存储过程默认的内容。开发者可以在右侧编辑区编写自己需要的存储过程。但是需要遵守当前选择数据库对存储过程的语法要求。编辑完成后,需要点击Save按钮保存所做的修改。如果需要删除选中的存储过程请点击Delete按钮。关闭存储过程管理器,然后保存工程。

存储过程管理的基本操作就这些,视图和函数管理器的操作也是类似,这里就不再介绍了。开发者可以从主菜单的Database菜单中打开相应的管理器。

二.数据库转换

在EMStudio中选择的数据库时可以随时改变的。当选择的数据库改变后,索引,触发器等相关的设计内容也会自动改变。选择主菜单ProjectàSetting…,打开项目设置界面。选择General设置页,将Database改为Oracle,然后点击OK按钮。再打开实体Company的实体设计器,可以看一下有如下变化:

  1. 字段可选择的类型改变了
  2. 索引的属性改变了
  3. 触发器的属性改变了

三.数据库操作

1.创建数据库连接

先将数据库改回Sql,然后创建一个真实的数据库连接,这样才能生成数据库。选择主菜单ProejctàSetting…菜单项,打开项目设置界面,选择General设置页,再点击New Connection按钮。在显示的界面中,Data source选择为SQL Server,Data provider选择为SQL Server,如下图所示:

点击OK进入下一步。请根据自己的开发环境设置界面中的各个选项,如下图所示是笔者的设置内容:

可以点击Test Connection按钮,确认是否可以连接数据库。点击OK按钮完成数据库连接的创建工作。在项目设置界面中可以看到Connection String文本框中自动填入了连接字符串。开发者可以在这个文本框手动编写连接字符串,以满足特定的要求。点击OK按钮,返回主界面。如果开发者当且没有Sql数据库那么可以选择Access数据库,但是请确认当前计算机安装了Access 2010 Runtime,否则Access数据库的操作无法完成。Access 2010 Runtime可在微软官网上下载,是免费的。

2.生成数据库

选择主菜单DatabaseàBuild Database菜单项。由于执行该操作会删除数据库中所有的内容,所以会显示一个提示信息,要求开发者确认是否真的想执行该操作,如下图所示:

点击Yes按钮,执行数据库生成操作。如果数据库生成成功,会在Output窗口显示成功信息,如下图所示:

如果生成失败,会提示失败信息,然后在Errors And Warnings窗口可以看到具体的错误信息。

3.数据库同步

当静态模型改变以后,需要将这些变化体现到数据库时,可以执行数据库同步操作。当然重新执行生成数据库也是可以的。两者的区别是,同步时数据库只更新变化的部分,并且EMStudio会尽最大可能保留数据库中已有的数据,数据库中不需要更新的部分将完整保留,不会丢失。而生成数据库操作会丢失当前数据库中所有的内容,将数据库重新生成一次。

打开实体Company的实体设计器,增加一个新的成员,名字是Address,类型是string。然后选择主菜单DatabaseàSynchronize Database…菜单项,打开同步数据库界面,如下图所示:

由于我们只增加一个字段,所以同步数据库界面只显示有一个字段需要增加,这是本次同步操作所要执行的所有操作。点击Synchronize按钮执行同步操作。如果成功在Output窗口中显示成功信息,否则显示失败信息,并在Errors And Warnings窗口中显示具体的错误信息。

4. 从数据库生成模型

保存并关闭当前工程,选择主菜单DatabaseàCreate Model From Database…菜单项,显示如下界面:

点击New Connection按钮创建一个数据库连接,然后点击OK就可以完成从数据库生成模型的操作。如果失败请查看Errors And Warnings窗口中的错误信息,然后解决问题。

四.继承关系在数据库设计中的作用

EMStudio在数据库设计中对继承关系的支持,使得开发者可以真正意义上的使用面向对象的思想和方法完成对数据库的设计。为了体会这种功能,先定义两个实体:BaseEntity和SubEntity,然后再建立继承关系,如下图所示:

在BaseEntity实体中定义一个新的成员,所有属性使用默认值,再生成数据库。读者可以打开数据库确认,子类SubEntity对应的数据表也会有一个字段,这和父类BaseEntity对应的数据表是一致的。生成源代码以后,可以查看源代码,SubEntity类确实是继承自BaseEntity类。这只是一个说明性质的例子,实际上索引,触发器,关系都是可以继承的。

 

本节内容到此已全部讲述完毕,如果有疑问,或者需要技术支持可以访问我们网站:http://www.WideUnion.com。提出您的问题或者在论坛中提交问题,同时我们也非常希望能听到您的建议和需求,以便我们为您提供更好的产品和服务。

posted @ 2012-09-22 19:20  WideUnion  阅读(438)  评论(0编辑  收藏  举报