程序员

UML学习笔记——由类图到表设计

2020-05-26  本文已影响0人  锦男

参考文献 Database design with UML and SQL

继承(subclass)

incorrect


image.png

correct


image.png
其实就是把共性部分抽出来,个性化部分在各自的表
image.png

聚合(aggregation)

image.png image.png

可以看到,这个设计,其实就是一对多。另外留意到components这个表,主键是4个字段组成,所以,不要嫌字段多,该怎样就怎样

递归(recurrsive association)

incorrect


image.png

correct


image.png
表现为一个自环。
看表设计会更清晰,managerId也是employeeId,也来自于employeeId:
image.png

另一种方式更好,用专门的表来记录上下级关系,而且支持多对多:


image.png

UML一些经典实例

多对多

通常的做法是定义一个专门的类来维护这个关系,举例:

员工与公司

假设员工可以受雇于多个公司


账户与基金

image.png

递归(自环)

文件与文件夹

文件夹其实是一种特殊的文件


image.png

这篇文章介绍了文件与文件夹的另一种画法,我觉得它不如前面的画法:

image.png
上一篇 下一篇

猜你喜欢

热点阅读