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

参考文献 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。