在EA中将画出的ER图转换成SQL脚本
在进行数据库设计的时候,想着正好安装着EA软件呢,看能不能用EA画ER模型。结果发现不仅能画。并且还能进行整套数据库设计(生成SQL脚本)。
以下以机房收费系统用户--学生为例。学生能够查看剩余金额。能够查看上机记录,能够查看上机状态。能够查看充值记录,能够改动password。
过程例如以下:
(1)建立ER图之前。首先在EA中应选择使用哪种数据库。如图所看到的:
(2)画学生用户的ER模型图,如图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUzOTM1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(3)转换成数据模型图,选中全部的实体和属性名,右击。点击转换出现如图:
(4)选择ERD to Data Modeling选项及保存的位置,点击開始转换,转换成如图所看到的:
(5)不论什么的数据库表都须要主键,外键和约束,以下我们对这些表进行改动,选择不论什么一个数据表右击出现如图:
(6)点击“属性”button,出现如图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUzOTM1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(7)点击“Table Detail”,选中“columns”。点击确定出现如图所看到的:
(8)依照步骤走,就对表设置完主键和数据类型了。
另外我们还要对其加入外键,选中联系(如:
右击。选择外键,对其就能够进行设置。这样改动基本就完毕。
改动完的数据模型图如图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUzOTM1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(9)选中数据模型图,右击,选择“代码生成”--"Generate Selected Elements",出现如图所看到的:
(10)进行改动和对对象进行全选。在“文件生成”那。能够选择“单个文件”。也能够选择“每一个表生成一个文件”。
选择“每一个表生产一个文件”,生成的形式如图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDUzOTM1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
选择“单个文件”。生成形式例如以下:
这样就已经创建成功啦!(SQL脚本就不给大家展示了!
)
直接看一下数据库中的表吧。如图:
当然这样建立的数据库。仅仅是雏形。我们还要进行优化:消除反复和遵循三范式。
这应该说是懒人的办法直接生成SQL脚本。可是这个也是有难度的,由于我们必须对ER图相当了解和对各种表的关系进行很透彻的分析。不然画出来的数据库还要进行相当大的改动。
在我们这个初学的阶段。我认为还是用动手设计数据库比較好,练习一下对数据库的使用,仅仅是近期碰见了一种这种办法。先尝试了一下。
Ps:对这样的办法仅仅是实验了一下。还不成熟!
请多多不吝赐教!
在EA中将画出的ER图转换成SQL脚本的更多相关文章
- 如何将ER图转换成关系模式集
在ER图中,主要是实体类型和联系类型. 1.实体类型的转换 (“——”表示对应关系) 实体类型——关系模式 实体的属性——关系模式的属性 实体标识符——关系模式的键 2.联系的转换 一元联系较简单,三 ...
- achartengine画出动态折线图
achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目 ...
- Linux中将一个GBK编码的文件转换成UTF-8编码文件
Linux中将一个GBK编码的文件转换成UTF-8编码文件 使用iconv 命令iconv -f GBK -t UTF-8 file1 -o file2 输出另一个文件,然后再覆盖源文件内容
- 20行以内python代码画出各种减压图
一.太阳花 看到一个很有意思的代码,你若安好,便是晴天!太阳花向你开~ 绘画效果如下: 代码如下: from turtle import * color('red', 'yellow') begin_ ...
- 利用R求分位数及画出箱型图
1)数据集 data<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0,56.9,50.0,72.0) 默认是四分位: ...
- 利用python画出SJF调度图
最先发布在csdn.本人原创. https://blog.csdn.net/weixin_43906799/article/details/105510046 SJF算法: 最短作业优先(SJF)调度 ...
- python画出心形图
程序员表达爱的方式真是多种多样.比如,用python来画一个心型,献给梦中的情人,代码如下: from turtle import * pensize(1) pencolor('red') fillc ...
- matplotlib中在for中画出多张图
import matplotlib.pyplot as plt import numpy as np fig, axes = plt.subplots(2, 2) def showim(): for ...
- 数据表设计:多对多关系E-R图转换——中间表
链接:https://blog.csdn.net/vainfanfan/article/details/80568784 链接2:https://www.cnblogs.com/hiwangzi/p/ ...
随机推荐
- java缓冲区BufferedReader
1.java缓冲区BufferedReader拷贝文件 2.代码如下: package Demo1; import java.io.*; public class BufferedTest { pub ...
- 随心所欲生成git仓库随意一段commit的专用patch应用小实践
随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-pat ...
- 浅析Java抽象类和接口的比較
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是因为这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...
- Maven传递依赖的时候,同名包不同版本号的包均会下载,可是编译的时候,仅仅会载入一个高版本号的。
描写叙述,在一个Maven项目中.同一时候依赖了spring-tomcat-weaver 和 struts-core 包.可是spring-tomcat-weaver 须要commons-dige ...
- Non-ASCII character '\xe8' in file xxx.py on line 8, but no encoding declared
使用网上某个python程序.编译时报错: File "xxx.py", line 8 SyntaxError: Non-ASCII character '\xe8 ...
- 51nod-1253: Kundu and Tree
[传送门:51nod-1253] 简要题意: 给出一棵n个点的树,树上的边要么为黑,要么为红 求出所有的三元组(a,b,c)的数量,满足a到b,b到c,c到a三条路径上分别有至少一条红边 题解: 显然 ...
- 去除iframe滚动条1
主页面的IFRAME中添加:scrolling="yes" 子页面程序代码: 让竖条消失: <body style='overflow:scroll;overflow-x:a ...
- DateForamt和SimpleDateFormat
1.因为DateFormat是抽象类,所以只能用子类来初始化 DateFormat df = new SimpleDateFormat("yyyy--MM--dd HH:MM:ss,属于本年 ...
- xBIM 基础11 WeXplorer 常用事件
系列目录 [已更新最新开发文章,点击查看详细] 本篇将介绍查看器在不同场合触发的事件.所有这些都记录在xViewer中. 如果您从Web服务器运行本教程,可以在此处查看完整的实例.并且确保您的 ...
- R学习小计
安装R扩展包:install.packages("FKF")http://www.douban.com/note/243004605/1.输入数据 l读入有分隔符数据:A<- ...