一、创建逻辑模型

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

如上图: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、把以下代码保存为 NameToDefinition.bas文件放到ER/Studio安装目录下的Macros的文件夹下,ER/Studio就可以自动加载到Macros选项卡中。默认目录为:

Dim EntCount As IntegerDim ColCount As IntegerDim MyDiagram As DiagramDim MyModel As ModelDim MyEntity As EntityDim ColArray() AsStringFunction getColumns(TableName AsString )Dim Indx As IntegerDim count As Integercount =1Indx =0Set MyEntity = MyModel.Entities.Item(TableName)ColCount = MyEntity.Attributes.CountReDim ColArray(0To ColCount) AsStringFor count=1To ColCount  For Each MyAttribute In MyEntity.Attributes    If MyAttribute.SequenceNumber =countThen      If MyModel.Logical =TrueThen      If MyAttribute.HasLogicalRoleName =TrueThen          ColArray(Indx) = MyAttribute.LogicalRoleName      Else        ColArray(Indx) = MyAttribute.AttributeName      EndIf    Else      If MyAttribute.HasRoleName =TrueThen        ColArray(Indx) = MyAttribute.RoleName      Else        ColArray(Indx) = MyAttribute.ColumnName      EndIf    End If    If MyAttribute.Definition=""Then      MyAttribute.Definition = ColArray(Indx)    End If    Indx= Indx +1  End If  Next MyAttribute  NextcountEnd FunctionSub MainDebug.ClearSet MyDiagram = DiagramManager.ActiveDiagramSet MyModel = MyDiagram.ActiveModelDim Indx As IntegerIndx =0EntCount = MyModel.Entities.Count - 1ReDim TableArray(0To EntCount) AsStringFor Each MyEntity In MyModel.Entities  If MyModel.Logical =TrueThen    TableArray(Indx) = MyEntity.EntityName  Else    TableArray(Indx) = MyEntity.TableName  End If  MyEntity.Definition = TableArray(Indx)  getColumns(TableArray(Indx))  Indx= Indx +1Next MyEntityEnd Sub

2、打开ER/Studio如下图,可以看到 Macro Shortcuts>NameToDefinition

总结

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

ER/Studio入门操作和配置生成SQL注释(Attribute name)相关推荐

  1. 使用StarUml画数据库ER图,并使用DDL生成SQL代码

    StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一个开源项目之一发展快.灵活.可扩展性强. StarUml 下载地址 本片文章是 ...

  2. powerDesigner 正向工程生成sql注释问题 (mysql注释问题)

    为什么80%的码农都做不了架构师?>>>    1:powerDesigner 使用过程发现其工具内置很多默认是支持oracle的 ,而我现在用mysql ,于是修改配置 2:pow ...

  3. Android Studio新手–下载安装配置–零基础入门–基本使用–调试技能–构建项目基础–使用AS应对常规应用开发

    转自:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–& ...

  4. dm归档文件配置、sql 日志的开启和关闭以 及基本的操作、创建定时备份和删除备份的作业、数据库物理、逻辑备份还原

    1.达梦数据库中归档文件配置. 生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法: 设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB). 定期删除归档日志(设置定时作 ...

  5. mybatis使用注解替代xml配置,动态生成Sql

    mybatis使用注解替代xml配置时,遇到判断条件是否为null或者为空时,@Select很难搞定,不知道怎么办? mybatis3中增加了使用注解来配置Mapper的新特性,使用 SelectPr ...

  6. VBA操作word生成sql语句

    项目开始一般都是用word保存下数据库的文档 但是从表单一个一个的建表实在是很困难乏味,查查资料 1.可以生成一个html或者xml,检索结构生成sql.但是这个方式也蛮麻烦 2.查到vba可以操作w ...

  7. 快速入门 Nacos 作为配置中心操作

    1.前言 一般项目配置都是在配置文件中进行设置,这种方式一般会有2种弊端: 多个环境配置修改比较繁琐. 敏感配置直接暴露在配置文件中不安全. 通过一个单独配置中心可以完美解决上述2个问题,配置统一在配 ...

  8. 如何在SQL Server Management Studio中创建和配置链接服务器以连接到MySQL

    This article will guide you with all the necessary steps to successfully create a linked server in S ...

  9. RT_Thread Studio入门系列4--STM32之SPI配置w25qxxx

    文章目录 1.配置RT_Thread Studio 2.配置STM32CubeMX 3.程序操作 1.配置RT_Thread Studio 1.1 配置RT-Thread Settings 中的SPI ...

最新文章

  1. 几十年的领域专家告诉你,机器翻译进化到哪一步了?
  2. java char 指针数组_双指针之对撞指针,Java
  3. AJAX+JQUERRY实现分页
  4. MATLAB作二维傅里叶变换所需要注意和知道的东西(im2double、fft2、abs、imshow、二维傅里叶变换的物理意义)
  5. Java枚举(深刻而不深沉平淡而不平庸)
  6. 【线上分享】云游戏面对低延迟挑战的实践
  7. 教徒计划出品:升级ESXI41-ESXI5
  8. 使用Mocks进行需求驱动的软件开发
  9. element ui 表单验证为正整数
  10. 史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
  11. 【调用IP宏文件进行仿真】modelsim仿真时出现 Instantiation of 'xxx' failed. The design unit was not found....
  12. c++指定在某一线程运行_深入理解Java虚拟机-运行时数据区
  13. IBM aix mysql_IBM产品系列和AIX系统版本
  14. 火了!评分9.7,这本Python书终于玩大了!
  15. 对称构型机器人轮直径校准思路
  16. 微软正式发布Internet Explorer 7.0
  17. 蓝宝石rx470d原版bios_小白福利教程:关于显卡BIOS的一些信息的讲解
  18. HTML中获取计算机用户名,VC++ 得到计算机名和用户名 GetComputerName GetUserName
  19. python javascript区别_Python,Java和JavaScript这3个编程语言未来哪个更有前景?
  20. 2.28loadrunner

热门文章

  1. 2020-11-19百度前端一面 面试题
  2. 【笔记】openwrt - 【一文解决】ipv6设置、DDNS、端口转发
  3. 君子签:21亿份电子合同为环保助力,签领绿色未来
  4. Matlab p文件 转换为m文件MATLAB matlab pcode,matlab p
  5. 全新ALIENWARE外星人笔记本问世,预言设计迭代升级
  6. xp系统访问共享服务器提示无网络路径,教你WinXP提示无任何网络提供程序接受指定的网络路径应该怎么办...
  7. java程序介绍和介绍
  8. 创建三维空间平面-python笔记
  9. 怎么选择好用的超级浏览器?
  10. canvas 绘制圆弧