整个都是使用软件starUML
1 使用StarUML绘制E-R图
1.1 ER图
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 构成E-R图的三个基本要素是实体型、属性和联系。
1.2 实体之间的关系
一对一:一个学生对一个学号,一个学生对一个学生证
一对多:实体集A 实体集B。在A这个集合里面任挑一个具体的实体,在B集合里面挑若干个不同的这一个实体,与之对应,这叫一对多。eg 一个老师可以跟很多学生授课
多对多:a集合和B集合,我在a里面选多个对象,可以与B中的对象去与之对应。eg 赵三可以选多门课程,一门课可以被多个学生选,所以从两个角度看,从学生的角度看,学课程是一个一对多,我从课程看,学生就是一个一对多,所以我综合起来就是一个多对多的,而绝对不是一对多的。(我的思考方式先固定一边,来看,再固定另一边,然后综合)
1.3 绘制—使用StarUML
打开StarUML后,会自动新建一个项目
- 选择上方的Model -> Add Diagram -> ER Diagram
也可以在右侧建立,右键即可
双击蓝色框,下方红色框即可改名
- 新建ER图后,可以看见左方有ER图的工具栏
点击Entity后,再到右边空白处点击,即可生成一个Entity对象
- 设置实体属性
在图中,右击实体选择 Add->Column
双击实体属性,可实现某些快捷操作
左边:设置主键,右边:添加属性,删除属性,上移,下移
添加属性后,点击属性,可以在Editors的Properties中点击type给属性添加类型
还可以通过length设置属性类型的长度
- 设置实体之间的关系
可以看到左栏中的Entity-Relationship中有实体关系的连线选择
eg 多对多情况,点击Many to Many Relationship,然后点中一个实体后,鼠标左键按住不放,拖动到另一个实体上
显示
点击连线,可以在右边Editors中进行更多的设置
eg : 一对多情况
1.4 总结
介绍了在StarUML中进行一个基本的ER图绘制,还对实体之间的几种关联关系进行举例。 下图是官方文档的ER图示例
1.5 参考资料
StarUML的ER图文档 E-R图 百度百科
2 starUML对数据库设计的帮助(很重要)
例如
2.1 填加属性
这个对学生来说的话,他有属性(学数据库有摘要属性),怎么给这个student加属性?
在这个工具里面可以加一个这样的,单击选到student,单击鼠标右键—>ADD—>column
选column, column选中以后直接改column ,比方说,这个学生有一个SID,是学号。
可以接着添加,也可以在别的里面添加属性
加完之后,这个图完成,基础结构都有了,但是如果要深入需要建立数据库还不够完备
在开数据库的可能看得到,有一个主关键字
数据库表里面能够为找到一条记录,这叫主关键字。主关键字是是唯一能够作区分的,区分不同,不同的表中的记录和记录之间区别。
比如:我报一个学号,如果在一个班级报一个学号,我说他点名,一定只有为一个人,不可能有多个人,因为学号在每个人身上都是唯一的,就像这里的主关键字。
2.2 设置主关键字
- 双击SID,点击左边红色框,会有一个Primary key
之后就会显示PK(上面单词缩写),这个就是它的主关键字
2.3 修改数据类型
比如选中SID,之后右边栏可以找到对应的type,进行反复修改
填写完左边也会对应显示
2.4 DDL生成数据库
上方任务栏点击tools—>Extensin Manager
搜索searchDDL 下载(可能下载失败,原因、、、、我的是多次打开关闭下载然后下好了)
下好之后,tools中就会多一个DDL,选择generate code,然后这个是可以这个图转换成SQL脚本
(下图中选对位置)
选好位置后,ok,保存到某个文件夹
打开这个文件(此处123),打开方式选择写字板
这个里面就有create table ,就是SQL语句里面的叫表的生成的这个代码,也就换句话说,我不需要用我们的可视化工具一个个去加字段。用了这个东西就很快,你把这段代码复制到那个工具里面运行,就可以表现出来。
3 StarUML中生成Java代码
eg 先作两个类图,然后可以做出继承关系(图中:子类指向父类)
添加一些数据ADD—>attribute,改名字name
ADD—>operation,改名字add
还是像刚刚下载DDL一样,下载Java (如果tools里面没有显示Java,重新打开软件就有了)
tools—>java—>generate code
之后在保存文件夹中
打开方式可以用写字板打开,就会显示
总结:这个工具可以帮助我们写程序
但以上只是一些简单的基本实用操作,可以继续学习
|