我的思维过程是,运送的物品需要经过运输事件才能到达特定的零售中心。
您似乎误读了规范。物品被带到 UPS 零售中心,然后运送到目的地。但是让我们考虑一下三元关系,即已发货的物品需要经过运输事件才能到达特定的地点目的地.
这是这三个实体之间许多可以想象的关系之一。
该图不是说零售中心接收已发货的物品并且已发货的物品发生运输事件吗?
是的,它确实。但是三元关系可以用这些图二元关系来表达。 (反之则不然。)
每个表(基本变量或查询结果)都包含参与某些特定关系的行。我们可以通过以下方式来描述这种关系:谓词 https://stackoverflow.com/a/33952141/3404097-- 由属性参数化的语句模板。
表保存其属性值根据其谓词得出 true 语句的行。基本变量的谓词由 DBA 给出。
-- shipped item ItemNumber is received by retail center UniqueId
SELECT * FROM ReceivedFrom
-- shipped item ItemNumber takes transportation event ScheduleNumber
SELECT * FROM ShippedVia
查询表达式的谓词是根据其运算符和参数构建的。例如,两个表的 NATURAL JOIN 的谓词是表谓词的 AND。
-- shipped item ItemNumber is received by retail center UniqueId
and takes transportation event ScheduleNumber
SELECT * FROM ReceivedFrom NATURAL JOIN ShippedVia
当然,您对三元关系的特定概念可能不是这个确切的查询/表。但实际的 UPS 数据库将具有基本关系表,可以用这些表来表达任何相关关系。
(当可能且有帮助时,规范化会将“... AND ...”形式的谓词拆分为“...”的单独谓词;原始表由组件的 JOIN 返回。)