ER/Studio入门操作和配置生成SQL注释(Attribute name)
一、创建逻辑模型
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)相关推荐
- 使用StarUml画数据库ER图,并使用DDL生成SQL代码
StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一个开源项目之一发展快.灵活.可扩展性强. StarUml 下载地址 本片文章是 ...
- powerDesigner 正向工程生成sql注释问题 (mysql注释问题)
为什么80%的码农都做不了架构师?>>> 1:powerDesigner 使用过程发现其工具内置很多默认是支持oracle的 ,而我现在用mysql ,于是修改配置 2:pow ...
- Android Studio新手–下载安装配置–零基础入门–基本使用–调试技能–构建项目基础–使用AS应对常规应用开发
转自:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–& ...
- dm归档文件配置、sql 日志的开启和关闭以 及基本的操作、创建定时备份和删除备份的作业、数据库物理、逻辑备份还原
1.达梦数据库中归档文件配置. 生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法: 设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB). 定期删除归档日志(设置定时作 ...
- mybatis使用注解替代xml配置,动态生成Sql
mybatis使用注解替代xml配置时,遇到判断条件是否为null或者为空时,@Select很难搞定,不知道怎么办? mybatis3中增加了使用注解来配置Mapper的新特性,使用 SelectPr ...
- VBA操作word生成sql语句
项目开始一般都是用word保存下数据库的文档 但是从表单一个一个的建表实在是很困难乏味,查查资料 1.可以生成一个html或者xml,检索结构生成sql.但是这个方式也蛮麻烦 2.查到vba可以操作w ...
- 快速入门 Nacos 作为配置中心操作
1.前言 一般项目配置都是在配置文件中进行设置,这种方式一般会有2种弊端: 多个环境配置修改比较繁琐. 敏感配置直接暴露在配置文件中不安全. 通过一个单独配置中心可以完美解决上述2个问题,配置统一在配 ...
- 如何在SQL Server Management Studio中创建和配置链接服务器以连接到MySQL
This article will guide you with all the necessary steps to successfully create a linked server in S ...
- RT_Thread Studio入门系列4--STM32之SPI配置w25qxxx
文章目录 1.配置RT_Thread Studio 2.配置STM32CubeMX 3.程序操作 1.配置RT_Thread Studio 1.1 配置RT-Thread Settings 中的SPI ...
最新文章
- 几十年的领域专家告诉你,机器翻译进化到哪一步了?
- java char 指针数组_双指针之对撞指针,Java
- AJAX+JQUERRY实现分页
- MATLAB作二维傅里叶变换所需要注意和知道的东西(im2double、fft2、abs、imshow、二维傅里叶变换的物理意义)
- Java枚举(深刻而不深沉平淡而不平庸)
- 【线上分享】云游戏面对低延迟挑战的实践
- 教徒计划出品:升级ESXI41-ESXI5
- 使用Mocks进行需求驱动的软件开发
- element ui 表单验证为正整数
- 史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
- 【调用IP宏文件进行仿真】modelsim仿真时出现 Instantiation of 'xxx' failed. The design unit was not found....
- c++指定在某一线程运行_深入理解Java虚拟机-运行时数据区
- IBM aix mysql_IBM产品系列和AIX系统版本
- 火了!评分9.7,这本Python书终于玩大了!
- 对称构型机器人轮直径校准思路
- 微软正式发布Internet Explorer 7.0
- 蓝宝石rx470d原版bios_小白福利教程:关于显卡BIOS的一些信息的讲解
- HTML中获取计算机用户名,VC++ 得到计算机名和用户名 GetComputerName GetUserName
- python javascript区别_Python,Java和JavaScript这3个编程语言未来哪个更有前景?
- 2.28loadrunner
热门文章
- 2020-11-19百度前端一面 面试题
- 【笔记】openwrt - 【一文解决】ipv6设置、DDNS、端口转发
- 君子签:21亿份电子合同为环保助力,签领绿色未来
- Matlab p文件 转换为m文件MATLAB matlab pcode,matlab p
- 全新ALIENWARE外星人笔记本问世,预言设计迭代升级
- xp系统访问共享服务器提示无网络路径,教你WinXP提示无任何网络提供程序接受指定的网络路径应该怎么办...
- java程序介绍和介绍
- 创建三维空间平面-python笔记
- 怎么选择好用的超级浏览器?
- canvas 绘制圆弧