2

製品とタイプの 2 つのテーブルしかないアプリケーションがあります。各製品は複数のタイプを属性として持つことができます。データベースを正規化することにし、製品とタイプの関係を保持する別のテーブルを作成しました。

(免責事項:私はオブジェクト指向プログラミングに比較的慣れていません)。製品のクラスとタイプのクラスがあります。データベースにあるすべてのテーブルに対してクラスを作成する必要があると言われました。これは、正規化のために作成されたテーブルにも当てはまりますか? もしそうなら - これに対処する最善の方法は何ですか - どうにかしてこの 3 番目のクラスで他の両方のクラスを呼び出すか、独立したクラスのままにし、Web ページ上の実際のフォームを通じて情報交換を管理するだけでよいでしょうか?

4

2 に答える 2

1

product_types テーブルが外部キーのみを保持する場合、それを独自のクラスにマップする必要はありません。これはテーブル間の多対多の関係を定義しているため、製品クラスにメソッドを提供してタイプを取得できます。

getTypes() {
    // retrieve the types for this product and return
}

次に、types オブジェクトに反対のメソッドを追加して、製品を取得します。

getProducts() {
    // retrieve the products for this type and return
}
于 2013-06-27T20:20:34.773 に答える