[图解]EA从数据库逆向得到分析类模型-01

1
00:00:00,840 --> 00:00:02,400
今天,我们来说一下

2
00:00:02,670 --> 00:00:06,320
一个最近几天不止一个同学问的问题

3
00:00:06,490 --> 00:00:11,410
就是说,怎样把一个数据库

4
00:00:13,740 --> 00:00:16,720
转到分析类图

5
00:00:18,570 --> 00:00:20,260
要注意,这是分析类模型

6
00:00:21,550 --> 00:00:22,980
不是设计类

7
00:00:25,800 --> 00:00:26,910
什么叫分析类

8
00:00:28,720 --> 00:00:32,890
左边,就是分析模型,你看,类、关系

9
00:00:34,450 --> 00:00:36,050
它是非常简洁的

10
00:00:36,060 --> 00:00:38,130
没有冗余的概念在上面

11
00:00:41,000 --> 00:00:42,630
只有领域的知识

12
00:00:44,670 --> 00:00:46,060
右边就是设计模型

13
00:00:46,350 --> 00:00:47,980
比如说,这是用C#

14
00:00:48,880 --> 00:00:51,540
实现左边这个的这三个类

15
00:00:51,550 --> 00:00:53,140
你看这个订单

16
00:00:53,790 --> 00:00:55,810
你看多了一个id

17
00:00:56,690 --> 00:00:59,960
每个类都有id

18
00:01:00,670 --> 00:01:02,850
然后,它这里订单项关联过来

19
00:01:02,860 --> 00:01:06,400
它这里就有个订单项的实现

20
00:01:06,410 --> 00:01:11,830
我们用一个列表来实现

21
00:01:11,960 --> 00:01:14,250
它有个订单项的集合

22
00:01:16,110 --> 00:01:18,270
然后它有个配送地址,类型是地址

23
00:01:20,530 --> 00:01:24,370
同样,下面有订单项的类,地址类,这样的

24
00:01:25,290 --> 00:01:27,680
而这几个里面

25
00:01:27,970 --> 00:01:30,540
就不需要再有什么关联

26
00:01:30,630 --> 00:01:33,820
因为这里已经表达了订单有这些

27
00:01:37,630 --> 00:01:40,670
你看右边,看不出左边那个

28
00:01:41,390 --> 00:01:43,280
不能很明显看出左边那个关系

29
00:01:43,610 --> 00:01:44,320
你得观察这个这个

30
00:01:45,860 --> 00:01:48,150
第二个,有很多冗余的内容

31
00:01:48,360 --> 00:01:50,830
因为要在代码里面来表现

32
00:01:54,160 --> 00:01:59,160
得到这个,是有很多途径的

33
00:01:59,840 --> 00:02:02,510
比如说,我们数据库模型

34
00:02:02,720 --> 00:02:05,670
我们可以用,现在很多持久化的框架

35
00:02:07,010 --> 00:02:09,260
比如说,像.net

36
00:02:09,270 --> 00:02:12,570
我们可以用Entity Framework

37
00:02:13,590 --> 00:02:15,180
然后用它的逆向工程

38
00:02:16,170 --> 00:02:17,760
得到C#的代码

39
00:02:19,330 --> 00:02:21,270
然后代码再用EA的逆向工程

40
00:02:23,120 --> 00:02:24,800
可以得到设计类图

41
00:02:25,130 --> 00:02:29,890
就像这个一样,这个很容易得到

42
00:02:30,440 --> 00:02:31,750
但要得到这个

43
00:02:34,740 --> 00:02:36,060
光靠EA本身不够的

44
00:02:36,270 --> 00:02:38,300
实际上现在很多工具都没有这个能力

45
00:02:38,310 --> 00:02:41,280
就是说把这些拉拉杂杂去掉

46
00:02:42,190 --> 00:02:43,590
返回来得到这些东西

47
00:02:46,610 --> 00:02:50,830
最简洁的形态,没有

48
00:02:51,980 --> 00:02:53,540
EA里面有一个插件

49
00:02:53,830 --> 00:02:54,940
第三方的插件

50
00:02:55,680 --> 00:02:57,370
官方的功能是没有的

51
00:02:57,380 --> 00:02:59,700
但EA有一个好处

52
00:02:59,710 --> 00:03:03,290
就是有很多第三方提供的插件可以用

53
00:03:03,780 --> 00:03:05,420
这里有一个插件

54
00:03:07,510 --> 00:03:10,810
先用EA本身的逆向工程

55
00:03:11,060 --> 00:03:13,470
把数据库模型转成DDL

56
00:03:14,370 --> 00:03:20,310
DDL再通过这个插件转成分析类图

57
00:03:23,510 --> 00:03:26,510
这个插件的下载地址在这里

58
00:03:27,520 --> 00:03:28,690
下面我们就演示一下

59
00:03:29,290 --> 00:03:30,680
怎样从数据库

60
00:03:31,410 --> 00:03:33,880
转到分析类图的过程

1
00:00:01,300 --> 00:00:06,900
我们来看导入XML的菜单在哪里

2
00:00:08,590 --> 00:00:09,140
在这里

3
00:00:10,270 --> 00:00:10,550


4
00:00:10,910 --> 00:00:12,020
配置模型

5
00:00:12,030 --> 00:00:15,190
然后转换,导入引用数据

6
00:00:17,250 --> 00:00:20,710
选择D盘,EA 

7
00:00:20,720 --> 00:00:22,030
选中这个

8
00:00:23,050 --> 00:00:30,480
然后导入,另外两个我们也导进来

9
00:00:35,500 --> 00:00:44,140


10
00:00:50,140 --> 00:00:50,710


11
00:01:05,320 --> 00:01:06,180
好,导入之后

12
00:01:06,780 --> 00:01:13,930
你看,这里面,设计,转换,这里,应用转换

13
00:01:16,280 --> 00:01:19,720
就有DDL to Logical

14
00:01:19,730 --> 00:01:20,960
什么之类的

15
00:01:22,640 --> 00:01:24,870
就是刚才那些内容

16
00:01:25,580 --> 00:01:30,760
现在我们就来导入一个数据库

17
00:01:30,770 --> 00:01:32,730
把它变成类图看看了

 

1
00:00:01,430 --> 00:00:03,140
我们导哪个数据库

2
00:00:03,910 --> 00:00:08,730
我们就导SQL Server里面的案例的数据库

3
00:00:09,260 --> 00:00:15,660
pubs,数据库的表在这里

4
00:00:16,440 --> 00:00:16,680


5
00:00:18,520 --> 00:00:20,670
有出版商

6
00:00:20,760 --> 00:00:28,360
有标题、作者等等,出版信息、折扣

7
00:00:29,290 --> 00:00:31,040
销售、商店等等

8
00:00:33,640 --> 00:00:38,940
表里面现在有一些数据了

9
00:00:38,950 --> 00:00:40,100
当然这数据本身

10
00:00:40,110 --> 00:00:41,550
一会导的时候

11
00:00:41,850 --> 00:00:43,510
肯定不会体现在模型里了

12
00:00:44,840 --> 00:00:48,740
首先我们就要把这个导成

13
00:00:48,750 --> 00:00:50,090
就跟刚才讲的路线一样

14
00:00:50,260 --> 00:00:51,570
先导成DDL

15
00:00:51,580 --> 00:00:53,850
再把DDL导成分析类图

16
00:00:54,260 --> 00:00:55,890
我们看,怎样把这个导成DDL

17
00:00:56,140 --> 00:00:58,000
EA本身就有这个功能了

18
00:00:58,980 --> 00:01:00,130
怎么导,我们来看一下

 

1
00:00:00,550 --> 00:00:03,030
导在哪里,放这里,随便搞一个

2
00:00:03,040 --> 00:00:05,750
哪个包,我们就拿这个来就行了

3
00:00:06,250 --> 00:00:06,620
这个包

4
00:00:07,770 --> 00:00:08,610
先把这个删掉

5
00:00:11,770 --> 00:00:12,720
放这里就行了

6
00:00:14,250 --> 00:00:17,740
在哪里导,这里,开发

7
00:00:18,750 --> 00:00:22,030
这里,import,导入

8
00:00:22,850 --> 00:00:25,470
然后选择一个数据库

9
00:00:27,120 --> 00:00:28,710
数据源

10
00:00:29,040 --> 00:00:32,530
它用的是ODBC这个来导入的

11
00:00:32,920 --> 00:00:35,770
这还没有,新建一个

12
00:00:37,080 --> 00:00:39,110
无法使用,用户也行

13
00:00:39,700 --> 00:00:47,700
下一页,SQL Server,名称,我们

14
00:00:47,710 --> 00:00:51,500
就随便搞一个方式,描述

15
00:00:54,730 --> 00:00:57,600
选哪一个,就是服务器的名字了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/629020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

so-vits-svc:AI翻唱,语音克隆

前言 这个项目是为了让开发者最喜欢的动画角色唱歌而开发的,任何涉及真人的东西都与开发者的意图背道而驰。 项目地址:https://github.com/svc-develop-team/so-vits-svc/blob/4.1-Stable/README_zh_CN.md 安装 可以自行配置,应该也不难 …

Python中合并多个CSV数据集的技术实践

目录 一、引言 二、准备工作 三、读取CSV文件 四、数据预处理 五、合并数据集 六、错误处理与调试 七、案例分析 八、总结 一、引言 在数据处理和分析的过程中,我们经常需要处理多个CSV(逗号分隔值)文件,并将它们合并…

如何快速将视频做成二维码?扫描二维码播放视频的制作方法

视频二维码的用途越来越多,比如常见的有产品展示、企业宣传、教程说明、个人展示等都可以生成二维码,通过扫码在手机或者其他设备上预览内容,从而提升其他人获取视频的速度,实现内容的快速分享。 对于有制作视频二维码需求的小伙…

Java面试八股之Collection和Collections的区别

Java中Collection和Collections的区别 Collection 是一个接口,位于 java.util 包中,它是 Java 集合框架的顶层接口之一,代表了一组对象的集合。Collection 接口定义了所有集合类型(如 List、Set、Queue 等)所共有的基…

深度解析 Spring 源码:解密AOP切点和通知的实现机制

文章目录 深度解析 Spring 源码:解密AOP切点和通知的实现机制一、Spring AOP的基础知识1.1 AOP的核心概念:切点、通知、切面等1.2 Spring AOP与传统AOP的区别和优势 二、深入分析切点和通知的实现2.1 研究 Pointcut 接口及其实现类2.1.1 Pointcut 接口2.…

java springboot连接sqlserver使用

pom.xml增加sqlserver驱动 <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.4.0.jre8</version></dependency>application.yml配置文件 server:port: 9001 #spring: …

了解 Robot Framework :接口自动化测试教程!

开源自动化测试利器&#xff1a;Robot Framework Robot Framework 是一个用于实现自动化测试和机器人流程自动化&#xff08;RPA&#xff09;的开放源代码框架。它由一个名为 Robot Framework Foundation 的组织得到推广&#xff0c;得到了多家领军企业在软件开发中的广泛应用。…

HL7协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.介绍2.传输协议规范2.1. MLLP2.1.1. 数据头定义2.1.2. 转义字符集 2.2. 规范说明2.3. 消息格式说明 3.HL7结构介绍3.1. 患者建档&#xff08;ADT^A28&#xff09;…

​python使用selenium进行Web自动化测试​

什么是selenium Selenium 是 ThoughtWorks 提供的一个强大的基于浏览器的 Selenium 是一个用于 Web 应用程序测试的工具&#xff0c;测试直接自动运行在浏览器中&#xff0c;就像真正的用户在手工操作一样。支持的浏览器包括 IE、Chrome 和 Firefox 等。这个工具的主要功能包…

Redis 源码安装和入门介绍

Linux下的redis源码安装 redis介绍 Redis 是一个开源&#xff08;BSD许可&#xff09;的&#xff0c;内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构&#xff0c;如 字符串&#xff08;strings&#xff09;&#xff0c;…

抖店商品详情API接口(产品参数|详情图)

抖店商品详情API接口(产品参数|详情图) 参数仅供参考&#xff1a; {"code": 0,"msg": "调用成功","time": "1715763239","data": {"properties": [{"format": [{"message": [{&q…

视觉SLAM14精讲——三维空间刚体运动1.2

三维空间刚体运动 欧拉角 欧拉角可以说是零理解成本的表示形式&#xff0c;由于有万向锁的问题被绝大部分项目所抛弃。欧拉角的每个轴旋转都有固定好的名称&#xff0c;这些名称十分直观&#xff1a; Z轴旋转&#xff0c;相当于左右旋转&#xff0c;叫航角&#xff0c;或偏航…

【Java基础】集合(2) —— List

List 存储的对象是有序的&#xff08;集合中存储对象的顺序和使用add方法添加对象的顺序一致&#xff09;&#xff0c;存储的对象是可重复的。 List的特有的功能: 都是可以操作索引的功能。 增: void add(int index, E element )boolean addAll(int index, Collection<? …

素数筛详解c++

一、埃式筛法 代码 二、线性筛法&#xff08;欧拉筛法&#xff09; 主要的思想就是一个质数的倍数(倍数为1除外)肯定是合数&#xff0c;那么我们利用这个质数算出合数&#xff0c;然后划掉这个合数&#xff0c;下次就可以不用判断它是不是质数&#xff0c;节省了大量的时间。 …

怎么截图公式识别?方法简单介绍

怎么截图公式识别&#xff1f;随着科技的不断发展&#xff0c;人们对于高效、便捷的工作方式的需求日益增加。在学术、教育以及科技研发等领域&#xff0c;数学公式是不可或缺的一部分。然而&#xff0c;手动输入公式往往费时费力&#xff0c;且容易出错。因此&#xff0c;截图…

搭建Kubernetes v1.20二进制集群——单Master和Node组件

前言 本文将介绍如何使用二进制文件手动搭建 Kubernetes v1.20 集群。通过这种方法&#xff0c;我们可以更好地理解 Kubernetes 的内部工作原理&#xff0c;并具备更大的灵活性和控制权。下面将逐步构建 Kubernetes 集群&#xff0c;并进一步了解其各个组件之间的交互和配置。…

数据结构(十五)----排序算法(2)

目录 一.选择排序 1.简单选择排序 2.堆排序 •建立大根堆 •基于大根堆进行排序 堆排序算法效率&#xff1a; 堆排序算法稳定性&#xff1a; 3.堆的插入和删除 •在堆中插入新元素 •在堆中删除元素 二.归并排序 归并排序算法效率&#xff1a; 归并排序算法的稳定…

绿色消费新趋势:共享购模式的积分革命

在当今绿色消费风潮中&#xff0c;一种名为共享购的新模式正悄然兴起&#xff0c;它通过创新的绿色积分机制&#xff0c;不仅鼓励了消费者的绿色消费行为&#xff0c;还为消费者和商家带来了更多的实惠与额外收益。 传统积分机制的局限 在传统的消费积分模式中&#xff0c;消费…

计算机组成结构—寻址方法

目录 一、指令寻址 二、数据寻址 1.立即寻址 2.直接寻址 3.间接寻址 4.隐含寻址 5.寄存器寻址 6.寄存器间接寻址 7.基址寻址 8.变址寻址 9.相对寻址 10. 堆栈寻址 寻址方式是寻找指令或操作数有效地址的方式&#xff0c;也就是指确定本条指令的数据地址&#xff0c;…

IP-GUARD如何制作授权软件

1、进入控制台 -> 找到文档安全管理 -> 点击授权软件管理 -> 导出授权软件(名称自定义) 2、打开这个蓝宝石工具,并将导出的文件进行打开 选择你要操作的软件进行编辑,然后一直下一步 3、选择要操作的软件进行编辑