2011-04-25 52 views
3

我有以下问题:ER建模问题

只使用二元关系,为下面的描述构造一个实体关系图。包括实体标签,主键字段,关系标签和关系的多重性。 “

”一家公司运行着多个汽车修理和服务车库,每个车库都有自己的唯一编号(gargNo)。当车主联系车库时,他们的详细信息会被记录下来,并被分配给车主否,他们的车也会注册该车库被分配了一个参考号码(车号),车主可以拥有一辆或多辆车,但一辆车只能在一个车库注册,当一辆车被预订到车库时,就会为其制定服务计划。服务计划对于特定的汽车来说可能是独一无二的(例如,治愈吱吱声的挡风玻璃刮水器),或者它可能是用于许多汽车的服务计划(例如标准的60000英里服务)任何服务计划可以包括一个或多个操作(更改机油,拆卸雨刮电机等),每种服务计划的操作类型都有一个唯一的编号(operationNo)

这就是我的回答:

enter image description here

所有数据库的老兵,这看起来好给你?

而且任何其他意见反馈,将不胜感激......

不HOMEWORK

编辑 - 人为什么要继续编辑职位,但作出任何改变?

回答

1

单凭完全是靠给出的要求,不顾一切可能的现实世界的并发症(如当老板从一个汽车移动他们的汽车服务到另一个会发生什么):

我就离开了公司。这里只提到过,并没有说明我们正在为多家公司录制数据。

车主和车库之间的关系是通过汽车。车主和车库之间没有直接关系。 (鉴于多个车库,确保一个给定的多车主出现一次在系统中执行将会非常棘手。)

汽车和车库之间的关系或许应该“注册”。严格的阅读意味着车主在与车主联系时与车库联系起来,而不是进入服务区。

您需要实体ServicePlanType [SPT]。大多数SPT是预先定义的,多辆车将使用特定的SPT(60,000英里的调整)。如果,如果,并根据需要添加其他SPT。可以为“标准”和“特设”子类型进行争论,但我认为他们会非常相似(基于操作),这不是必需的。然后:

  • 服务计划涉及到一辆车,和一个服务计划类型
  • 服务计划涉及到一个服务计划类型
  • 服务计划类型涉及到零个或多个服务计划(标准计划清单)
  • 服务计划类型涉及一个或多个操作(所有的操作都必须定义)

操作可以涉及零种或多个服务计划类型。鉴于对临时服务计划的需要,可能需要最初不属于任何特定服务计划的操作。 (也可以根据需要添加,这可能是可以接受的,我姐姐的沙鼠在学校回家的路上逃脱了一次,他们不得不拆掉部分车子把它拿出来,不收费,也许他们没有“提取沙鼠”在他们的数据库中。)(我不这样做。)

我不会涉及sevice计划类型或操作与车库。据推测,如果公司的一个车库可以做到,他们应该都可以做到,即使是临时的车库也行。

您不需要将服务计划与车库联系起来,因为服务计划所用的车辆与车库有关。有了这些说明,在物理实施的时候这样做可能会很好。另外,如果一辆汽车后来被带入第二个车库,汽车与车库之间的关系会发生变化,并且没有服务计划与车库的关系,那么您将失去跟前工作的人的踪迹。正确地说,我认为你应该将欧文模型化为汽车服务计划,但他们专门阐述了“汽车到车库”。提出这些问题,看看企业主说什么。

0

基于问题的陈述,我想出了以下内容:

enter image description here

我用如地址,OwnerDetails等,为简单起见通用领域。

编辑:很多之间的服务计划和操作的许多解释:

的操作“换油”,是服务计划的“30K维护”的一部分,“60K维护”和“换油” 。

当然,对于“30K维护”和“60K维护”的服务计划有多个操作(更换机油,加注制动液,检查轮胎压力,平衡和旋转轮胎)。

因此,服务计划和操作之间的关系是多对多的关系。

该结构是一个可以应用于VehicleService实例的模板。

+0

我错过了在服务计划和操作之间多对多的需求。但我仍然认为需要有某种形式的服务计划模板,允许服务计划重用,而不是每一个新进入vehicleService重新定义。 – 2011-04-26 22:01:56

+0

@Philip凯利:回答编辑 – 2011-04-27 11:06:29