ERStudio操作指南

简介: ERStudio操作指南

一、创建逻辑模型


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


6f8cf78c57cc26ae1e42bb581b1b564b_d78c7464a821e362dadacb6673bb026b.png


如上图:1表示新创建数据模型,2表示逆向数据库中已存在的模型,3表示导入erx文件或sql脚本生成数据模型。


2、空白处点击右键,选择insert Entity,如下图就完成实体表的添加。


070b0c2e219ce866990da6e0928feae1_a3ca7a8d962931bd139fa3ac3532339b.png


3、在实体表上点击右键,选择Edit Entity,编辑实体表。


45653e0e05e43ac64bf7f99578973cd4_d220c942a80cafb0ee6b9a8e2c38910b.png


4、点击下图椭圆处展开,按下图红框处填写表实体的相应的属性值。


45a4dc35aab422c264e76caf0631c108_image-20221212220947701.png


5、创建关联关系


d443ee00e828c40d662aa7f15732e071_69c3329ab5119265956721dbfec95cd2.png


如上图红框处,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。


e0e5b080ca153279b45c3e5b683b304c_347ca74b73d7df5e4dc0b745b78201c6.png


二、生成SQL脚本


1、首先生成物理模型,才能生成SQL脚本,如下图:选择Model>Generate Physical Model


90a4477c38d1dd78a510089888ed1607_image-20221212223752500.png


2、这里目标数据库选择PostgreSQl 8.0,当然你也可以选择Mysql、Oracle、DB2、Sql Server等数据库平台,以便生成对应的SQL脚本。


52679696426c66c5835ab6ea7e390f0a_image-20221212223810904.png


3、如下图,选中生成的物理模型,然后选择:Database>Generate Database


0e6c526c9ceace014e551063cbc81004_image-20221212223857006.png


4、按照下图操作,最后点击finish即完成sql脚本的生成。(按下图操作生成表注释、字段注释)


d720e0d892d3a70cca2c978237c879dc_image-20221212223911437.png


c0b7e1cb28ed3f994b9864dfcec4b120_image-20221212223933954.png


5、生成最终脚本如下图。


4cf0098bfb4a2f172ef17e2ee9d21663_image-20221212224021169.png

相关文章
|
5月前
|
存储 Java 芯片
BIO 阻塞IO流 数据存储
为了弄清楚 I/O 流 的执行原理,首先需要了解数据在磁盘中的存储方式。目前进行数据存储的磁盘分为两种:机械磁盘、固态硬盘。
|
5月前
|
Java
|
算法 Java
线程通过管道通信
线程通过管道通信
|
UED
阻塞与非阻塞问题
阻塞与非阻塞是计算机领域中常见的两种I/O模型,用来描述在进行输入输出操作时程序的行为方式。下面将详细介绍阻塞和非阻塞的概念、特点、应用场景以及它们之间的区别。
138 0
|
Android开发 数据安全/隐私保护 C++
多线程、多进程同时操作MMAP,会怎么样?(一)
多线程、多进程同时操作MMAP,会怎么样?
293 0
多线程、多进程同时操作MMAP,会怎么样?(一)
|
调度 C++
进程、线程、并发、并行、同步、异步、阻塞、非阻塞
乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。
|
Linux
多线程、多进程同时操作MMAP,会怎么样?(二)
多线程、多进程同时操作MMAP,会怎么样?
370 0
|
Java
一文读懂阻塞、非阻塞、同步、异步IO
原文:一文读懂阻塞、非阻塞、同步、异步IO 介绍     在谈及网络IO的时候总避不开阻塞、非阻塞、同步、异步、IO多路复用、select、poll、epoll等这几个词语。在面试的时候也会被经常问到这几个的区别。
5536 0