1

MySQL データベースで表現しなければならないデータに関して、現在次の問題があります。

車、ホテルの部屋、本など、それぞれ異なるデータを持つさまざまな種類の製品をサポートする必要があります。私のアプリケーションには、名前、説明、価格など、各製品に共通のデータがあります。

そこで、共通のデータを持ち、車、ホテルの部屋、書籍など、この製品テーブルを 1 対 1 の関係で参照するあらゆるテーブルを持つ製品テーブルを用意することを考えています。

問題は、製品テーブルをマスター テーブルとして使用することです。そのため、製品テーブルにクエリを実行し、それらのクエリで「自動的に」余分なデータを取得できるため、アプリケーションをより「一般的」にすることができます。

これをどのように達成できるかについてのアイデアはありますか? 私にはいくつかのアイデアがありますが、それが最善の方法だとは思いません。また、この問題が私が思っているよりも一般的である可能性があるときに、汚いハックに行きたくありません.

使用: PHP + Zend フレームワーク + MySQL。

4

1 に答える 1

0

ベースオブジェクトを作成し、ポリモーフィズムを使用してそのベースオブジェクトをサブクラス化します。基本オブジェクトは、すべての共有データを(1つのテーブルに)格納します。次に、各サブクラスに固有のプロパティがあり、それらを個別のテーブルキーからベーステーブルに供給します。サブクラスが、親オブジェクトから共通データをロードできるだけでなく、固有/個別のデータをロードできるようにします。

于 2008-11-05T16:10:28.143 に答える