当地车库业主需要一个数据库管理系统来管理车库的运营, 促进高效的客户服务以及车辆记录和库存的维护。 在这个车库里,通常顾客会带着他们的车辆进行维修或保养。每个顾客都是 当他们在系统中注册时,他们会获得唯一的客户ID,并且他们还提供个人详细信息 例如姓名、地址和电话号码。客户可能拥有一辆或多辆车辆。每辆车 通过车辆 ID、品牌和型号进行识别。为了跟踪服务,需要准备工作订单。 每个工作订单由 OrderID 标识,包括要完成的工作的描述、其成本以及 执行日期。车辆及其相应的工单是链接的,客户也是如此 并且各个工单是关联的。存储执行各种任务所必需的零件 在系统中带有 PartID,以及它们的名称、部件号和成本。工单可能涉及 使用多个零件,建立工单和零件之间的关系,并进行管理 通过 WorkOrderPart 中介实体。
起初我以为 WorkOrderPart 是一个弱实体,然后我注意到据说它是一个中介实体
弱实体:弱实体是指不能仅通过自身属性唯一标识的实体。它依赖于另一个(强大的)实体来提供其部分密钥。例如,依赖实体需要来自另一个实体的外键来形成其主键。在您的情况下,如果 WorkOrderPart 是弱实体,则其主键将是 OrderID 和 PartID 的组合(即,取决于工作订单和零件)。
中间(关联)实体:此类实体用于表示两个其他实体之间的多对多关系。它通常包含来自两个关联实体(在本例中为 WorkOrder 和 Part)的外键。它通常不需要自己的身份,只需要外键的组合,并用于将实体关联或链接在一起,同时还可能保存与关系相关的附加属性(例如数量、使用日期等)。