-1

我最近建模了一个基本上涉及关联的 UML 图。假设代码是:

public class Seller{
    private int idSeller;
    private String name;
    private String passw;
    private List<Phone> phones = new ArrayList<Phone>();

    public Seller() {           
    }

    public Seller(int idSeller, String name, String passw, List<Phone>phones) {
        super();
        this.idSeller = idSeller;
        this.name = name;
        this.passw = passw;
        this.phones = phones;
    }

    //getters and setters
}

public class Phone {
    private int idPhone;
    private String description;
    private String number; //will have some chars in it

    public Phone() {
    }

    public Phone(int idPhone, String description, String number) {
        super();
        this.idPhone = idPhone;
        this.description = description;
        this.number = number;
    }

    //getters and setters
}

我不想限制卖家可以拥有的手机数量,而且这只是我整个代码的摘录。

现在,我需要创建我的 SQLite 数据库并将数据插入其中,但我对如何表示从 UML 到数据库的关联有点困惑。

如果我不使用 OO,我会在 Phone 表中放置一个外键,指代拥有手机的卖家 ID,但是 OO 的概念让我怀疑这是不是在这里做的正确方法。

我对 UML 有很好的理解,但这是我第一次尝试实现 UML 图并从数据库加载数据。有人可以帮我说什么是正确的方法吗?

4

1 回答 1

0

我认为您确实需要阅读数据库理论。这是一个非常简单的模式编写——几乎是模式的你好世界。不要认为它是 UML 或 OO 的术语——这些是思考数据的错误术语。您需要考虑如何组织数据。稍后将其映射到对象中是程序员的工作。

你有两张桌子。表一是卖方表。它有一个 id(这是您的主键)、一个名称、一个密码(应该以散列形式存储,而不是明文形式)。第二张桌子是电话。它有一个 id(主键)、一个数字和一个 int 类型的 owner 字段,该字段是卖方 id 的外键。

当您确实需要将数据加载到代码中时,首先您通过对表 1 的查询来加载卖方结构(数组除外)。然后您在表 2 中查询具有匹配卖方 ID 的所有电话,并循环返回添加它到你的手机阵列。

于 2013-05-08T19:02:04.600 回答