-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 を使用していない場合は、電話を所有する販売者の ID を参照するフォアイング キーを Phone テーブルに配置しますが、OO の概念を考えると、これが正しい方法であるとは思えません。

UML についてはよく理解していますが、UML ダイアグラムを実装してデータベースからデータをロードするのは初めてです。誰かがそれを行う正しい方法を教えてくれませんか?

4

1 に答える 1

0

データベース理論をよく読む必要があると思います。これは非常に簡単に記述できるスキーマであり、スキーマの世界とほぼ同じです。UML や OO の用語だと考えないでください。これらは、データについて考える上で間違った用語です。データを整理する意味を考える必要があります。それを後でオブジェクトにマップするのはプログラマーの仕事です。

2 つのテーブルがあります。テーブル 1 は、Sellers のテーブルです。ID (主キー)、名前、パスワード (平文ではなくハッシュ形式で保存する必要があります) があります。2 番目のテーブルは電話のテーブルです。これには、ID (主キー)、番号、および販売者 ID の外部キーである int 型の所有者フィールドがあります。

データをコードにロードする必要がある場合は、最初にテーブル 1 のクエリによって (配列以外の) セラー構造をロードします。次に、一致するセラー ID を持つすべての電話についてテーブル 2 をクエリし、追加するリターンをループします。それをあなたの電話アレイに。

于 2013-05-08T19:02:04.600 に答える