销售系统数据模型(逻辑)

时间:2017-05-14 17:42:57

标签: data-modeling object-oriented-analysis

我试图制作一个逻辑数据模型,但我不完全确定它是否正确建模。这是一个非常简洁和基本的模型,但总的来说我想知道它是否应该按照模型进行建模。

Data Model - Sales system

此外,如何在面向对象编程中将其转换为类模型? 我想我需要:

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: ?

1 个答案:

答案 0 :(得分:1)

对于您的数据模型,您不需要OrdersItems之间的关系线。您正在使用联结表Order_Items来表示多对多关系。

对于类模型,您不需要类来建模联结表。您可以使用Item课程中的Order集合对其进行简单建模。 OrderItem类之间的关系是一种组合关系。您可以将其视为:Order有一个ItemOrder已收集的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位客户。订单不是没有客户或物品的订单。