0

相信我,在问这里之前我已经对这个问题进行了很多思考,我想我已经找到了解决方案,但我想看看你们在解决我自己的问题之前能想出什么:)

设想:

在域中,我们有 3 个实体:一个治疗、一个美容店和一个员工。一家美容店可以雇佣 0 到多名员工。现在,美容院列出了可以为顾客提供的一系列治疗方法。每种治疗都有描述、持续时间和价格。每个员工都有一个类似的列表,但每个员工可以专门针对每种治疗(不同的价格或持续时间),添加新的治疗或“删除”美容店的治疗。

..这对我来说似乎是一个相当普遍的问题,所以我希望有人能想出一些聪明的东西:)

到目前为止,我正在考虑让每个治疗都有一个唯一的 id,然后让员工列表自己插入治疗,这将与商店中的治疗具有相同的 id。然后,这些员工待遇将覆盖具有相同 ID 的商店。

提前致谢

4

3 回答 3

2

我们是在谈论问题的客观表示还是问题的数据库表示?如果它是客观的表示,那么专门的治疗应该只是通用治疗的一个子类

对于问题的关系数据库表示,事情变得有点困难:

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

---=是一对多,=--=是多对多)。

但是我们如何获得美容店提供的治疗清单呢?我们没有。相反,我们会从所有美容店员工那里获得一份治疗清单。也就是说,如果一家美容店的员工人数为 0,则它不提供任何治疗服务。

您可以使用treatment表中的空字段来指示特定员工使用默认属性进行此处理。如果特定美容店的治疗类型的默认值发生变化,则所有治疗都会更新。

于 2009-05-23T18:42:49.667 回答
1

我建议Treatments通过添加parentTreatment对类的引用来添加某种继承/专业化机制Treatment。您将拥有一组标准Treatments,并且每个Employee都可以选择和自定义它们。BeautySalons 不会显式存储任何,Treatments瞬态和易失getAvailableTreatments()方法将遍历关联Employees并聚合each 提供的父Treatments级。TreatmentsEmployee

于 2009-05-23T18:43:27.077 回答
0

为什么要对同一个ID进行不同的处理?

我宁愿设置一个“自定义处理”ID。

于 2009-05-23T16:37:02.603 回答