案例研究是:
地图系统是一家专门从事航运和打算的公司
获得有关处理和当前的最新信息
每个装运物品的位置。为此,地图系统
依赖于公司范围的信息系统。发货物品是
地图产品跟踪信息系统的核心。发货物品为
项目编号(唯一),重量,尺寸,保险的特点
金额,目的地和最终交货日期。发货物品是
在一个零售中心收到地图系统。零售
中心的特点是它们的类型,唯一ID和地址。
运送的物品通过一个或多个到达目的地
标准地图交通事件(即航班,卡车
这些交通事件的特点是独特的scheduleNumber,类型(例如航班,卡车)和deliveryRoute。
我设法完成了什么:
shipped_items retail_centre
item_number (Pk) retail_id (PK)
weight N:1 retail_type
dimensions --------- address
insurance_amount
destination
final_delivery_date |
| |
| |
| |
| |
| |
| transport_event |
| schedule_id |
------------ transport_type-------
N:M address 1:N
然而,他们的讲座说,当我开始绊倒时,我们不允许有多对多的关系。我考虑使用实体item_number,schedule_id和address添加order_item属性。请帮忙!
答案 0 :(得分:0)
很好尝试。首先,我认为根据业务案例,transport_event和retail_centre之间不应有任何关系。通过在两者之间创建桥实体,可以将多对多(N:M)关系转换为两个一对多(1:N)关系。例如,这个桥接实体说“路径”将继承关系中参与实体(shipping_item,transportation_event)的主键作为外键。
您可以具有路径(路径ID ,商品编号,时间表编号,来源,目的地)
斜体属性是外键。因此,路径将是这两种关系的多方面,因为它可以多次组合任意两个已运输的物品和运输事件。
希望有帮助。