5分钟入门ER/Studio


前言

以前一直使用PowerDesigner做数据库模型设计,由于工作需要,要求使用易博龙ER/Studio做数据库模型设计。因为发现网上关于ER/Studio中文使用教程比较少,学习官方文档还需要一定的时间和门槛,故自己就想总结了一篇快速入门文档,以便来者。(如果您有一定数据库设计基础,并想深入了解ER/Studio建议您学习官方文档)

本文使用的ER/Studio版本:ER/Studio Version 8.0.2


一、创建逻辑模型

1、打开ER/Studio后,选择:File>New,打开如下界面,选择Draw a new data model。

图1
如上图:1表示新创建数据模型,2表示逆向数据库中已存在的模型,3表示导入erx文件或sql脚本生成数据模型。
2、空白处点击右键,选择insert Entity,如下图就完成实体表的添加。
在这里插入图片描述

3、在实体表上点击右键,选择Edit Entity,编辑实体表。
在这里插入图片描述
4、点击下图椭圆处展开,按下图红框处填写表实体的相应的属性值。
在这里插入图片描述
5、创建关联关系
在这里插入图片描述
如上图红框处,ER/Studio提供5种逻辑关联关系,我们经常会用到的是第二种和第三种,如上图从左到右分别为:
(1)Identifying Relationship
1对多,父实体的主键是子实体的外键,且该外键为子实体的主键。 也就是说需要提供外键给另外一张表作联合主键。
(2)non-Identifying,mandatory relationship
1对多,父实体的主键是子实体的外键,且外键不为空(强制外键) 。
(3)non-Identifying,optional relationship
1对多,父实体的主键是子实体的外键,且外键可为空(可选外键)。
(4)one-to-to relationship
1对1,父实体的主键是子实体的外键,且外键可为空。
(5)Non-specific Relationship
多对多,父实体和子实体是多对多的关系。 (多对多的关系建议引入中间表)

6、下图为实体创建第三种关系non-Identifying,optional relationship。
在这里插入图片描述

二、生成SQL脚本

1、首先生成物理模型,才能生成SQL脚本,如下图:选择Model>Generate Physical Model
在这里插入图片描述
2、这里目标数据库选择PostgreSQl 8.0,当然你也可以选择Mysql、Oracle、DB2、Sql Server等数据库平台,以便生成对应的SQL脚本。

在这里插入图片描述
3、如下图,选中生成的物理模型,然后选择:Database>Generate Database
在这里插入图片描述
4、按照下图操作,最后点击finish即完成sql脚本的生成。(按下图操作生成表注释、字段注释)
在这里插入图片描述
在这里插入图片描述
5、生成最终脚本如下图。
在这里插入图片描述

三、常用其他操作

至此,你已经学会使用ER/Studio设计数据库模型了。如果继续往下看,你花费的时间将超过5分钟。

1、Domains的使用

Domains是用于建立标准,重用属性/列时使用。我们在设计数据库时往往会需要定义几个标准字段,例如主键ID,创建时间,如果将他们创建为Domains,那么无论在哪里绑定都会是统一的类型、规则、约束等。这既便于统一标准也便于进行修改。
1、如下图,左下角切换至Data Dictionary,然后Domains上右键,选择New Domains
在这里插入图片描述
2、按下图填写对应的属性信息。
在这里插入图片描述
3、在实体表中进行绑定
在这里插入图片描述

2、生成数据库设计文档

1、如下图,选择Tools>Generate Reports
在这里插入图片描述
2、按照下图进行操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、生成word文档如下
在这里插入图片描述

3、使用宏把Attribute name复制到Definition

1、把以下代码保存为xx.bas文件放到ER/Studio安装目录下的Macros的文件夹下,ER/Studio就可以自动加载到Macros选项卡中。ER/Studio Version 8.0.2默认目录为:C:\ProgramData\Embarcadero\ERStudio_8.0\Macros

Dim EntCount As Integer
Dim ColCount As Integer
Dim MyDiagram As Diagram
Dim MyModel As Model
Dim MyEntity As Entity
Dim ColArray() As String
Function getColumns(TableName As String )
Dim Indx As Integer
Dim count As Integer
count = 1
Indx = 0
Set MyEntity = MyModel.Entities.Item(TableName)
ColCount = MyEntity.Attributes.Count
ReDim ColArray(0 To ColCount) As String
For count=1 To ColCount
  For Each MyAttribute In MyEntity.Attributes
    If MyAttribute.SequenceNumber = count Then
      If MyModel.Logical = True Then
        If MyAttribute.HasLogicalRoleName = True Then
          ColArray(Indx) = MyAttribute.LogicalRoleName
      Else
        ColArray(Indx) = MyAttribute.AttributeName
      End If
    Else
      If MyAttribute.HasRoleName = True Then
        ColArray(Indx) = MyAttribute.RoleName
      Else
        ColArray(Indx) = MyAttribute.ColumnName
      End If
    End If
    If MyAttribute.Definition="" Then
    	MyAttribute.Definition = ColArray(Indx)
    End If
    Indx= Indx +1
  End If
  Next MyAttribute
  Next count
End Function

Sub Main
Debug.Clear
Set MyDiagram = DiagramManager.ActiveDiagram
Set MyModel = MyDiagram.ActiveModel
Dim Indx As Integer
Indx = 0
EntCount = MyModel.Entities.Count - 1
ReDim TableArray(0 To EntCount) As String
For Each MyEntity In MyModel.Entities
  If MyModel.Logical = True Then
    TableArray(Indx) = MyEntity.EntityName
  Else
    TableArray(Indx) = MyEntity.TableName
  End If
  MyEntity.Definition = TableArray(Indx)
  getColumns(TableArray(Indx))
  Indx = Indx +1
Next MyEntity

End Sub

2、打开ER/Studio如下图,选择Macro Shortcuts>NameToDefinition
在这里插入图片描述

总结

判别一个关系是Non-Identifying还是Identifying只要区分子实体的主键,看是否需要父实体的外键来共同作为主键,需要则为Identifying,如果子实体自己的主键就可唯一标识则它为Non-Identifying。

  • 6
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
er/studio是一个强大的数据建模工具,广泛应用于数据库设计和管理领域。虽然它在全球范围内受到广泛欢迎,但是对于一些非英语用户来说,软件的界面和文档都是以英文展示的,这给他们带来了一定的不便。为了解决这个问题,一些软件爱好者和专业人士利用自己的业余时间进行了er/studio的汉化工作。 在汉化过程中,他们首先对软件界面的所有文本进行了翻译,确保每一个按钮、选项和提示都能够呈现给用户清晰易懂的汉语文字。同时,他们还根据国内用户的习惯对软件功能进行了一定的调整,比如增加了对国内常用数据库的支持,优化了软件的使用体验。此外,他们还对软件的官方文档进行了翻译和整理,制作了中文版的使用手册和教程,方便用户更好地了解和使用er/studio。 经过一段时间的努力,er/studio的汉化工作取得了较大的成功,为众多中国用户提供了更加便利的使用体验。现在,用户可以选择安装汉化版的er/studio,无需再为语言问题而感到困扰,能够更加轻松地进行数据库设计和管理工作。同时,汉化工作也得到了软件开发商的认可和支持,将在后续版本中考虑将汉化版作为默认选项发布。总之,er/studio的汉化工作为国内用户带来了更便利、更友好的软件使用体验,也为其他外文软件的本地化工作提供了宝贵的经验和范例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小马穿云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值