我试图制作一个逻辑数据模型,但我不完全确定它是否正确建模。这是一个非常简洁和基本的模型,但总的来说我想知道它是否应该按照模型进行建模。
此外,如何在面向对象编程中将其转换为类模型?
我想我需要:
Class Customer: int id, string name
Class Order: int id, string date, Customer object
Class Item: int id, string itemName, string item Desc
Class OrderItem: ?
答案 0 :(得分:1)
对于您的数据模型,您不需要Orders
和Items
之间的关系线。您正在使用联结表Order_Items
来表示多对多关系。
对于类模型,您不需要类来建模联结表。您可以使用Item
课程中的Order
集合对其进行简单建模。 Order
和Item
类之间的关系是一种组合关系。您可以将其视为:Order
有一个Item
或Order
已收集的Item
。
以下是如何在java中为Order
类建模。
public class Order {
private int id;
private Date date;
private Customer customer;
private List<Item> items; // you could use other collection types as well.
...
}
编辑:
同样对于你们关系中的许多方面,你可以考虑使用“一对多”线(乌鸦脚有一条线)“而不是”零到多“(乌鸦脚有圆圈)。一个订单通常至少有1项和至少1位客户。订单不是没有客户或物品的订单。