我最近建模了一个基本上涉及关联的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合作,我会在电话表中放置一个关键字,指的是卖家拥有手机的ID,但OO的概念让我怀疑这是在这里做到的正确方法。
我对UML有很好的理解,但这是我第一次尝试实现UML图并从数据库加载数据。有人可以帮我说一下这是正确的方法吗?
答案 0 :(得分:0)
我认为你真的需要阅读数据库理论。这是一个非常简单的模式来编写 - 几乎是一个模式的hello世界。不要认为它是UML或OO的术语 - 这些是思考数据的错误术语。您需要根据数据的组织方式进行思考。程序员的工作就是将其映射到对象中。
你有两张桌子。表一是卖家的表。它有一个id(这是你的主键),一个名字,一个密码(应该以散列形式存储,而不是以纯文本形式存储)。第二张表是手机。它有一个id(主键),一个数字和一个int类型的所有者字段,它是卖家ID的外键。
如果确实需要将数据加载到代码中,首先通过表1中的查询加载卖方结构(除阵列外)。然后查询表2以查找具有匹配卖家ID的所有手机,并循环返回将其添加到您的手机阵列。