对于学校项目,我应该设计上一学期项目的系统。我们正在使用UML,创建一个非常简单的用例图(没有<<extend>>
类型的废话,只是指向系统内部用例的actor),我们从中创建一个类图,然后是关系模型。
Use Case和Class Diagram尝试:
最后一张图是我最终认为可能是我的用例是问题。
我的应用程序可让人们/餐馆列出他们愿意捐赠的食物。为无家可归者提供食物的慈善机构。如果有匹配,慈善机构可以创建一条卡车路线,从所有比赛中获取食物。
我无法弄清楚如何表示匹配,以及FoodItems的这个钻石和匹配连接路线是否有意义。我知道继承在关系建模中通常是一个坏主意。这只是到处都有FK的问题吗?我觉得我在走路。
答案 0 :(得分:3)
此对象关系映射主题可能非常复杂。但是看看你的图表,这里有一个过于简单的拇指规则:
1 - 1..*
或1-0..*
),将1侧的主键(ID)作为外键添加到n侧的表中。这也适用于您的聚合。这称为foreign key mapping。 1..* - 1..*
),您需要添加一个关系表,其中包含两个链接表的ID(每个都定义为外键,并且两者一起作为组合主键)。这称为association table mapping。 ItemMatch
中的一对一聚合,我认为添加两个对应于foodItemID
的字段(使用不同的名称)就足够了。 0..*
关系补充读物: