0

私を信じてください、私はここで質問する前にこの問題について多くのことを考えました.解決策を得たと思います.

シナリオ:

ドメインには、治療、美容院、従業員の 3 つのエンティティがあります。美容院は 0 人から多数の従業員を雇うことができます。現在、ビューティーサロンには、顧客のためにできる可能性のあるトリートメントのリストがあります. 各治療には、説明、期間、および価格があります。各従業員は同様のリストを持っていますが、各従業員は各トリートメント (異なる価格または期間) を専門化したり、新しいトリートメントを追加したり、美容院から派生したトリートメントを「削除」したりできます。

.. これは私にとってかなり一般的な問題のように思えるので、誰かが何か賢いものを思いつくことを望んでいました :)

これまでのところ、各トリートメントに一意の ID を持たせ、従業員リストにショップからの ID と同じ ID を持つトリートメントを挿入することを考えています。これらの従業員の扱いは、同じ ID を持つ店のものを上書きします。

前もって感謝します

4

3 に答える 3

2

問題の客観的表現について話しているのでしょうか、それとも問題のデータベース表現について話しているのでしょうか? それが客観的な表現である場合、特殊な治療は一般的な治療のサブクラスであるべきです。

問題をリレーショナル データベースで表現すると、状況は少し難しくなります。

beautyshop ---= employee
beautyshop ---= treatment_type
treatment_type ---= treatment
employee =--= treatment

(---=は 1 対多、=--=多対多)。

しかし、美容院で利用できるトリートメントのリストを取得するにはどうすればよいでしょうか。私たちはしません。代わりに、すべてのビューティー ショップの従業員から利用可能なトリートメントのリストを取得します。とはいえ、美容院に従業員がいない場合、トリートメントは提供されません。

テーブルで null フィールドを使用treatmentして、特定の従業員がデフォルト プロパティでこの待遇を提供していることを示すことができます。特定の美容院の治療タイプのデフォルトが変更された場合、すべての治療が更新されます。

于 2009-05-23T18:42:49.667 に答える
1

クラスへの参照をTreatments追加することにより、ある種の継承/特殊化メカニズムをに追加することをお勧めします。標準のセットがあり、それぞれがそれらを選択してカスタマイズできます。s は明示的に何も保存しません。一時的で揮発性のメソッドは、関連付けられた を反復処理し、each によって提供されるの親を集約します。parentTreatmentTreatmentTreatmentsEmployeeBeautySalonTreatmentsgetAvailableTreatments()EmployeesTreatmentsTreatmentsEmployee

于 2009-05-23T18:43:27.077 に答える
0

同じ ID で異なる治療を行いたいのはなぜですか?

「カスタム処理」ID を設定したいと思います。

于 2009-05-23T16:37:02.603 に答える